aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Dickinson <daniel@cshore.neomailbox.net>2010-12-07 15:15:54 +0000
committerDaniel Dickinson <daniel@cshore.neomailbox.net>2010-12-07 15:15:54 +0000
commit194d1e24c013283ea5149af702ebe04626f7f862 (patch)
treea504c3e8547774a77c6943f6cc9588dee2ab86db
parentefe3905b6cf2532074fd41f958b9211f57a1bd4a (diff)
downloadupstream-194d1e24c013283ea5149af702ebe04626f7f862.tar.gz
upstream-194d1e24c013283ea5149af702ebe04626f7f862.tar.bz2
upstream-194d1e24c013283ea5149af702ebe04626f7f862.zip
[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 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,