The DSL-2740B/DSL-2741B rev C2 support was missing the board definition,
resulting in a kernel panic on boot.
This patch adds it, and also renames the generated image name to properly
reflect that it is for the revision C2, and for both the DSL-2740B and
DSL-2741B.

Signed-off-by: Jonas Gorski <jonas.gorski+open...@gmail.com>
---
v2 -> v3:
 * Add it to brcm63xx_detect to make the led and the fail-safe work
 * Fix the GPIOs and their polarity
 * Fix the power led trigger name
v1 -> v2:
 * Add a defconfig since it actually doesn't work without it

 .../base-files/etc/defconfig/96358GW/network       |   14 ++++
 target/linux/brcm63xx/base-files/lib/brcm63xx.sh   |    5 ++
 target/linux/brcm63xx/image/Makefile               |    4 +-
 .../patches-2.6.35/400-board_96358gw.patch         |   70 ++++++++++++++++++++
 4 files changed, 91 insertions(+), 2 deletions(-)
 create mode 100644 
target/linux/brcm63xx/base-files/etc/defconfig/96358GW/network
 create mode 100644 target/linux/brcm63xx/patches-2.6.35/400-board_96358gw.patch

diff --git a/target/linux/brcm63xx/base-files/etc/defconfig/96358GW/network 
b/target/linux/brcm63xx/base-files/etc/defconfig/96358GW/network
new file mode 100644
index 0000000..a35fd2e
--- /dev/null
+++ b/target/linux/brcm63xx/base-files/etc/defconfig/96358GW/network
@@ -0,0 +1,14 @@
+# Copyright (C) 2006 OpenWrt.org
+
+config interface loopback
+       option ifname   lo
+       option proto    static
+       option ipaddr   127.0.0.1
+       option netmask  255.0.0.0
+
+config interface lan
+       option ifname   eth0
+       option type     bridge
+       option proto    static
+       option ipaddr   192.168.1.1
+       option netmask  255.255.255.0
diff --git a/target/linux/brcm63xx/base-files/lib/brcm63xx.sh 
b/target/linux/brcm63xx/base-files/lib/brcm63xx.sh
index 7b46b5a..bacd666 100755
--- a/target/linux/brcm63xx/base-files/lib/brcm63xx.sh
+++ b/target/linux/brcm63xx/base-files/lib/brcm63xx.sh
@@ -25,6 +25,11 @@ brcm63xx_detect() {
                brcm63xx_has_reset_button="true"
                ifname=eth1
                ;;
+       "bcm63xx/96358GW "*)
+               status_led="power:green"
+               brcm63xx_has_reset_button="true"
+               ifname=eth0
+               ;;
        *)
                ;;
        esac
diff --git a/target/linux/brcm63xx/image/Makefile 
b/target/linux/brcm63xx/image/Makefile
index be96a5f..588745c 100644
--- a/target/linux/brcm63xx/image/Makefile
+++ b/target/linux/brcm63xx/image/Makefile
@@ -153,8 +153,8 @@ define Image/Build
        $(call Image/Build/CFE,$(1),96348GW-10,6348,F5D7633)
        # D-Link DSL-2640B
        $(call Image/Build/CFE,$(1),D-4P-W,6348,DSL2640B)
-       # D-Link DSL-2740B
-       $(call Image/Build/CFE,$(1),96358GW,6358,DSL2740B)
+       # D-Link DSL-2740B/DSL-2741B, rev C2
+       $(call Image/Build/CFE,$(1),96358GW,6358,DSL274XB-C2)
 
        # TP-Link TD-8810A, TD-8810B, TD-8811A, TD-8811B
        $(call Image/Build/CFE,$(1),8L-2M-8M,6338,TP8810_8811)
diff --git a/target/linux/brcm63xx/patches-2.6.35/400-board_96358gw.patch 
b/target/linux/brcm63xx/patches-2.6.35/400-board_96358gw.patch
new file mode 100644
index 0000000..693ef9e
--- /dev/null
+++ b/target/linux/brcm63xx/patches-2.6.35/400-board_96358gw.patch
@@ -0,0 +1,70 @@
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -577,6 +577,59 @@ static struct board_info __initdata boar
+  * known 6358 boards
+  */
+ #ifdef CONFIG_BCM63XX_CPU_6358
++
++static struct board_info __initdata board_96358gw = {
++      .name                           = "96358GW",
++      .expected_cpu_id                = 0x6358,
++
++      .has_uart0                      = 1,
++      .has_enet1                      = 1,
++      .has_pci                        = 1,
++
++      .enet1 = {
++              .force_speed_100        = 1,
++              .force_duplex_full      = 1,
++      },
++
++      .leds = {
++              {
++                      .name           = "power:green",
++                      .gpio           = 5,
++                      .active_low     = 1,
++                      .default_trigger = "default-on",
++              },
++              {
++                      .name           = "power:red",
++                      .gpio           = 4,
++                      .active_low     = 1,
++              },
++              {
++                      .name           = "adsl",
++                      .gpio           = 9,
++                      .active_low     = 1,
++              },
++              {
++                      .name           = "internet:green",
++                      .gpio           = 2,
++              },
++              {
++                      .name           = "internet:red",
++                      .gpio           = 10,
++              },
++      },
++
++      .buttons = {
++              {
++                      .desc           = "reset",
++                      .gpio           = 34,
++                      .active_low     = 1,
++                      .type           = EV_KEY,
++                      .code           = KEY_RESTART,
++                      .threshold      = 3,
++              },
++      },
++};
++
+ static struct board_info __initdata board_96358vw = {
+       .name                           = "96358VW",
+       .expected_cpu_id                = 0x6358,
+@@ -1356,6 +1409,7 @@ static const struct board_info __initdat
+ #endif
+ 
+ #ifdef CONFIG_BCM63XX_CPU_6358
++      &board_96358gw,
+       &board_96358vw,
+       &board_96358vw2,
+       &board_AGPFS0,
-- 
1.5.6.5

_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to