summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcshore <cshore@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-12-07 15:15:54 +0000
committercshore <cshore@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-12-07 15:15:54 +0000
commit6e4ddb80d8bd4a75d57701256b682ae699a7931e (patch)
treea504c3e8547774a77c6943f6cc9588dee2ab86db
parent332453076d0e91f49e03509bfbe3041357588400 (diff)
[brcm63xx] boards: Added GW6x00 fixups and GPIOs. The GW6200 GPIOs are different than the reference design 96348GW so we use fixup to allow us to define the correct ones, also the GW6000 has no GPIO-controlled leds.
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24305 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rwxr-xr-xtarget/linux/brcm63xx/base-files/lib/brcm63xx.sh10
-rw-r--r--target/linux/brcm63xx/image/Makefile4
-rw-r--r--target/linux/brcm63xx/patches-2.6.35/430-board_gw6200_gw6000.patch129
3 files changed, 141 insertions, 2 deletions
diff --git a/target/linux/brcm63xx/base-files/lib/brcm63xx.sh b/target/linux/brcm63xx/base-files/lib/brcm63xx.sh
index 25f2ab47e..e2c563460 100755
--- a/target/linux/brcm63xx/base-files/lib/brcm63xx.sh
+++ b/target/linux/brcm63xx/base-files/lib/brcm63xx.sh
@@ -19,6 +19,16 @@ brcm63xx_detect() {
brcm63xx_has_reset_button="true"
ifname=eth1
;;
+ "bcm63xx/GW6000 "*)
+ brcm63xx_has_reset_button="true"
+ ifname=eth1
+ ;;
+ "bcm63xx/GW6200 "*)
+ status_led="line1"
+ status_led2="tel"
+ brcm63xx_has_reset_button="true"
+ ifname=eth1
+ ;;
"bcm63xx/96348GW-11 "*)
status_led="power"
brcm63xx_has_reset_button="true"
diff --git a/target/linux/brcm63xx/image/Makefile b/target/linux/brcm63xx/image/Makefile
index 3f532f0b1..25c9b36a4 100644
--- a/target/linux/brcm63xx/image/Makefile
+++ b/target/linux/brcm63xx/image/Makefile
@@ -146,9 +146,9 @@ define Image/Build
# RTA1025W_16 (numerous routers)
$(call Image/Build/CFE,$(1),RTA1025W_16,6348,RTA1025W_16,,--layoutver 5)
# Tecom GW6000
- $(call Image/Build/CFE,$(1),96348GW,6348,GW6000)
+ $(call Image/Build/CFEFIXUP,$(1),96348GW,6348,GW6000)
# Tecom GW6200
- $(call Image/Build/CFE,$(1),96348GW,6348,GW6200,$(shell printf '\x99'))
+ $(call Image/Build/CFEFIXUP,$(1),96348GW,6348,GW6200,$(shell printf '\x99'))
# Neufbox4
$(call Image/Build/CFE,$(1),96358VW,6358,NEUFBOX4,OpenWRT-$(REVISION))
# Comtrend 536, 5621
diff --git a/target/linux/brcm63xx/patches-2.6.35/430-board_gw6200_gw6000.patch b/target/linux/brcm63xx/patches-2.6.35/430-board_gw6200_gw6000.patch
new file mode 100644
index 000000000..2e2398eb8
--- /dev/null
+++ b/target/linux/brcm63xx/patches-2.6.35/430-board_gw6200_gw6000.patch
@@ -0,0 +1,129 @@
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -432,6 +432,117 @@ static struct board_info __initdata boar
+ },
+ };
+
++static struct board_info __initdata board_gw6200 = {
++ .name = "GW6200",
++ .expected_cpu_id = 0x6348,
++
++ .has_uart0 = 1,
++ .has_enet0 = 1,
++ .has_enet1 = 1,
++ .has_pci = 1,
++
++ .enet0 = {
++ .has_phy = 1,
++ .use_internal_phy = 1,
++ },
++ .enet1 = {
++ .force_speed_100 = 1,
++ .force_duplex_full = 1,
++ },
++
++ .has_ohci0 = 1,
++
++ .has_dsp = 1,
++ .dsp = {
++ .gpio_rst = 8, /* FIXME: What is real GPIO here? */
++ .gpio_int = 34,
++ .ext_irq = 2,
++ .cs = 2,
++ },
++
++ .leds = {
++ {
++ .name = "line1",
++ .gpio = 4,
++ .active_low = 1,
++ },
++ {
++ .name = "line2",
++ .gpio = 5,
++ .active_low = 1,
++ },
++ {
++ .name = "line3",
++ .gpio = 6,
++ .active_low = 1,
++ },
++ {
++ .name = "tel",
++ .gpio = 7,
++ .active_low = 1,
++ },
++ {
++ .name = "ethernet",
++ .gpio = 35,
++ .active_low = 1,
++ },
++ },
++ .buttons = {
++ {
++ .desc = "reset",
++ .gpio = 36,
++ .active_low = 1,
++ .type = EV_KEY,
++ .code = KEY_RESTART,
++ .threshold = 3,
++ },
++ },
++};
++
++static struct board_info __initdata board_gw6000 = {
++ .name = "GW6000",
++ .expected_cpu_id = 0x6348,
++
++ .has_uart0 = 1,
++ .has_enet0 = 1,
++ .has_enet1 = 1,
++ .has_pci = 1,
++
++ .enet0 = {
++ .has_phy = 1,
++ .use_internal_phy = 1,
++ },
++ .enet1 = {
++ .force_speed_100 = 1,
++ .force_duplex_full = 1,
++ },
++
++ .has_ohci0 = 1,
++
++ .has_dsp = 1,
++ .dsp = {
++ .gpio_rst = 6,
++ .gpio_int = 34,
++ .ext_irq = 2,
++ .cs = 2,
++ },
++
++ /* GW6000 has no GPIO-controlled leds */
++
++ .buttons = {
++ {
++ .desc = "reset",
++ .gpio = 36,
++ .active_low = 1,
++ .type = EV_KEY,
++ .code = KEY_RESTART,
++ .threshold = 3,
++ },
++ },
++};
++
++
++
+ static struct board_info __initdata board_FAST2404 = {
+ .name = "F@ST2404",
+ .expected_cpu_id = 0x6348,
+@@ -1521,6 +1632,8 @@ static const struct board_info __initdat
+ #ifdef CONFIG_BCM63XX_CPU_6348
+ &board_96348r,
+ &board_96348gw,
++ &board_gw6000,
++ &board_gw6200,
+ &board_96348gw_10,
+ &board_96348gw_11,
+ &board_FAST2404,