diff options
author | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2008-10-20 18:06:15 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2008-10-20 18:06:15 -0400 |
commit | d1a7fddf420b1f5a7d9a899b3388026084a67d33 (patch) | |
tree | 7044a8b9a1b6fadc7b027d4a82840c084b0c8012 /arch/arm | |
parent | 778c4c821779bb7eef7f5a1eea4d15d05d976f8b (diff) | |
parent | c0e1936338a11ea252d11370ff62e40db334f646 (diff) |
Merge branch 'for-rmk' of git://git.marvell.com/orion into devel
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-kirkwood/common.c | 35 | ||||
-rw-r--r-- | arch/arm/mach-kirkwood/common.h | 2 | ||||
-rw-r--r-- | arch/arm/mach-kirkwood/rd88f6281-setup.c | 11 | ||||
-rw-r--r-- | arch/arm/mach-mv78xx0/db78x00-bp-setup.c | 5 | ||||
-rw-r--r-- | arch/arm/mach-orion5x/common.c | 38 | ||||
-rw-r--r-- | arch/arm/mach-orion5x/common.h | 2 | ||||
-rw-r--r-- | arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c | 11 | ||||
-rw-r--r-- | arch/arm/mach-orion5x/rd88f5181l-ge-setup.c | 11 | ||||
-rw-r--r-- | arch/arm/mach-orion5x/rd88f6183ap-ge-setup.c | 11 | ||||
-rw-r--r-- | arch/arm/mach-orion5x/wrt350n-v2-setup.c | 11 |
10 files changed, 136 insertions, 1 deletions
diff --git a/arch/arm/mach-kirkwood/common.c b/arch/arm/mach-kirkwood/common.c index 85cad05d8c5b..0bb1fbd84ccb 100644 --- a/arch/arm/mach-kirkwood/common.c +++ b/arch/arm/mach-kirkwood/common.c | |||
@@ -16,6 +16,7 @@ | |||
16 | #include <linux/mv643xx_eth.h> | 16 | #include <linux/mv643xx_eth.h> |
17 | #include <linux/ata_platform.h> | 17 | #include <linux/ata_platform.h> |
18 | #include <linux/spi/orion_spi.h> | 18 | #include <linux/spi/orion_spi.h> |
19 | #include <net/dsa.h> | ||
19 | #include <asm/page.h> | 20 | #include <asm/page.h> |
20 | #include <asm/timex.h> | 21 | #include <asm/timex.h> |
21 | #include <asm/mach/map.h> | 22 | #include <asm/mach/map.h> |
@@ -152,6 +153,40 @@ void __init kirkwood_ge00_init(struct mv643xx_eth_platform_data *eth_data) | |||
152 | 153 | ||
153 | 154 | ||
154 | /***************************************************************************** | 155 | /***************************************************************************** |
156 | * Ethernet switch | ||
157 | ****************************************************************************/ | ||
158 | static struct resource kirkwood_switch_resources[] = { | ||
159 | { | ||
160 | .start = 0, | ||
161 | .end = 0, | ||
162 | .flags = IORESOURCE_IRQ, | ||
163 | }, | ||
164 | }; | ||
165 | |||
166 | static struct platform_device kirkwood_switch_device = { | ||
167 | .name = "dsa", | ||
168 | .id = 0, | ||
169 | .num_resources = 0, | ||
170 | .resource = kirkwood_switch_resources, | ||
171 | }; | ||
172 | |||
173 | void __init kirkwood_ge00_switch_init(struct dsa_platform_data *d, int irq) | ||
174 | { | ||
175 | if (irq != NO_IRQ) { | ||
176 | kirkwood_switch_resources[0].start = irq; | ||
177 | kirkwood_switch_resources[0].end = irq; | ||
178 | kirkwood_switch_device.num_resources = 1; | ||
179 | } | ||
180 | |||
181 | d->mii_bus = &kirkwood_ge00_shared.dev; | ||
182 | d->netdev = &kirkwood_ge00.dev; | ||
183 | kirkwood_switch_device.dev.platform_data = d; | ||
184 | |||
185 | platform_device_register(&kirkwood_switch_device); | ||
186 | } | ||
187 | |||
188 | |||
189 | /***************************************************************************** | ||
155 | * SoC RTC | 190 | * SoC RTC |
156 | ****************************************************************************/ | 191 | ****************************************************************************/ |
157 | static struct resource kirkwood_rtc_resource = { | 192 | static struct resource kirkwood_rtc_resource = { |
diff --git a/arch/arm/mach-kirkwood/common.h b/arch/arm/mach-kirkwood/common.h index 8fa0f6a27635..5774632a67e3 100644 --- a/arch/arm/mach-kirkwood/common.h +++ b/arch/arm/mach-kirkwood/common.h | |||
@@ -11,6 +11,7 @@ | |||
11 | #ifndef __ARCH_KIRKWOOD_COMMON_H | 11 | #ifndef __ARCH_KIRKWOOD_COMMON_H |
12 | #define __ARCH_KIRKWOOD_COMMON_H | 12 | #define __ARCH_KIRKWOOD_COMMON_H |
13 | 13 | ||
14 | struct dsa_platform_data; | ||
14 | struct mv643xx_eth_platform_data; | 15 | struct mv643xx_eth_platform_data; |
15 | struct mv_sata_platform_data; | 16 | struct mv_sata_platform_data; |
16 | 17 | ||
@@ -29,6 +30,7 @@ void kirkwood_pcie_id(u32 *dev, u32 *rev); | |||
29 | 30 | ||
30 | void kirkwood_ehci_init(void); | 31 | void kirkwood_ehci_init(void); |
31 | void kirkwood_ge00_init(struct mv643xx_eth_platform_data *eth_data); | 32 | void kirkwood_ge00_init(struct mv643xx_eth_platform_data *eth_data); |
33 | void kirkwood_ge00_switch_init(struct dsa_platform_data *d, int irq); | ||
32 | void kirkwood_pcie_init(void); | 34 | void kirkwood_pcie_init(void); |
33 | void kirkwood_rtc_init(void); | 35 | void kirkwood_rtc_init(void); |
34 | void kirkwood_sata_init(struct mv_sata_platform_data *sata_data); | 36 | void kirkwood_sata_init(struct mv_sata_platform_data *sata_data); |
diff --git a/arch/arm/mach-kirkwood/rd88f6281-setup.c b/arch/arm/mach-kirkwood/rd88f6281-setup.c index f785093e433f..175054abd630 100644 --- a/arch/arm/mach-kirkwood/rd88f6281-setup.c +++ b/arch/arm/mach-kirkwood/rd88f6281-setup.c | |||
@@ -19,6 +19,7 @@ | |||
19 | #include <linux/ata_platform.h> | 19 | #include <linux/ata_platform.h> |
20 | #include <linux/mv643xx_eth.h> | 20 | #include <linux/mv643xx_eth.h> |
21 | #include <linux/ethtool.h> | 21 | #include <linux/ethtool.h> |
22 | #include <net/dsa.h> | ||
22 | #include <asm/mach-types.h> | 23 | #include <asm/mach-types.h> |
23 | #include <asm/mach/arch.h> | 24 | #include <asm/mach/arch.h> |
24 | #include <asm/mach/pci.h> | 25 | #include <asm/mach/pci.h> |
@@ -74,6 +75,15 @@ static struct mv643xx_eth_platform_data rd88f6281_ge00_data = { | |||
74 | .duplex = DUPLEX_FULL, | 75 | .duplex = DUPLEX_FULL, |
75 | }; | 76 | }; |
76 | 77 | ||
78 | static struct dsa_platform_data rd88f6281_switch_data = { | ||
79 | .port_names[0] = "lan1", | ||
80 | .port_names[1] = "lan2", | ||
81 | .port_names[2] = "lan3", | ||
82 | .port_names[3] = "lan4", | ||
83 | .port_names[4] = "wan", | ||
84 | .port_names[5] = "cpu", | ||
85 | }; | ||
86 | |||
77 | static struct mv_sata_platform_data rd88f6281_sata_data = { | 87 | static struct mv_sata_platform_data rd88f6281_sata_data = { |
78 | .n_ports = 2, | 88 | .n_ports = 2, |
79 | }; | 89 | }; |
@@ -87,6 +97,7 @@ static void __init rd88f6281_init(void) | |||
87 | 97 | ||
88 | kirkwood_ehci_init(); | 98 | kirkwood_ehci_init(); |
89 | kirkwood_ge00_init(&rd88f6281_ge00_data); | 99 | kirkwood_ge00_init(&rd88f6281_ge00_data); |
100 | kirkwood_ge00_switch_init(&rd88f6281_switch_data, NO_IRQ); | ||
90 | kirkwood_rtc_init(); | 101 | kirkwood_rtc_init(); |
91 | kirkwood_sata_init(&rd88f6281_sata_data); | 102 | kirkwood_sata_init(&rd88f6281_sata_data); |
92 | kirkwood_uart0_init(); | 103 | kirkwood_uart0_init(); |
diff --git a/arch/arm/mach-mv78xx0/db78x00-bp-setup.c b/arch/arm/mach-mv78xx0/db78x00-bp-setup.c index 49f434c39eb7..2e285bbb7bbd 100644 --- a/arch/arm/mach-mv78xx0/db78x00-bp-setup.c +++ b/arch/arm/mach-mv78xx0/db78x00-bp-setup.c | |||
@@ -13,6 +13,7 @@ | |||
13 | #include <linux/platform_device.h> | 13 | #include <linux/platform_device.h> |
14 | #include <linux/ata_platform.h> | 14 | #include <linux/ata_platform.h> |
15 | #include <linux/mv643xx_eth.h> | 15 | #include <linux/mv643xx_eth.h> |
16 | #include <linux/ethtool.h> | ||
16 | #include <mach/mv78xx0.h> | 17 | #include <mach/mv78xx0.h> |
17 | #include <asm/mach-types.h> | 18 | #include <asm/mach-types.h> |
18 | #include <asm/mach/arch.h> | 19 | #include <asm/mach/arch.h> |
@@ -28,10 +29,14 @@ static struct mv643xx_eth_platform_data db78x00_ge01_data = { | |||
28 | 29 | ||
29 | static struct mv643xx_eth_platform_data db78x00_ge10_data = { | 30 | static struct mv643xx_eth_platform_data db78x00_ge10_data = { |
30 | .phy_addr = MV643XX_ETH_PHY_NONE, | 31 | .phy_addr = MV643XX_ETH_PHY_NONE, |
32 | .speed = SPEED_1000, | ||
33 | .duplex = DUPLEX_FULL, | ||
31 | }; | 34 | }; |
32 | 35 | ||
33 | static struct mv643xx_eth_platform_data db78x00_ge11_data = { | 36 | static struct mv643xx_eth_platform_data db78x00_ge11_data = { |
34 | .phy_addr = MV643XX_ETH_PHY_NONE, | 37 | .phy_addr = MV643XX_ETH_PHY_NONE, |
38 | .speed = SPEED_1000, | ||
39 | .duplex = DUPLEX_FULL, | ||
35 | }; | 40 | }; |
36 | 41 | ||
37 | static struct mv_sata_platform_data db78x00_sata_data = { | 42 | static struct mv_sata_platform_data db78x00_sata_data = { |
diff --git a/arch/arm/mach-orion5x/common.c b/arch/arm/mach-orion5x/common.c index 9625ef5975d0..437065c25c9c 100644 --- a/arch/arm/mach-orion5x/common.c +++ b/arch/arm/mach-orion5x/common.c | |||
@@ -19,6 +19,7 @@ | |||
19 | #include <linux/mv643xx_i2c.h> | 19 | #include <linux/mv643xx_i2c.h> |
20 | #include <linux/ata_platform.h> | 20 | #include <linux/ata_platform.h> |
21 | #include <linux/spi/orion_spi.h> | 21 | #include <linux/spi/orion_spi.h> |
22 | #include <net/dsa.h> | ||
22 | #include <asm/page.h> | 23 | #include <asm/page.h> |
23 | #include <asm/setup.h> | 24 | #include <asm/setup.h> |
24 | #include <asm/timex.h> | 25 | #include <asm/timex.h> |
@@ -198,6 +199,40 @@ void __init orion5x_eth_init(struct mv643xx_eth_platform_data *eth_data) | |||
198 | 199 | ||
199 | 200 | ||
200 | /***************************************************************************** | 201 | /***************************************************************************** |
202 | * Ethernet switch | ||
203 | ****************************************************************************/ | ||
204 | static struct resource orion5x_switch_resources[] = { | ||
205 | { | ||
206 | .start = 0, | ||
207 | .end = 0, | ||
208 | .flags = IORESOURCE_IRQ, | ||
209 | }, | ||
210 | }; | ||
211 | |||
212 | static struct platform_device orion5x_switch_device = { | ||
213 | .name = "dsa", | ||
214 | .id = 0, | ||
215 | .num_resources = 0, | ||
216 | .resource = orion5x_switch_resources, | ||
217 | }; | ||
218 | |||
219 | void __init orion5x_eth_switch_init(struct dsa_platform_data *d, int irq) | ||
220 | { | ||
221 | if (irq != NO_IRQ) { | ||
222 | orion5x_switch_resources[0].start = irq; | ||
223 | orion5x_switch_resources[0].end = irq; | ||
224 | orion5x_switch_device.num_resources = 1; | ||
225 | } | ||
226 | |||
227 | d->mii_bus = &orion5x_eth_shared.dev; | ||
228 | d->netdev = &orion5x_eth.dev; | ||
229 | orion5x_switch_device.dev.platform_data = d; | ||
230 | |||
231 | platform_device_register(&orion5x_switch_device); | ||
232 | } | ||
233 | |||
234 | |||
235 | /***************************************************************************** | ||
201 | * I2C | 236 | * I2C |
202 | ****************************************************************************/ | 237 | ****************************************************************************/ |
203 | static struct mv64xxx_i2c_pdata orion5x_i2c_pdata = { | 238 | static struct mv64xxx_i2c_pdata orion5x_i2c_pdata = { |
@@ -275,7 +310,8 @@ void __init orion5x_sata_init(struct mv_sata_platform_data *sata_data) | |||
275 | * SPI | 310 | * SPI |
276 | ****************************************************************************/ | 311 | ****************************************************************************/ |
277 | static struct orion_spi_info orion5x_spi_plat_data = { | 312 | static struct orion_spi_info orion5x_spi_plat_data = { |
278 | .tclk = 0, | 313 | .tclk = 0, |
314 | .enable_clock_fix = 1, | ||
279 | }; | 315 | }; |
280 | 316 | ||
281 | static struct resource orion5x_spi_resources[] = { | 317 | static struct resource orion5x_spi_resources[] = { |
diff --git a/arch/arm/mach-orion5x/common.h b/arch/arm/mach-orion5x/common.h index 1f8b2da676a5..a000c7c6ee96 100644 --- a/arch/arm/mach-orion5x/common.h +++ b/arch/arm/mach-orion5x/common.h | |||
@@ -1,6 +1,7 @@ | |||
1 | #ifndef __ARCH_ORION5X_COMMON_H | 1 | #ifndef __ARCH_ORION5X_COMMON_H |
2 | #define __ARCH_ORION5X_COMMON_H | 2 | #define __ARCH_ORION5X_COMMON_H |
3 | 3 | ||
4 | struct dsa_platform_data; | ||
4 | struct mv643xx_eth_platform_data; | 5 | struct mv643xx_eth_platform_data; |
5 | struct mv_sata_platform_data; | 6 | struct mv_sata_platform_data; |
6 | 7 | ||
@@ -29,6 +30,7 @@ void orion5x_setup_pcie_wa_win(u32 base, u32 size); | |||
29 | void orion5x_ehci0_init(void); | 30 | void orion5x_ehci0_init(void); |
30 | void orion5x_ehci1_init(void); | 31 | void orion5x_ehci1_init(void); |
31 | void orion5x_eth_init(struct mv643xx_eth_platform_data *eth_data); | 32 | void orion5x_eth_init(struct mv643xx_eth_platform_data *eth_data); |
33 | void orion5x_eth_switch_init(struct dsa_platform_data *d, int irq); | ||
32 | void orion5x_i2c_init(void); | 34 | void orion5x_i2c_init(void); |
33 | void orion5x_sata_init(struct mv_sata_platform_data *sata_data); | 35 | void orion5x_sata_init(struct mv_sata_platform_data *sata_data); |
34 | void orion5x_spi_init(void); | 36 | void orion5x_spi_init(void); |
diff --git a/arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c b/arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c index 500cdadaf09c..15f53235ee30 100644 --- a/arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c +++ b/arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c | |||
@@ -16,6 +16,7 @@ | |||
16 | #include <linux/mtd/physmap.h> | 16 | #include <linux/mtd/physmap.h> |
17 | #include <linux/mv643xx_eth.h> | 17 | #include <linux/mv643xx_eth.h> |
18 | #include <linux/ethtool.h> | 18 | #include <linux/ethtool.h> |
19 | #include <net/dsa.h> | ||
19 | #include <asm/mach-types.h> | 20 | #include <asm/mach-types.h> |
20 | #include <asm/gpio.h> | 21 | #include <asm/gpio.h> |
21 | #include <asm/leds.h> | 22 | #include <asm/leds.h> |
@@ -93,6 +94,15 @@ static struct mv643xx_eth_platform_data rd88f5181l_fxo_eth_data = { | |||
93 | .duplex = DUPLEX_FULL, | 94 | .duplex = DUPLEX_FULL, |
94 | }; | 95 | }; |
95 | 96 | ||
97 | static struct dsa_platform_data rd88f5181l_fxo_switch_data = { | ||
98 | .port_names[0] = "lan2", | ||
99 | .port_names[1] = "lan1", | ||
100 | .port_names[2] = "wan", | ||
101 | .port_names[3] = "cpu", | ||
102 | .port_names[5] = "lan4", | ||
103 | .port_names[7] = "lan3", | ||
104 | }; | ||
105 | |||
96 | static void __init rd88f5181l_fxo_init(void) | 106 | static void __init rd88f5181l_fxo_init(void) |
97 | { | 107 | { |
98 | /* | 108 | /* |
@@ -107,6 +117,7 @@ static void __init rd88f5181l_fxo_init(void) | |||
107 | */ | 117 | */ |
108 | orion5x_ehci0_init(); | 118 | orion5x_ehci0_init(); |
109 | orion5x_eth_init(&rd88f5181l_fxo_eth_data); | 119 | orion5x_eth_init(&rd88f5181l_fxo_eth_data); |
120 | orion5x_eth_switch_init(&rd88f5181l_fxo_switch_data, NO_IRQ); | ||
110 | orion5x_uart0_init(); | 121 | orion5x_uart0_init(); |
111 | 122 | ||
112 | orion5x_setup_dev_boot_win(RD88F5181L_FXO_NOR_BOOT_BASE, | 123 | orion5x_setup_dev_boot_win(RD88F5181L_FXO_NOR_BOOT_BASE, |
diff --git a/arch/arm/mach-orion5x/rd88f5181l-ge-setup.c b/arch/arm/mach-orion5x/rd88f5181l-ge-setup.c index ebde81416499..8ad3934399d4 100644 --- a/arch/arm/mach-orion5x/rd88f5181l-ge-setup.c +++ b/arch/arm/mach-orion5x/rd88f5181l-ge-setup.c | |||
@@ -17,6 +17,7 @@ | |||
17 | #include <linux/mv643xx_eth.h> | 17 | #include <linux/mv643xx_eth.h> |
18 | #include <linux/ethtool.h> | 18 | #include <linux/ethtool.h> |
19 | #include <linux/i2c.h> | 19 | #include <linux/i2c.h> |
20 | #include <net/dsa.h> | ||
20 | #include <asm/mach-types.h> | 21 | #include <asm/mach-types.h> |
21 | #include <asm/gpio.h> | 22 | #include <asm/gpio.h> |
22 | #include <asm/leds.h> | 23 | #include <asm/leds.h> |
@@ -94,6 +95,15 @@ static struct mv643xx_eth_platform_data rd88f5181l_ge_eth_data = { | |||
94 | .duplex = DUPLEX_FULL, | 95 | .duplex = DUPLEX_FULL, |
95 | }; | 96 | }; |
96 | 97 | ||
98 | static struct dsa_platform_data rd88f5181l_ge_switch_data = { | ||
99 | .port_names[0] = "lan2", | ||
100 | .port_names[1] = "lan1", | ||
101 | .port_names[2] = "wan", | ||
102 | .port_names[3] = "cpu", | ||
103 | .port_names[5] = "lan4", | ||
104 | .port_names[7] = "lan3", | ||
105 | }; | ||
106 | |||
97 | static struct i2c_board_info __initdata rd88f5181l_ge_i2c_rtc = { | 107 | static struct i2c_board_info __initdata rd88f5181l_ge_i2c_rtc = { |
98 | I2C_BOARD_INFO("ds1338", 0x68), | 108 | I2C_BOARD_INFO("ds1338", 0x68), |
99 | }; | 109 | }; |
@@ -112,6 +122,7 @@ static void __init rd88f5181l_ge_init(void) | |||
112 | */ | 122 | */ |
113 | orion5x_ehci0_init(); | 123 | orion5x_ehci0_init(); |
114 | orion5x_eth_init(&rd88f5181l_ge_eth_data); | 124 | orion5x_eth_init(&rd88f5181l_ge_eth_data); |
125 | orion5x_eth_switch_init(&rd88f5181l_ge_switch_data, gpio_to_irq(8)); | ||
115 | orion5x_i2c_init(); | 126 | orion5x_i2c_init(); |
116 | orion5x_uart0_init(); | 127 | orion5x_uart0_init(); |
117 | 128 | ||
diff --git a/arch/arm/mach-orion5x/rd88f6183ap-ge-setup.c b/arch/arm/mach-orion5x/rd88f6183ap-ge-setup.c index 40e049539091..262e25e4dace 100644 --- a/arch/arm/mach-orion5x/rd88f6183ap-ge-setup.c +++ b/arch/arm/mach-orion5x/rd88f6183ap-ge-setup.c | |||
@@ -19,6 +19,7 @@ | |||
19 | #include <linux/spi/orion_spi.h> | 19 | #include <linux/spi/orion_spi.h> |
20 | #include <linux/spi/flash.h> | 20 | #include <linux/spi/flash.h> |
21 | #include <linux/ethtool.h> | 21 | #include <linux/ethtool.h> |
22 | #include <net/dsa.h> | ||
22 | #include <asm/mach-types.h> | 23 | #include <asm/mach-types.h> |
23 | #include <asm/gpio.h> | 24 | #include <asm/gpio.h> |
24 | #include <asm/leds.h> | 25 | #include <asm/leds.h> |
@@ -34,6 +35,15 @@ static struct mv643xx_eth_platform_data rd88f6183ap_ge_eth_data = { | |||
34 | .duplex = DUPLEX_FULL, | 35 | .duplex = DUPLEX_FULL, |
35 | }; | 36 | }; |
36 | 37 | ||
38 | static struct dsa_platform_data rd88f6183ap_ge_switch_data = { | ||
39 | .port_names[0] = "lan1", | ||
40 | .port_names[1] = "lan2", | ||
41 | .port_names[2] = "lan3", | ||
42 | .port_names[3] = "lan4", | ||
43 | .port_names[4] = "wan", | ||
44 | .port_names[5] = "cpu", | ||
45 | }; | ||
46 | |||
37 | static struct mtd_partition rd88f6183ap_ge_partitions[] = { | 47 | static struct mtd_partition rd88f6183ap_ge_partitions[] = { |
38 | { | 48 | { |
39 | .name = "kernel", | 49 | .name = "kernel", |
@@ -79,6 +89,7 @@ static void __init rd88f6183ap_ge_init(void) | |||
79 | */ | 89 | */ |
80 | orion5x_ehci0_init(); | 90 | orion5x_ehci0_init(); |
81 | orion5x_eth_init(&rd88f6183ap_ge_eth_data); | 91 | orion5x_eth_init(&rd88f6183ap_ge_eth_data); |
92 | orion5x_eth_switch_init(&rd88f6183ap_ge_switch_data, gpio_to_irq(3)); | ||
82 | spi_register_board_info(rd88f6183ap_ge_spi_slave_info, | 93 | spi_register_board_info(rd88f6183ap_ge_spi_slave_info, |
83 | ARRAY_SIZE(rd88f6183ap_ge_spi_slave_info)); | 94 | ARRAY_SIZE(rd88f6183ap_ge_spi_slave_info)); |
84 | orion5x_spi_init(); | 95 | orion5x_spi_init(); |
diff --git a/arch/arm/mach-orion5x/wrt350n-v2-setup.c b/arch/arm/mach-orion5x/wrt350n-v2-setup.c index 9a4fd5256462..cc8f89200865 100644 --- a/arch/arm/mach-orion5x/wrt350n-v2-setup.c +++ b/arch/arm/mach-orion5x/wrt350n-v2-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> |
@@ -105,6 +106,15 @@ static struct mv643xx_eth_platform_data wrt350n_v2_eth_data = { | |||
105 | .duplex = DUPLEX_FULL, | 106 | .duplex = DUPLEX_FULL, |
106 | }; | 107 | }; |
107 | 108 | ||
109 | static struct dsa_platform_data wrt350n_v2_switch_data = { | ||
110 | .port_names[0] = "lan2", | ||
111 | .port_names[1] = "lan1", | ||
112 | .port_names[2] = "wan", | ||
113 | .port_names[3] = "cpu", | ||
114 | .port_names[5] = "lan3", | ||
115 | .port_names[7] = "lan4", | ||
116 | }; | ||
117 | |||
108 | static void __init wrt350n_v2_init(void) | 118 | static void __init wrt350n_v2_init(void) |
109 | { | 119 | { |
110 | /* | 120 | /* |
@@ -119,6 +129,7 @@ static void __init wrt350n_v2_init(void) | |||
119 | */ | 129 | */ |
120 | orion5x_ehci0_init(); | 130 | orion5x_ehci0_init(); |
121 | orion5x_eth_init(&wrt350n_v2_eth_data); | 131 | orion5x_eth_init(&wrt350n_v2_eth_data); |
132 | orion5x_eth_switch_init(&wrt350n_v2_switch_data, NO_IRQ); | ||
122 | orion5x_uart0_init(); | 133 | orion5x_uart0_init(); |
123 | 134 | ||
124 | orion5x_setup_dev_boot_win(WRT350N_V2_NOR_BOOT_BASE, | 135 | orion5x_setup_dev_boot_win(WRT350N_V2_NOR_BOOT_BASE, |