diff options
-rw-r--r-- | arch/arm/mach-kirkwood/common.c | 58 | ||||
-rw-r--r-- | arch/arm/mach-kirkwood/common.h | 1 | ||||
-rw-r--r-- | arch/arm/mach-kirkwood/include/mach/irqs.h | 1 |
3 files changed, 60 insertions, 0 deletions
diff --git a/arch/arm/mach-kirkwood/common.c b/arch/arm/mach-kirkwood/common.c index b5c684d96e4e..7b8ef97fb501 100644 --- a/arch/arm/mach-kirkwood/common.c +++ b/arch/arm/mach-kirkwood/common.c | |||
@@ -154,6 +154,64 @@ void __init kirkwood_ge00_init(struct mv643xx_eth_platform_data *eth_data) | |||
154 | 154 | ||
155 | 155 | ||
156 | /***************************************************************************** | 156 | /***************************************************************************** |
157 | * GE01 | ||
158 | ****************************************************************************/ | ||
159 | struct mv643xx_eth_shared_platform_data kirkwood_ge01_shared_data = { | ||
160 | .dram = &kirkwood_mbus_dram_info, | ||
161 | .shared_smi = &kirkwood_ge00_shared, | ||
162 | }; | ||
163 | |||
164 | static struct resource kirkwood_ge01_shared_resources[] = { | ||
165 | { | ||
166 | .name = "ge01 base", | ||
167 | .start = GE01_PHYS_BASE + 0x2000, | ||
168 | .end = GE01_PHYS_BASE + 0x3fff, | ||
169 | .flags = IORESOURCE_MEM, | ||
170 | }, { | ||
171 | .name = "ge01 err irq", | ||
172 | .start = IRQ_KIRKWOOD_GE01_ERR, | ||
173 | .end = IRQ_KIRKWOOD_GE01_ERR, | ||
174 | .flags = IORESOURCE_IRQ, | ||
175 | }, | ||
176 | }; | ||
177 | |||
178 | static struct platform_device kirkwood_ge01_shared = { | ||
179 | .name = MV643XX_ETH_SHARED_NAME, | ||
180 | .id = 1, | ||
181 | .dev = { | ||
182 | .platform_data = &kirkwood_ge01_shared_data, | ||
183 | }, | ||
184 | .num_resources = ARRAY_SIZE(kirkwood_ge01_shared_resources), | ||
185 | .resource = kirkwood_ge01_shared_resources, | ||
186 | }; | ||
187 | |||
188 | static struct resource kirkwood_ge01_resources[] = { | ||
189 | { | ||
190 | .name = "ge01 irq", | ||
191 | .start = IRQ_KIRKWOOD_GE01_SUM, | ||
192 | .end = IRQ_KIRKWOOD_GE01_SUM, | ||
193 | .flags = IORESOURCE_IRQ, | ||
194 | }, | ||
195 | }; | ||
196 | |||
197 | static struct platform_device kirkwood_ge01 = { | ||
198 | .name = MV643XX_ETH_NAME, | ||
199 | .id = 1, | ||
200 | .num_resources = 1, | ||
201 | .resource = kirkwood_ge01_resources, | ||
202 | }; | ||
203 | |||
204 | void __init kirkwood_ge01_init(struct mv643xx_eth_platform_data *eth_data) | ||
205 | { | ||
206 | eth_data->shared = &kirkwood_ge01_shared; | ||
207 | kirkwood_ge01.dev.platform_data = eth_data; | ||
208 | |||
209 | platform_device_register(&kirkwood_ge01_shared); | ||
210 | platform_device_register(&kirkwood_ge01); | ||
211 | } | ||
212 | |||
213 | |||
214 | /***************************************************************************** | ||
157 | * Ethernet switch | 215 | * Ethernet switch |
158 | ****************************************************************************/ | 216 | ****************************************************************************/ |
159 | static struct resource kirkwood_switch_resources[] = { | 217 | static struct resource kirkwood_switch_resources[] = { |
diff --git a/arch/arm/mach-kirkwood/common.h b/arch/arm/mach-kirkwood/common.h index 5774632a67e3..fe367c18e722 100644 --- a/arch/arm/mach-kirkwood/common.h +++ b/arch/arm/mach-kirkwood/common.h | |||
@@ -30,6 +30,7 @@ void kirkwood_pcie_id(u32 *dev, u32 *rev); | |||
30 | 30 | ||
31 | void kirkwood_ehci_init(void); | 31 | void kirkwood_ehci_init(void); |
32 | 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_ge01_init(struct mv643xx_eth_platform_data *eth_data); | ||
33 | void kirkwood_ge00_switch_init(struct dsa_platform_data *d, int irq); | 34 | void kirkwood_ge00_switch_init(struct dsa_platform_data *d, int irq); |
34 | void kirkwood_pcie_init(void); | 35 | void kirkwood_pcie_init(void); |
35 | void kirkwood_rtc_init(void); | 36 | void kirkwood_rtc_init(void); |
diff --git a/arch/arm/mach-kirkwood/include/mach/irqs.h b/arch/arm/mach-kirkwood/include/mach/irqs.h index ffab89f21c11..3a964bb14973 100644 --- a/arch/arm/mach-kirkwood/include/mach/irqs.h +++ b/arch/arm/mach-kirkwood/include/mach/irqs.h | |||
@@ -51,6 +51,7 @@ | |||
51 | #define IRQ_KIRKWOOD_GPIO_HIGH_8_15 40 | 51 | #define IRQ_KIRKWOOD_GPIO_HIGH_8_15 40 |
52 | #define IRQ_KIRKWOOD_GPIO_HIGH_16_23 41 | 52 | #define IRQ_KIRKWOOD_GPIO_HIGH_16_23 41 |
53 | #define IRQ_KIRKWOOD_GE00_ERR 46 | 53 | #define IRQ_KIRKWOOD_GE00_ERR 46 |
54 | #define IRQ_KIRKWOOD_GE01_ERR 47 | ||
54 | 55 | ||
55 | /* | 56 | /* |
56 | * KIRKWOOD General Purpose Pins | 57 | * KIRKWOOD General Purpose Pins |