diff options
author | Imre Kaloz <kaloz@openwrt.org> | 2009-06-02 08:31:43 -0400 |
---|---|---|
committer | Nicolas Pitre <nico@cam.org> | 2009-06-08 13:05:00 -0400 |
commit | 9ffbe87370403d6d5c4010f5b0f692f9d0715776 (patch) | |
tree | 840422d39e303b659190fcda54428506df517072 /arch/arm/mach-orion5x | |
parent | 3b937a7dbddbedd9457b33fcc8fa369c0c229c6e (diff) |
[ARM] orion5x: WNR854T switch support
This patch adds support for the switch found on the Netgear
WNR854T router.
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
Signed-off-by: Nicolas Pitre <nico@marvell.com>
Diffstat (limited to 'arch/arm/mach-orion5x')
-rw-r--r-- | arch/arm/mach-orion5x/wnr854t-setup.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/arch/arm/mach-orion5x/wnr854t-setup.c b/arch/arm/mach-orion5x/wnr854t-setup.c index 7ddc22c2bb54..69208217b220 100644 --- a/arch/arm/mach-orion5x/wnr854t-setup.c +++ b/arch/arm/mach-orion5x/wnr854t-setup.c | |||
@@ -15,6 +15,7 @@ | |||
15 | #include <linux/mtd/physmap.h> | 15 | #include <linux/mtd/physmap.h> |
16 | #include <linux/mv643xx_eth.h> | 16 | #include <linux/mv643xx_eth.h> |
17 | #include <linux/ethtool.h> | 17 | #include <linux/ethtool.h> |
18 | #include <net/dsa.h> | ||
18 | #include <asm/mach-types.h> | 19 | #include <asm/mach-types.h> |
19 | #include <asm/gpio.h> | 20 | #include <asm/gpio.h> |
20 | #include <asm/mach/arch.h> | 21 | #include <asm/mach/arch.h> |
@@ -97,6 +98,20 @@ static struct mv643xx_eth_platform_data wnr854t_eth_data = { | |||
97 | .duplex = DUPLEX_FULL, | 98 | .duplex = DUPLEX_FULL, |
98 | }; | 99 | }; |
99 | 100 | ||
101 | static struct dsa_chip_data wnr854t_switch_chip_data = { | ||
102 | .port_names[0] = "lan3", | ||
103 | .port_names[1] = "lan4", | ||
104 | .port_names[2] = "wan", | ||
105 | .port_names[3] = "cpu", | ||
106 | .port_names[5] = "lan1", | ||
107 | .port_names[7] = "lan2", | ||
108 | }; | ||
109 | |||
110 | static struct dsa_platform_data wnr854t_switch_plat_data = { | ||
111 | .nr_chips = 1, | ||
112 | .chip = &wnr854t_switch_chip_data, | ||
113 | }; | ||
114 | |||
100 | static void __init wnr854t_init(void) | 115 | static void __init wnr854t_init(void) |
101 | { | 116 | { |
102 | /* | 117 | /* |
@@ -110,6 +125,7 @@ static void __init wnr854t_init(void) | |||
110 | * Configure peripherals. | 125 | * Configure peripherals. |
111 | */ | 126 | */ |
112 | orion5x_eth_init(&wnr854t_eth_data); | 127 | orion5x_eth_init(&wnr854t_eth_data); |
128 | orion5x_eth_switch_init(&wnr854t_switch_plat_data, NO_IRQ); | ||
113 | orion5x_uart0_init(); | 129 | orion5x_uart0_init(); |
114 | 130 | ||
115 | orion5x_setup_dev_boot_win(WNR854T_NOR_BOOT_BASE, | 131 | orion5x_setup_dev_boot_win(WNR854T_NOR_BOOT_BASE, |