aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm63xx
diff options
context:
space:
mode:
authorDaniel Dickinson <crazycshore@gmail.com>2010-12-07 15:15:54 +0000
committerDaniel Dickinson <crazycshore@gmail.com>2010-12-07 15:15:54 +0000
commit8f9b14dafef1e9e2117edc1004e452d5d2a0782d (patch)
tree0f02a4a4ba00c81e301f76984518a8456ade119d /target/linux/brcm63xx
parent3baa168e09979e2449c31c1a580a64c491248b6b (diff)
downloadupstream-8f9b14dafef1e9e2117edc1004e452d5d2a0782d.tar.gz
upstream-8f9b14dafef1e9e2117edc1004e452d5d2a0782d.tar.bz2
upstream-8f9b14dafef1e9e2117edc1004e452d5d2a0782d.zip
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
Diffstat (limited to 'target/linux/brcm63xx')
-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,