Browse Source

brcm63xx: Add support for Huawei HG520v

Signed-off-by: Álvaro Fernández Rojas <[email protected]>
Signed-off-by: Jonas Gorski <[email protected]>

SVN-Revision: 41851
Jonas Gorski 11 years ago
parent
commit
3209fb968e

+ 2 - 1
target/linux/brcm63xx/base-files/etc/uci-defaults/02_network

@@ -70,7 +70,8 @@ HW556*)
 	;;
 
 NB4-* |\
-DVG3810BN)
+DVG3810BN |\
+HW6358GW_B)
 	ucidef_set_interfaces_lan_wan "eth1.1" "eth0"
 	ucidef_add_switch "eth1" "1" "1"
 	ucidef_add_switch_vlan "eth1" "1" "0 1 2 3 4 5t"

+ 5 - 0
target/linux/brcm63xx/base-files/lib/brcm63xx.sh

@@ -131,6 +131,11 @@ brcm63xx_detect() {
 		brcm63xx_has_reset_button="true"
 		ifname=eth0
 		;;
+	HW6358GW_B)
+		status_led="HW520:green:net"
+		brcm63xx_has_reset_button="true"
+		ifname="eth0"
+		;;
 	NB6)
 		brcm63xx_has_reset_button="true"
 		ifname=eth0

+ 3 - 0
target/linux/brcm63xx/image/Makefile

@@ -310,6 +310,9 @@ define Image/Build
 	# T-Com Speedport W 500V
 	$(call Image/Build/CFEFIXUP,$(1),96348GW,SPW500V,6348,SPW500V)
 
+	# Huawei HW520
+	$(call Image/Build/CFE,$(1),HW6358GW_B,6358,HW520,EchoLife_HG520v)
+
 	#HW553
 	$(call Image/Build/CFEHW553,$(1),HW553,6358,0x20000,HW553)
 

+ 60 - 0
target/linux/brcm63xx/patches-3.10/565-board_hw520.patch

@@ -0,0 +1,60 @@
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -3428,6 +3428,49 @@ static struct board_info __initdata boar
+ 	.num_spis = ARRAY_SIZE(ct6373_spi_devices),
+ };
+ 
++static struct board_info __initdata board_HW520 = {
++	.name				= "HW6358GW_B",
++	.expected_cpu_id		= 0x6358,
++
++	.has_uart0			= 1,
++	.has_pci			= 1,
++	.has_ohci0			= 1,
++	.has_ehci0			= 1,
++
++	.has_enet0			= 1,
++	.enet0 = {
++		.has_phy		= 1,
++		.use_internal_phy	= 1,
++	},
++
++	.has_enet1			= 1,
++	.enet1 = {
++		.has_phy		= 1,
++		.phy_id			= 0,
++		.force_speed_100	= 1,
++		.force_duplex_full	= 1,
++	},
++
++	.leds = {
++		{
++			.name		= "HW520:green:net",
++			.gpio		= 32,
++			.active_low	= 1,
++		},
++	},
++
++	.buttons = {
++		{
++			.desc		= "reset",
++			.gpio		= 37,
++			.active_low	= 1,
++			.type		= EV_KEY,
++			.code		= KEY_RESTART,
++			.debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
++		},
++	},
++};
++
+ static struct board_info __initdata board_HW553 = {
+ 	.name                           = "HW553",
+ 	.expected_cpu_id                = 0x6358,
+@@ -5175,6 +5218,7 @@ static const struct board_info __initcon
+ 	&board_nb4_fxc_r1,
+ 	&board_nb4_fxc_r2,
+ 	&board_ct6373_1,
++	&board_HW520,
+ 	&board_HW553,
+ 	&board_HW556,
+ 	&board_HW556_A,

+ 60 - 0
target/linux/brcm63xx/patches-3.14/565-board_hw520.patch

@@ -0,0 +1,60 @@
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -3438,6 +3438,49 @@ static struct board_info __initdata boar
+ 	.num_spis = ARRAY_SIZE(ct6373_spi_devices),
+ };
+ 
++static struct board_info __initdata board_HW520 = {
++	.name				= "HW6358GW_B",
++	.expected_cpu_id		= 0x6358,
++
++	.has_uart0			= 1,
++	.has_pci			= 1,
++	.has_ohci0			= 1,
++	.has_ehci0			= 1,
++
++	.has_enet0			= 1,
++	.enet0 = {
++		.has_phy		= 1,
++		.use_internal_phy	= 1,
++	},
++
++	.has_enet1			= 1,
++	.enet1 = {
++		.has_phy		= 1,
++		.phy_id			= 0,
++		.force_speed_100	= 1,
++		.force_duplex_full	= 1,
++	},
++
++	.leds = {
++		{
++			.name		= "HW520:green:net",
++			.gpio		= 32,
++			.active_low	= 1,
++		},
++	},
++
++	.buttons = {
++		{
++			.desc		= "reset",
++			.gpio		= 37,
++			.active_low	= 1,
++			.type		= EV_KEY,
++			.code		= KEY_RESTART,
++			.debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
++		},
++	},
++};
++
+ static struct board_info __initdata board_HW553 = {
+ 	.name                           = "HW553",
+ 	.expected_cpu_id                = 0x6358,
+@@ -5185,6 +5228,7 @@ static const struct board_info __initcon
+ 	&board_nb4_fxc_r1,
+ 	&board_nb4_fxc_r2,
+ 	&board_ct6373_1,
++	&board_HW520,
+ 	&board_HW553,
+ 	&board_HW556,
+ 	&board_HW556_A,