diff --git a/package/switch/Makefile b/package/switch/Makefile index 9eda1e4d52..c577584803 100644 --- a/package/switch/Makefile +++ b/package/switch/Makefile @@ -15,7 +15,7 @@ include $(INCLUDE_DIR)/package.mk define KernelPackage/switch SUBMENU:=Other modules - DEPENDS:=@TARGET_brcm47xx||TARGET_brcm63xx + DEPENDS:=@TARGET_brcm47xx TITLE:=Switch drivers FILES:= \ $(PKG_BUILD_DIR)/switch-core.ko \ diff --git a/target/linux/brcm63xx/base-files/etc/uci-defaults/02_network b/target/linux/brcm63xx/base-files/etc/uci-defaults/02_network index 08b8558006..106bf5f86f 100755 --- a/target/linux/brcm63xx/base-files/etc/uci-defaults/02_network +++ b/target/linux/brcm63xx/base-files/etc/uci-defaults/02_network @@ -14,40 +14,88 @@ ucidef_set_interface_loopback case "$board_name" in -96328avng |\ -96328A-1241N |\ -96328A-1441N1 |\ -963281TAN |\ -963281T_TEF |\ -96348A-122 |\ +96348W3 |\ 96358-502V |\ -CT6373-1 |\ -AW4339U |\ +SPW500V) + ucidef_set_interface_lan "eth0" + ;; + +96338GW |\ +96338W |\ +96338W2_E7T |\ +96348A-122 |\ +96348W3 |\ CPVA642 |\ CT536_CT5621 |\ +CT6373-1 |\ D-4P-W |\ "F@ST2604" |\ -HW556* |\ -NB6 |\ -SPW303V |\ -SPW500V |\ -V2110 |\ -96348W3) +RTA1320_16M |\ +RTA770BW |\ +V2110) ucidef_set_interface_lan "eth0" + ucidef_add_switch "eth0" "1" "1" + ucidef_add_switch_vlan "eth0" "1" "0 1 2 3 4 5" + ;; + +96348GW |\ +96348GW-10 |\ +96348GW-11 |\ +96348GW-A |\ +96358VW |\ +96358VW2 |\ +AGPF-S0 |\ +"CPVA502+" |\ +DV201AMR |\ +DWV-S0 |\ +"F@ST2404" |\ +HW553 |\ +MAGIC |\ +RTA1025W_16 |\ +V2500V_BB) + ucidef_set_interfaces_lan_wan "eth1" "eth0" + ucidef_add_switch "eth1" "1" "1" + ucidef_add_switch_vlan "eth1" "1" "0 1 2 3 4 5" ;; -AW4139) +AW4139 |\ +HW556*) ucidef_set_interface_lan "eth0.1" ucidef_add_switch "eth0" "1" "1" ucidef_add_switch_vlan "eth0" "1" "0 1 2 3 4 5t" ;; +NB4-* |\ DVG3810BN) 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" ;; +96328avng |\ +96328A-1241N |\ +96328A-1441N1 |\ +963281TAN |\ +963281T_TEF |\ +96368MVNgr) + ucidef_set_interface_lan "eth0.1" + ucidef_add_switch "eth0" "1" "1" + ucidef_add_switch_vlan "eth0" "1" "0 1 2 3 8t" + ;; + +96368MVWG) + ucidef_set_interface_lan "eth0.1" + ucidef_add_switch "eth0" "1" "1" + ucidef_add_switch_vlan "eth0" "1" "1 2 4 5 8t" + ;; + +NB6) + ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2" + ucidef_add_switch "switch0" "1" "1" + ucidef_add_switch_vlan "switch0" "1" "1 2 3 4 9t" + ucidef_add_switch_vlan "switch0" "2" "0 9t" + ;; + *) ucidef_set_interfaces_lan_wan "eth1" "eth0" ;; diff --git a/target/linux/brcm63xx/base-files/lib/brcm63xx.sh b/target/linux/brcm63xx/base-files/lib/brcm63xx.sh index 999f775171..8116e807dd 100755 --- a/target/linux/brcm63xx/base-files/lib/brcm63xx.sh +++ b/target/linux/brcm63xx/base-files/lib/brcm63xx.sh @@ -13,7 +13,7 @@ brcm63xx_has_reset_button="" brcm63xx_detect() { board_name=$(awk 'BEGIN{FS="[ \t:/]+"} /system type/ {print $4}' /proc/cpuinfo) - if [ "$board_name" = "96358VW" ] && [ -e /proc/switch/eth1/enable ]; then + if [ "$board_name" = "96358VW" ] && [ -n "$(swconfig dev eth1 help 2>/dev/null)" ]; then board_name="DVAG3810BN" fi diff --git a/target/linux/brcm63xx/base-files/lib/preinit/05_failsafe_config_switch_brcm63xx b/target/linux/brcm63xx/base-files/lib/preinit/05_failsafe_config_switch_brcm63xx index 43da8cc068..e1653e3936 100644 --- a/target/linux/brcm63xx/base-files/lib/preinit/05_failsafe_config_switch_brcm63xx +++ b/target/linux/brcm63xx/base-files/lib/preinit/05_failsafe_config_switch_brcm63xx @@ -1,11 +1,6 @@ #!/bin/sh failsafe_ip() { - [ -d "/proc/switch/$ifname" ] && { - ifconfig "$ifname" 0.0.0.0 down - echo "0 1 2 3 4 ${cpu_port:-5u*}" > "/proc/switch/$ifname/vlan/0/ports" - } - [ -n "$pi_ifname" ] && grep -q "$pi_ifname" /proc/net/dev && { ifconfig $pi_ifname $pi_ip netmask $pi_netmask broadcast $pi_broadcast up } diff --git a/target/linux/brcm63xx/base-files/lib/preinit/15_set_preinit_interface_brcm63xx b/target/linux/brcm63xx/base-files/lib/preinit/15_set_preinit_interface_brcm63xx index 9d366fa339..7655fb7d53 100644 --- a/target/linux/brcm63xx/base-files/lib/preinit/15_set_preinit_interface_brcm63xx +++ b/target/linux/brcm63xx/base-files/lib/preinit/15_set_preinit_interface_brcm63xx @@ -16,29 +16,12 @@ preinit_ip_deconfig() { ifconfig $pi_ifname 0.0.0.0 down } fi - [ -d "/proc/switch/$ifname" ] && { - echo 1 > "/proc/switch/$ifname/reset" - echo "0 1 2 3 4 ${cpu_port:-5u*}" > "/proc/switch/$ifname/vlan/0/ports" - } - } preinit_net_echo() { preinit_ip - - [ -d "/proc/switch/$ifname" ] && { - echo 1 > "/proc/switch/$ifname/reset" - # this would be easier if we blasted the message across all ports - # but we don't want packets leaking across interfaces - for port in $(seq 0 4); do { - echo "$port ${cpu_port:-5u*}" > "/proc/switch/$ifname/vlan/0/ports" - port_net_echo $1 - }; done - - echo "0 ${cpu_port:-5u*}" > "/proc/switch/$ifname/vlan/0/ports" - - } || port_net_echo $1 + port_net_echo $1 } diff --git a/target/linux/brcm63xx/config-3.6 b/target/linux/brcm63xx/config-3.6 index 92e6e3d630..bccf2ae16f 100644 --- a/target/linux/brcm63xx/config-3.6 +++ b/target/linux/brcm63xx/config-3.6 @@ -8,6 +8,11 @@ CONFIG_ARCH_SUSPEND_POSSIBLE=y CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y CONFIG_AUDIT=y CONFIG_AUDIT_GENERIC=y +CONFIG_B53=y +CONFIG_B53_MMAP_DRIVER=y +CONFIG_B53_PHY_DRIVER=y +CONFIG_B53_PHY_FIXUP=y +CONFIG_B53_SPI_DRIVER=y CONFIG_BCM63XX=y CONFIG_BCM63XX_CPU_6328=y CONFIG_BCM63XX_CPU_6338=y diff --git a/target/linux/brcm63xx/patches-3.6/500-board-D4PW.patch b/target/linux/brcm63xx/patches-3.6/500-board-D4PW.patch index 18ba06c52c..db5db637c0 100644 --- a/target/linux/brcm63xx/patches-3.6/500-board-D4PW.patch +++ b/target/linux/brcm63xx/patches-3.6/500-board-D4PW.patch @@ -1,6 +1,6 @@ --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -512,6 +512,54 @@ static struct board_info __initdata boar +@@ -512,6 +512,56 @@ static struct board_info __initdata boar .has_ohci0 = 1, }; @@ -14,6 +14,8 @@ + .has_uart0 = 1, + + .enet1 = { ++ .has_phy = 1, ++ .phy_id = 0, + .force_speed_100 = 1, + .force_duplex_full = 1, + }, diff --git a/target/linux/brcm63xx/patches-3.6/501-board-NB4.patch b/target/linux/brcm63xx/patches-3.6/501-board-NB4.patch index 21ed4422e5..f59b71f569 100644 --- a/target/linux/brcm63xx/patches-3.6/501-board-NB4.patch +++ b/target/linux/brcm63xx/patches-3.6/501-board-NB4.patch @@ -22,7 +22,7 @@ static struct board_info board; /* -@@ -709,6 +717,586 @@ static struct board_info __initdata boar +@@ -709,6 +717,596 @@ static struct board_info __initdata boar .has_ohci0 = 1, }; @@ -77,6 +77,8 @@ + }, + + .enet1 = { ++ .has_phy = 1, ++ .phy_id = 0, + .force_speed_100 = 1, + .force_duplex_full = 1, + }, @@ -188,6 +190,8 @@ + }, + + .enet1 = { ++ .has_phy = 1, ++ .phy_id = 0, + .force_speed_100 = 1, + .force_duplex_full = 1, + }, @@ -299,6 +303,8 @@ + }, + + .enet1 = { ++ .has_phy = 1, ++ .phy_id = 0, + .force_speed_100 = 1, + .force_duplex_full = 1, + }, @@ -410,6 +416,8 @@ + }, + + .enet1 = { ++ .has_phy = 1, ++ .phy_id = 0, + .force_speed_100 = 1, + .force_duplex_full = 1, + }, @@ -516,6 +524,8 @@ + }, + + .enet1 = { ++ .has_phy = 1, ++ .phy_id = 0, + .force_speed_100 = 1, + .force_duplex_full = 1, + }, diff --git a/target/linux/brcm63xx/patches-3.6/502-board-96338W2_E7T.patch b/target/linux/brcm63xx/patches-3.6/502-board-96338W2_E7T.patch index cbeb31b163..a1c14f40b1 100644 --- a/target/linux/brcm63xx/patches-3.6/502-board-96338W2_E7T.patch +++ b/target/linux/brcm63xx/patches-3.6/502-board-96338W2_E7T.patch @@ -1,6 +1,6 @@ --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -183,6 +183,38 @@ static struct board_info __initdata boar +@@ -183,6 +183,40 @@ static struct board_info __initdata boar }, }, }; @@ -12,6 +12,8 @@ + .has_enet0 = 1, + + .enet0 = { ++ .has_phy = 1, ++ .phy_id = 0, + .force_speed_100 = 1, + .force_duplex_full = 1, + }, diff --git a/target/linux/brcm63xx/patches-3.6/503-board-CPVA642.patch b/target/linux/brcm63xx/patches-3.6/503-board-CPVA642.patch index c20c5bcb56..ad7af8fa1d 100644 --- a/target/linux/brcm63xx/patches-3.6/503-board-CPVA642.patch +++ b/target/linux/brcm63xx/patches-3.6/503-board-CPVA642.patch @@ -1,6 +1,6 @@ --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -706,6 +706,96 @@ static struct board_info __initdata boar +@@ -706,6 +706,98 @@ static struct board_info __initdata boar }, }; @@ -13,6 +13,8 @@ + .has_pci = 1, + + .enet1 = { ++ .has_phy = 1, ++ .phy_id = 0, + .force_speed_100 = 1, + .force_duplex_full = 1, + }, diff --git a/target/linux/brcm63xx/patches-3.6/504-board_dsl_274xb_rev_c.patch b/target/linux/brcm63xx/patches-3.6/504-board_dsl_274xb_rev_c.patch index de504ec7ac..d0c4b034d7 100644 --- a/target/linux/brcm63xx/patches-3.6/504-board_dsl_274xb_rev_c.patch +++ b/target/linux/brcm63xx/patches-3.6/504-board_dsl_274xb_rev_c.patch @@ -1,6 +1,6 @@ --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -840,6 +840,59 @@ static struct board_info __initdata boar +@@ -840,6 +840,61 @@ static struct board_info __initdata boar .has_ohci0 = 1, }; @@ -14,6 +14,8 @@ + .has_pci = 1, + + .enet1 = { ++ .has_phy = 1, ++ .phy_id = 0, + .force_speed_100 = 1, + .force_duplex_full = 1, + }, diff --git a/target/linux/brcm63xx/patches-3.6/507-board-MAGIC.patch b/target/linux/brcm63xx/patches-3.6/507-board-MAGIC.patch index bbb163cb3f..a391b36c2c 100644 --- a/target/linux/brcm63xx/patches-3.6/507-board-MAGIC.patch +++ b/target/linux/brcm63xx/patches-3.6/507-board-MAGIC.patch @@ -1,6 +1,6 @@ --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -767,6 +767,76 @@ static struct board_info __initdata boar +@@ -767,6 +767,78 @@ static struct board_info __initdata boar }, }, }; @@ -20,6 +20,8 @@ + }, + .enet1 = { + /* it has BP_ENET_EXTERNAL_PHY */ ++ .has_phy = 1, ++ .phy_id = 0, + .force_speed_100 = 1, + .force_duplex_full = 1, + }, diff --git a/target/linux/brcm63xx/patches-3.6/508-board_hw553.patch b/target/linux/brcm63xx/patches-3.6/508-board_hw553.patch index ff7d1c2c5a..8d3b877b0a 100644 --- a/target/linux/brcm63xx/patches-3.6/508-board_hw553.patch +++ b/target/linux/brcm63xx/patches-3.6/508-board_hw553.patch @@ -1,6 +1,6 @@ --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -1709,6 +1709,80 @@ static struct board_info __initdata boar +@@ -1709,6 +1709,82 @@ static struct board_info __initdata boar .spis = nb4_spi_devices, .num_spis = ARRAY_SIZE(nb4_spi_devices), }; @@ -21,6 +21,8 @@ + }, + + .enet1 = { ++ .has_phy = 1, ++ .phy_id = 0, + .force_speed_100 = 1, + .force_duplex_full = 1, + }, diff --git a/target/linux/brcm63xx/patches-3.6/509-board_rta1320_16m.patch b/target/linux/brcm63xx/patches-3.6/509-board_rta1320_16m.patch index 7bc815e34e..71e5d0ebeb 100644 --- a/target/linux/brcm63xx/patches-3.6/509-board_rta1320_16m.patch +++ b/target/linux/brcm63xx/patches-3.6/509-board_rta1320_16m.patch @@ -1,6 +1,6 @@ --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -215,6 +215,43 @@ static struct board_info __initdata boar +@@ -215,6 +215,45 @@ static struct board_info __initdata boar }, }, }; @@ -13,6 +13,8 @@ + .has_enet0 = 1, + + .enet0 = { ++ .has_phy = 1, ++ .phy_id = 0, + .force_speed_100 = 1, + .force_duplex_full = 1, + }, diff --git a/target/linux/brcm63xx/patches-3.6/511-board_V2500V.patch b/target/linux/brcm63xx/patches-3.6/511-board_V2500V.patch index 8734138016..c739392e71 100644 --- a/target/linux/brcm63xx/patches-3.6/511-board_V2500V.patch +++ b/target/linux/brcm63xx/patches-3.6/511-board_V2500V.patch @@ -1,6 +1,6 @@ --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -874,6 +874,63 @@ static struct board_info __initdata boar +@@ -874,6 +874,65 @@ static struct board_info __initdata boar }, }, }; @@ -19,6 +19,8 @@ + .use_internal_phy = 1, + }, + .enet1 = { ++ .has_phy = 1, ++ .phy_id = 0, + .force_speed_100 = 1, + .force_duplex_full = 1, + }, diff --git a/target/linux/brcm63xx/patches-3.6/512-board_BTV2110.patch b/target/linux/brcm63xx/patches-3.6/512-board_BTV2110.patch index f05385a64f..24fa4a6426 100644 --- a/target/linux/brcm63xx/patches-3.6/512-board_BTV2110.patch +++ b/target/linux/brcm63xx/patches-3.6/512-board_BTV2110.patch @@ -1,6 +1,6 @@ --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -438,6 +438,62 @@ static struct board_info __initdata boar +@@ -438,6 +438,64 @@ static struct board_info __initdata boar }, }; @@ -15,6 +15,8 @@ + .has_pci = 1, + + .enet1 = { ++ .has_phy = 1, ++ .phy_id = 0, + .force_speed_100 = 1, + .force_duplex_full = 1, + }, diff --git a/target/linux/brcm63xx/patches-3.6/514-board_ct536_ct5621.patch b/target/linux/brcm63xx/patches-3.6/514-board_ct536_ct5621.patch index 446c9da4c5..e91f2040a6 100644 --- a/target/linux/brcm63xx/patches-3.6/514-board_ct536_ct5621.patch +++ b/target/linux/brcm63xx/patches-3.6/514-board_ct536_ct5621.patch @@ -1,6 +1,6 @@ --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -494,6 +494,49 @@ static struct board_info __initdata boar +@@ -494,6 +494,51 @@ static struct board_info __initdata boar }; @@ -14,6 +14,8 @@ + .has_pci = 1, + + .enet1 = { ++ .has_phy = 1, ++ .phy_id = 0, + .force_speed_100 = 1, + .force_duplex_full = 1, + }, diff --git a/target/linux/brcm63xx/patches-3.6/516-board_96348A-122.patch b/target/linux/brcm63xx/patches-3.6/516-board_96348A-122.patch index fd8ac19c61..19ef500f49 100644 --- a/target/linux/brcm63xx/patches-3.6/516-board_96348A-122.patch +++ b/target/linux/brcm63xx/patches-3.6/516-board_96348A-122.patch @@ -1,6 +1,6 @@ --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -537,6 +537,67 @@ static struct board_info __initdata boar +@@ -537,6 +537,69 @@ static struct board_info __initdata boar }, }; @@ -13,6 +13,8 @@ + .has_pci = 1, + + .enet1 = { ++ .has_phy = 1, ++ .phy_id = 0, + .force_speed_100 = 1, + .force_duplex_full = 1, + }, diff --git a/target/linux/brcm63xx/patches-3.6/519_board_CPVA502plus.patch b/target/linux/brcm63xx/patches-3.6/519_board_CPVA502plus.patch index c6237a6d57..e0f52a75cc 100644 --- a/target/linux/brcm63xx/patches-3.6/519_board_CPVA502plus.patch +++ b/target/linux/brcm63xx/patches-3.6/519_board_CPVA502plus.patch @@ -1,6 +1,6 @@ --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -1092,6 +1092,44 @@ static struct board_info __initdata boar +@@ -1092,6 +1092,46 @@ static struct board_info __initdata boar }, }, }; @@ -19,6 +19,8 @@ + .use_internal_phy = 1, + }, + .enet1 = { ++ .has_phy = 1, ++ .phy_id = 0, + .force_speed_100 = 1, + .force_duplex_full = 1, + }, diff --git a/target/linux/brcm63xx/patches-3.6/525-board_96348w3.patch b/target/linux/brcm63xx/patches-3.6/525-board_96348w3.patch index 2e249f0f94..758045cebb 100644 --- a/target/linux/brcm63xx/patches-3.6/525-board_96348w3.patch +++ b/target/linux/brcm63xx/patches-3.6/525-board_96348w3.patch @@ -1,6 +1,6 @@ --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -1337,6 +1337,57 @@ static struct board_info __initdata boar +@@ -1337,6 +1337,59 @@ static struct board_info __initdata boar }, }; @@ -14,6 +14,8 @@ + .has_pci = 1, + + .enet1 = { ++ .has_phy = 1, ++ .phy_id = 0, + .force_speed_100 = 1, + .force_duplex_full = 1, + }, diff --git a/target/linux/brcm63xx/patches-3.6/526-board_CT6373-1.patch b/target/linux/brcm63xx/patches-3.6/526-board_CT6373-1.patch index 20ef1e5be4..295b80ba9f 100644 --- a/target/linux/brcm63xx/patches-3.6/526-board_CT6373-1.patch +++ b/target/linux/brcm63xx/patches-3.6/526-board_CT6373-1.patch @@ -14,7 +14,7 @@ static struct board_info board; /* -@@ -2264,6 +2271,111 @@ static struct board_info __initdata boar +@@ -2264,6 +2271,113 @@ static struct board_info __initdata boar .num_spis = ARRAY_SIZE(nb4_spi_devices), }; @@ -64,6 +64,8 @@ + + .has_enet1 = 1, + .enet1 = { ++ .has_phy = 1, ++ .phy_id = 0, + .force_speed_100 = 1, + .force_duplex_full = 1, + }, diff --git a/target/linux/brcm63xx/patches-3.6/527-board_dva-g3810bn-tl-1.patch b/target/linux/brcm63xx/patches-3.6/527-board_dva-g3810bn-tl-1.patch index 19ffc13ad7..b3b8819202 100644 --- a/target/linux/brcm63xx/patches-3.6/527-board_dva-g3810bn-tl-1.patch +++ b/target/linux/brcm63xx/patches-3.6/527-board_dva-g3810bn-tl-1.patch @@ -1,6 +1,6 @@ --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -2515,6 +2515,71 @@ static struct board_info __initdata boar +@@ -2515,6 +2515,73 @@ static struct board_info __initdata boar }, } }; @@ -23,6 +23,8 @@ + }, + + .enet1 = { ++ .has_phy = 1, ++ .phy_id = 0, + .force_speed_100 = 1, + .force_duplex_full = 1, + }, diff --git a/target/linux/brcm63xx/patches-3.6/529-board_fast2604.patch b/target/linux/brcm63xx/patches-3.6/529-board_fast2604.patch index c09e07f0ea..e04dcd1ef7 100644 --- a/target/linux/brcm63xx/patches-3.6/529-board_fast2604.patch +++ b/target/linux/brcm63xx/patches-3.6/529-board_fast2604.patch @@ -1,6 +1,6 @@ --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -1013,6 +1013,55 @@ static struct board_info __initdata boar +@@ -1013,6 +1013,57 @@ static struct board_info __initdata boar .has_ehci0 = 1, }; @@ -14,6 +14,8 @@ + + .has_enet1 = 1, + .enet1 = { ++ .has_phy = 1, ++ .phy_id = 0, + .force_speed_100 = 1, + .force_duplex_full = 1, + }, diff --git a/target/linux/brcm63xx/patches-3.6/553-board_rta770bw.patch b/target/linux/brcm63xx/patches-3.6/553-board_rta770bw.patch index 9de0997674..cd1ee996c5 100644 --- a/target/linux/brcm63xx/patches-3.6/553-board_rta770bw.patch +++ b/target/linux/brcm63xx/patches-3.6/553-board_rta770bw.patch @@ -1,6 +1,6 @@ --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -738,6 +738,53 @@ static struct board_info __initdata boar +@@ -738,6 +738,55 @@ static struct board_info __initdata boar .has_uart0 = 1, }; @@ -14,6 +14,8 @@ + .has_enet0 = 1, + + .enet0 = { ++ .has_phy = 1, ++ .phy_id = 0, + .force_speed_100 = 1, + .force_duplex_full = 1, + }, diff --git a/target/linux/brcm63xx/patches-3.6/554-board_hw556.patch b/target/linux/brcm63xx/patches-3.6/554-board_hw556.patch index 3d07ca144f..69f0539ce9 100644 --- a/target/linux/brcm63xx/patches-3.6/554-board_hw556.patch +++ b/target/linux/brcm63xx/patches-3.6/554-board_hw556.patch @@ -1,6 +1,6 @@ --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -2923,6 +2923,366 @@ static struct board_info __initdata boar +@@ -2923,6 +2923,374 @@ static struct board_info __initdata boar }, }; @@ -22,6 +22,8 @@ + + .has_enet1 = 1, + .enet1 = { ++ .has_phy = 1, ++ .phy_id = 0, + .force_speed_100 = 1, + .force_duplex_full = 1, + }, @@ -112,6 +114,8 @@ + + .has_enet1 = 1, + .enet1 = { ++ .has_phy = 1, ++ .phy_id = 0, + .force_speed_100 = 1, + .force_duplex_full = 1, + }, @@ -203,6 +207,8 @@ + + .has_enet1 = 1, + .enet1 = { ++ .has_phy = 1, ++ .phy_id = 0, + .force_speed_100 = 1, + .force_duplex_full = 1, + }, @@ -294,6 +300,8 @@ + + .has_enet1 = 1, + .enet1 = { ++ .has_phy = 1, ++ .phy_id = 0, + .force_speed_100 = 1, + .force_duplex_full = 1, + }, diff --git a/target/linux/brcm63xx/patches-3.6/555-boards_probe_switch.patch b/target/linux/brcm63xx/patches-3.6/555-boards_probe_switch.patch new file mode 100644 index 0000000000..5dd1bf460a --- /dev/null +++ b/target/linux/brcm63xx/patches-3.6/555-boards_probe_switch.patch @@ -0,0 +1,119 @@ +--- linux-3.6.11/arch/mips/bcm63xx/boards/board_bcm963xx.c.orig 2013-01-05 21:18:15.153079713 +0100 ++++ linux-3.6.11/arch/mips/bcm63xx/boards/board_bcm963xx.c 2013-01-05 21:18:27.899285369 +0100 +@@ -583,6 +583,8 @@ + .has_uart0 = 1, + .has_enet0 = 1, + .enet0 = { ++ .has_phy = 1, ++ .phy_id = 0, + .force_speed_100 = 1, + .force_duplex_full = 1, + }, +@@ -626,6 +628,8 @@ + .has_uart0 = 1, + .has_enet0 = 1, + .enet0 = { ++ .has_phy = 1, ++ .phy_id = 0, + .force_speed_100 = 1, + .force_duplex_full = 1, + }, +@@ -857,6 +861,8 @@ + .use_internal_phy = 1, + }, + .enet1 = { ++ .has_phy = 1, ++ .phy_id = 0, + .force_speed_100 = 1, + .force_duplex_full = 1, + }, +@@ -929,6 +935,8 @@ + }, + + .enet1 = { ++ .has_phy = 1, ++ .phy_id = 0, + .force_speed_100 = 1, + .force_duplex_full = 1, + }, +@@ -1158,6 +1166,8 @@ + .use_internal_phy = 1, + }, + .enet1 = { ++ .has_phy = 1, ++ .phy_id = 0, + .force_speed_100 = 1, + .force_duplex_full = 1, + }, +@@ -1333,6 +1343,8 @@ + }, + + .enet1 = { ++ .has_phy = 1, ++ .phy_id = 0, + .force_speed_100 = 1, + .force_duplex_full = 1, + }, +@@ -1407,6 +1419,8 @@ + .use_internal_phy = 1, + }, + .enet1 = { ++ .has_phy = 1, ++ .phy_id = 0, + .force_speed_100 = 1, + .force_duplex_full = 1, + }, +@@ -1428,6 +1442,8 @@ + .use_internal_phy = 1, + }, + .enet1 = { ++ .has_phy = 1, ++ .phy_id = 0, + .force_speed_100 = 1, + .force_duplex_full = 1, + }, +@@ -1447,6 +1463,8 @@ + .use_internal_phy = 1, + }, + .enet1 = { ++ .has_phy = 1, ++ .phy_id = 0, + .force_speed_100 = 1, + .force_duplex_full = 1, + }, +@@ -1822,6 +1840,8 @@ + }, + + .enet1 = { ++ .has_phy = 1, ++ .phy_id = 0, + .force_speed_100 = 1, + .force_duplex_full = 1, + }, +@@ -1874,6 +1894,8 @@ + }, + + .enet1 = { ++ .has_phy = 1, ++ .phy_id = 0, + .force_speed_100 = 1, + .force_duplex_full = 1, + }, +@@ -2014,6 +2036,8 @@ + }, + + .enet1 = { ++ .has_phy = 1, ++ .phy_id = 0, + .force_speed_100 = 1, + .force_duplex_full = 1, + }, +@@ -2131,6 +2155,8 @@ + }, + + .enet1 = { ++ .has_phy = 1, ++ .phy_id = 0, + .force_speed_100 = 1, + .force_duplex_full = 1, + },