aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/orion/patches/020-wnr854t_switch_support.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/orion/patches/020-wnr854t_switch_support.patch')
-rw-r--r--target/linux/orion/patches/020-wnr854t_switch_support.patch34
1 files changed, 34 insertions, 0 deletions
diff --git a/target/linux/orion/patches/020-wnr854t_switch_support.patch b/target/linux/orion/patches/020-wnr854t_switch_support.patch
new file mode 100644
index 0000000000..564474a02e
--- /dev/null
+++ b/target/linux/orion/patches/020-wnr854t_switch_support.patch
@@ -0,0 +1,34 @@
+--- a/arch/arm/mach-orion5x/wnr854t-setup.c
++++ b/arch/arm/mach-orion5x/wnr854t-setup.c
+@@ -15,6 +15,7 @@
+ #include <linux/mtd/physmap.h>
+ #include <linux/mv643xx_eth.h>
+ #include <linux/ethtool.h>
++#include <net/dsa.h>
+ #include <asm/mach-types.h>
+ #include <asm/gpio.h>
+ #include <asm/mach/arch.h>
+@@ -97,6 +98,15 @@ static struct mv643xx_eth_platform_data
+ .duplex = DUPLEX_FULL,
+ };
+
++static struct dsa_platform_data wnr854t_switch_data = {
++ .port_names[0] = "lan3",
++ .port_names[1] = "lan4",
++ .port_names[2] = "wan",
++ .port_names[3] = "cpu",
++ .port_names[5] = "lan1",
++ .port_names[7] = "lan2",
++};
++
+ static void __init wnr854t_init(void)
+ {
+ /*
+@@ -110,6 +120,7 @@ static void __init wnr854t_init(void)
+ * Configure peripherals.
+ */
+ orion5x_eth_init(&wnr854t_eth_data);
++ orion5x_eth_switch_init(&wnr854t_switch_data, NO_IRQ);
+ orion5x_uart0_init();
+
+ orion5x_setup_dev_boot_win(WNR854T_NOR_BOOT_BASE,