brcm63xx: Add support for ZyXEL P870HW-51a v2

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 41850
This commit is contained in:
Jonas Gorski 2014-07-27 17:44:53 +00:00
parent b8f5c43748
commit c27cb6e0fd
6 changed files with 224 additions and 1 deletions

View file

@ -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"

View file

@ -27,6 +27,7 @@ case "$board_name" in
CPVA642 |\
CT6373-1 |\
MAGIC |\
P870HW-51a_v2 |\
RTA770BW |\
RTA770W |\
V2110 |\

View file

@ -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"

View file

@ -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))

View file

@ -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,

View file

@ -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,