From 8f9b14dafef1e9e2117edc1004e452d5d2a0782d Mon Sep 17 00:00:00 2001 From: Daniel Dickinson Date: Tue, 7 Dec 2010 15:15:54 +0000 Subject: [PATCH] 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. SVN-Revision: 24305 --- .../linux/brcm63xx/base-files/lib/brcm63xx.sh | 10 ++ target/linux/brcm63xx/image/Makefile | 4 +- .../430-board_gw6200_gw6000.patch | 129 ++++++++++++++++++ 3 files changed, 141 insertions(+), 2 deletions(-) create mode 100644 target/linux/brcm63xx/patches-2.6.35/430-board_gw6200_gw6000.patch diff --git a/target/linux/brcm63xx/base-files/lib/brcm63xx.sh b/target/linux/brcm63xx/base-files/lib/brcm63xx.sh index 25f2ab47e6..e2c563460a 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 3f532f0b1d..25c9b36a49 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 0000000000..2e2398eb8e --- /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,