brcm63xx: Add support for ZyXEL P870HW-51a v2
authorjogo <jogo@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sun, 27 Jul 2014 17:44:53 +0000 (17:44 +0000)
committerjogo <jogo@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sun, 27 Jul 2014 17:44:53 +0000 (17:44 +0000)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41850 3c298f89-4303-0410-b956-a3cf2f4a3e73

target/linux/brcm63xx/base-files/etc/uci-defaults/02_network
target/linux/brcm63xx/base-files/etc/uci-defaults/09_fix_crc
target/linux/brcm63xx/base-files/lib/brcm63xx.sh
target/linux/brcm63xx/image/Makefile
target/linux/brcm63xx/patches-3.10/564-board_P870HW-51a_v2.patch [new file with mode: 0644]
target/linux/brcm63xx/patches-3.14/564-board_P870HW-51a_v2.patch [new file with mode: 0644]

index aa32099..964f5ba 100755 (executable)
@@ -85,7 +85,8 @@ DVG3810BN)
 96368M-1541N |\
 96368MVNgr |\
 "F@ST2504n" |\
-"F@ST2704V2")
+"F@ST2704V2" |\
+P870HW-51a_v2)
        ucidef_set_interface_lan "eth0.1"
        ucidef_add_switch "eth0" "1" "1"
        ucidef_add_switch_vlan "eth0" "1" "0 1 2 3 8t"
index 9c966e7..560bb20 100755 (executable)
@@ -27,6 +27,7 @@ case "$board_name" in
        CPVA642 |\
        CT6373-1 |\
        MAGIC |\
+       P870HW-51a_v2 |\
        RTA770BW |\
        RTA770W |\
        V2110 |\
index 74e6a0d..1029fe3 100755 (executable)
@@ -135,6 +135,11 @@ brcm63xx_detect() {
                brcm63xx_has_reset_button="true"
                ifname=eth0
                ;;
+       P870HW-51a_v2)
+               brcm63xx_has_reset_button="true"
+               status_led="P870HW-51a:green:power"
+               ifname="eth0"
+               ;;
        RTA770BW)
                brcm63xx_has_reset_button="true"
                status_led="RTA770BW:green:diag"
index f36d182..680cf97 100755 (executable)
@@ -111,6 +111,20 @@ define Image/Build/SPW303V
        rm -f $(BIN_DIR)/openwrt-$(4)-$(1)-cfe.bin.tmp
 endef
 
+define Image/Build/ZyXEL
+       # Generate the tagged image
+       $(STAGING_DIR_HOST)/bin/imagetag -i $(KDIR)/vmlinux.lzma.cfe -f $(KDIR)/root.$(1) \
+               --output $(BIN_DIR)/openwrt-$(5)-$(1).tmp \
+               --boardid $(2) --chipid $(4) --entry $(KERNEL_ENTRY) \
+               --load-addr $(LOADADDR) --rsa-signature "$(6)" \
+               --info1 "+$(call Image/LimitName16,$(3))" --info2 $(1) \
+               $(7) $(8) $(9) $(10)
+       # Fix up header
+       $(STAGING_DIR_HOST)/bin/zyxbcm -i $(BIN_DIR)/openwrt-$(5)-$(1).tmp \
+               -o $(BIN_DIR)/openwrt-$(5)-$(1)-cfe.bin
+       rm -f $(BIN_DIR)/openwrt-$(5)-$(1).tmp
+endef
+
 define Image/Build/CFEOLD
        $(TOPDIR)/scripts/brcmImage.pl -t -p    \
                -b $(2) -c $(3)                 \
@@ -215,6 +229,8 @@ define Image/Build
        $(call Image/Build/CFEFIXUP,$(1),96348GW,GW6200,6348,GW6200,$(shell printf '\x99'))
        # Neufbox4
        $(call Image/Build/CFE,$(1),96358VW,6358,NEUFBOX4,OpenWRT-$(REVISION))
+       # Zyxel P870HW-51a v2
+       $(call Image/Build/ZyXEL,$(1),96368VVW,P870HW-51a_v2,6368,P870HW-51a_v2,ZyXEL,--signature "ZyXEL_0001")
 
        # Neufbox6
        $(call Image/Build/CFE,$(1),NB6-SER-r0,6362,NEUFBOX6,OpenWRT-$(REVISION))
diff --git a/target/linux/brcm63xx/patches-3.10/564-board_P870HW-51a_v2.patch b/target/linux/brcm63xx/patches-3.10/564-board_P870HW-51a_v2.patch
new file mode 100644 (file)
index 0000000..2492e5e
--- /dev/null
@@ -0,0 +1,100 @@
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -4450,6 +4450,89 @@ static struct board_info __initdata boar
+       .has_ehci0 = 1,
+ };
++static struct board_info __initdata board_P870HW51A_V2 = {
++      .name                           = "P870HW-51a_v2",
++      .expected_cpu_id                = 0x6368,
++
++      .has_uart0                      = 1,
++      .has_pci                        = 1,
++      .has_ohci0                      = 1,
++      .has_ehci0                      = 1,
++
++      .has_enetsw                     = 1,
++      .enetsw = {
++              .used_ports = {
++                      [0] = {
++                              .used   = 1,
++                              .phy_id = 1,
++                              .name   = "port1",
++                      },
++                      [1] = {
++                              .used   = 1,
++                              .phy_id = 2,
++                              .name   = "port2",
++                      },
++                      [2] = {
++                              .used   = 1,
++                              .phy_id = 3,
++                              .name   = "port3",
++                      },
++                      [3] = {
++                              .used   = 1,
++                              .phy_id = 4,
++                              .name   = "port4",
++                      },
++              },
++      },
++
++      .leds = {
++              {
++                      .name           = "P870HW-51a:green:power",
++                      .gpio           = 0,
++                      .default_trigger = "default-on",
++              },
++              {
++                      .name           = "P870HW-51a:green:dsl",
++                      .gpio           = 2,
++                      .active_low     = 1,
++              },
++              {
++                      .name           = "P870HW-51a:green:inet",
++                      .gpio           = 22,
++                      .active_low     = 1,
++              },
++              {
++                      .name           = "P870HW-51a:orange:wps",
++                      .gpio           = 24,
++                      .active_low     = 1,
++              },
++              {
++                      .name           = "P870HW-51a:red:inet",
++                      .gpio           = 33,
++                      .active_low     = 1,
++              },
++      },
++
++      .buttons = {
++              {
++                      .desc           = "reset",
++                      .gpio           = 34,
++                      .type           = EV_KEY,
++                      .code           = KEY_RESTART,
++                      .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
++                      .active_low     = 1,
++              },
++              {
++                      .desc           = "wps",
++                      .gpio           = 35,
++                      .type           = EV_KEY,
++                      .code           = KEY_WPS_BUTTON,
++                      .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
++                      .active_low     = 1,
++              },
++      },
++};
++
+ static struct board_info __initdata board_VR3025u = {
+       .name                                   = "96368M-1541N",
+       .expected_cpu_id                = 0x6368,
+@@ -5109,6 +5192,7 @@ static const struct board_info __initcon
+ #ifdef CONFIG_BCM63XX_CPU_6368
+       &board_96368mvwg,
+       &board_96368mvngr,
++      &board_P870HW51A_V2,
+       &board_VR3025u,
+       &board_VR3025un,
+       &board_WAP5813n,
diff --git a/target/linux/brcm63xx/patches-3.14/564-board_P870HW-51a_v2.patch b/target/linux/brcm63xx/patches-3.14/564-board_P870HW-51a_v2.patch
new file mode 100644 (file)
index 0000000..bb910ad
--- /dev/null
@@ -0,0 +1,100 @@
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -4460,6 +4460,89 @@ static struct board_info __initdata boar
+       .has_ehci0 = 1,
+ };
++static struct board_info __initdata board_P870HW51A_V2 = {
++      .name                           = "P870HW-51a_v2",
++      .expected_cpu_id                = 0x6368,
++
++      .has_uart0                      = 1,
++      .has_pci                        = 1,
++      .has_ohci0                      = 1,
++      .has_ehci0                      = 1,
++
++      .has_enetsw                     = 1,
++      .enetsw = {
++              .used_ports = {
++                      [0] = {
++                              .used   = 1,
++                              .phy_id = 1,
++                              .name   = "port1",
++                      },
++                      [1] = {
++                              .used   = 1,
++                              .phy_id = 2,
++                              .name   = "port2",
++                      },
++                      [2] = {
++                              .used   = 1,
++                              .phy_id = 3,
++                              .name   = "port3",
++                      },
++                      [3] = {
++                              .used   = 1,
++                              .phy_id = 4,
++                              .name   = "port4",
++                      },
++              },
++      },
++
++      .leds = {
++              {
++                      .name           = "P870HW-51a:green:power",
++                      .gpio           = 0,
++                      .default_trigger = "default-on",
++              },
++              {
++                      .name           = "P870HW-51a:green:dsl",
++                      .gpio           = 2,
++                      .active_low     = 1,
++              },
++              {
++                      .name           = "P870HW-51a:green:inet",
++                      .gpio           = 22,
++                      .active_low     = 1,
++              },
++              {
++                      .name           = "P870HW-51a:orange:wps",
++                      .gpio           = 24,
++                      .active_low     = 1,
++              },
++              {
++                      .name           = "P870HW-51a:red:inet",
++                      .gpio           = 33,
++                      .active_low     = 1,
++              },
++      },
++
++      .buttons = {
++              {
++                      .desc           = "reset",
++                      .gpio           = 34,
++                      .type           = EV_KEY,
++                      .code           = KEY_RESTART,
++                      .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
++                      .active_low     = 1,
++              },
++              {
++                      .desc           = "wps",
++                      .gpio           = 35,
++                      .type           = EV_KEY,
++                      .code           = KEY_WPS_BUTTON,
++                      .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
++                      .active_low     = 1,
++              },
++      },
++};
++
+ static struct board_info __initdata board_VR3025u = {
+       .name                                   = "96368M-1541N",
+       .expected_cpu_id                = 0x6368,
+@@ -5119,6 +5202,7 @@ static const struct board_info __initcon
+ #ifdef CONFIG_BCM63XX_CPU_6368
+       &board_96368mvwg,
+       &board_96368mvngr,
++      &board_P870HW51A_V2,
+       &board_VR3025u,
+       &board_VR3025un,
+       &board_WAP5813n,