diff options
Diffstat (limited to 'arch/arm/mach-omap2/io.c')
-rw-r--r-- | arch/arm/mach-omap2/io.c | 42 |
1 files changed, 28 insertions, 14 deletions
diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c index c2032041d26f..441e79d043a7 100644 --- a/arch/arm/mach-omap2/io.c +++ b/arch/arm/mach-omap2/io.c | |||
@@ -30,7 +30,6 @@ | |||
30 | 30 | ||
31 | #include <plat/sram.h> | 31 | #include <plat/sram.h> |
32 | #include <plat/sdrc.h> | 32 | #include <plat/sdrc.h> |
33 | #include <plat/gpmc.h> | ||
34 | #include <plat/serial.h> | 33 | #include <plat/serial.h> |
35 | 34 | ||
36 | #include "clock2xxx.h" | 35 | #include "clock2xxx.h" |
@@ -66,7 +65,7 @@ static struct map_desc omap24xx_io_desc[] __initdata = { | |||
66 | }, | 65 | }, |
67 | }; | 66 | }; |
68 | 67 | ||
69 | #ifdef CONFIG_ARCH_OMAP2420 | 68 | #ifdef CONFIG_SOC_OMAP2420 |
70 | static struct map_desc omap242x_io_desc[] __initdata = { | 69 | static struct map_desc omap242x_io_desc[] __initdata = { |
71 | { | 70 | { |
72 | .virtual = DSP_MEM_2420_VIRT, | 71 | .virtual = DSP_MEM_2420_VIRT, |
@@ -90,7 +89,7 @@ static struct map_desc omap242x_io_desc[] __initdata = { | |||
90 | 89 | ||
91 | #endif | 90 | #endif |
92 | 91 | ||
93 | #ifdef CONFIG_ARCH_OMAP2430 | 92 | #ifdef CONFIG_SOC_OMAP2430 |
94 | static struct map_desc omap243x_io_desc[] __initdata = { | 93 | static struct map_desc omap243x_io_desc[] __initdata = { |
95 | { | 94 | { |
96 | .virtual = L4_WK_243X_VIRT, | 95 | .virtual = L4_WK_243X_VIRT, |
@@ -175,6 +174,18 @@ static struct map_desc omap34xx_io_desc[] __initdata = { | |||
175 | #endif | 174 | #endif |
176 | }; | 175 | }; |
177 | #endif | 176 | #endif |
177 | |||
178 | #ifdef CONFIG_SOC_OMAPTI816X | ||
179 | static struct map_desc omapti816x_io_desc[] __initdata = { | ||
180 | { | ||
181 | .virtual = L4_34XX_VIRT, | ||
182 | .pfn = __phys_to_pfn(L4_34XX_PHYS), | ||
183 | .length = L4_34XX_SIZE, | ||
184 | .type = MT_DEVICE | ||
185 | }, | ||
186 | }; | ||
187 | #endif | ||
188 | |||
178 | #ifdef CONFIG_ARCH_OMAP4 | 189 | #ifdef CONFIG_ARCH_OMAP4 |
179 | static struct map_desc omap44xx_io_desc[] __initdata = { | 190 | static struct map_desc omap44xx_io_desc[] __initdata = { |
180 | { | 191 | { |
@@ -241,7 +252,7 @@ static void __init _omap2_map_common_io(void) | |||
241 | omap_sram_init(); | 252 | omap_sram_init(); |
242 | } | 253 | } |
243 | 254 | ||
244 | #ifdef CONFIG_ARCH_OMAP2420 | 255 | #ifdef CONFIG_SOC_OMAP2420 |
245 | void __init omap242x_map_common_io(void) | 256 | void __init omap242x_map_common_io(void) |
246 | { | 257 | { |
247 | iotable_init(omap24xx_io_desc, ARRAY_SIZE(omap24xx_io_desc)); | 258 | iotable_init(omap24xx_io_desc, ARRAY_SIZE(omap24xx_io_desc)); |
@@ -250,7 +261,7 @@ void __init omap242x_map_common_io(void) | |||
250 | } | 261 | } |
251 | #endif | 262 | #endif |
252 | 263 | ||
253 | #ifdef CONFIG_ARCH_OMAP2430 | 264 | #ifdef CONFIG_SOC_OMAP2430 |
254 | void __init omap243x_map_common_io(void) | 265 | void __init omap243x_map_common_io(void) |
255 | { | 266 | { |
256 | iotable_init(omap24xx_io_desc, ARRAY_SIZE(omap24xx_io_desc)); | 267 | iotable_init(omap24xx_io_desc, ARRAY_SIZE(omap24xx_io_desc)); |
@@ -267,6 +278,14 @@ void __init omap34xx_map_common_io(void) | |||
267 | } | 278 | } |
268 | #endif | 279 | #endif |
269 | 280 | ||
281 | #ifdef CONFIG_SOC_OMAPTI816X | ||
282 | void __init omapti816x_map_common_io(void) | ||
283 | { | ||
284 | iotable_init(omapti816x_io_desc, ARRAY_SIZE(omapti816x_io_desc)); | ||
285 | _omap2_map_common_io(); | ||
286 | } | ||
287 | #endif | ||
288 | |||
270 | #ifdef CONFIG_ARCH_OMAP4 | 289 | #ifdef CONFIG_ARCH_OMAP4 |
271 | void __init omap44xx_map_common_io(void) | 290 | void __init omap44xx_map_common_io(void) |
272 | { | 291 | { |
@@ -337,15 +356,15 @@ void __init omap2_init_common_infrastructure(void) | |||
337 | 356 | ||
338 | if (cpu_is_omap242x()) { | 357 | if (cpu_is_omap242x()) { |
339 | omap2xxx_powerdomains_init(); | 358 | omap2xxx_powerdomains_init(); |
340 | omap2_clockdomains_init(); | 359 | omap2xxx_clockdomains_init(); |
341 | omap2420_hwmod_init(); | 360 | omap2420_hwmod_init(); |
342 | } else if (cpu_is_omap243x()) { | 361 | } else if (cpu_is_omap243x()) { |
343 | omap2xxx_powerdomains_init(); | 362 | omap2xxx_powerdomains_init(); |
344 | omap2_clockdomains_init(); | 363 | omap2xxx_clockdomains_init(); |
345 | omap2430_hwmod_init(); | 364 | omap2430_hwmod_init(); |
346 | } else if (cpu_is_omap34xx()) { | 365 | } else if (cpu_is_omap34xx()) { |
347 | omap3xxx_powerdomains_init(); | 366 | omap3xxx_powerdomains_init(); |
348 | omap2_clockdomains_init(); | 367 | omap3xxx_clockdomains_init(); |
349 | omap3xxx_hwmod_init(); | 368 | omap3xxx_hwmod_init(); |
350 | } else if (cpu_is_omap44xx()) { | 369 | } else if (cpu_is_omap44xx()) { |
351 | omap44xx_powerdomains_init(); | 370 | omap44xx_powerdomains_init(); |
@@ -398,15 +417,10 @@ void __init omap2_init_common_infrastructure(void) | |||
398 | void __init omap2_init_common_devices(struct omap_sdrc_params *sdrc_cs0, | 417 | void __init omap2_init_common_devices(struct omap_sdrc_params *sdrc_cs0, |
399 | struct omap_sdrc_params *sdrc_cs1) | 418 | struct omap_sdrc_params *sdrc_cs1) |
400 | { | 419 | { |
401 | omap_serial_early_init(); | 420 | if (cpu_is_omap24xx() || omap3_has_sdrc()) { |
402 | |||
403 | omap_hwmod_late_init(); | ||
404 | |||
405 | if (cpu_is_omap24xx() || cpu_is_omap34xx()) { | ||
406 | omap2_sdrc_init(sdrc_cs0, sdrc_cs1); | 421 | omap2_sdrc_init(sdrc_cs0, sdrc_cs1); |
407 | _omap2_init_reprogram_sdrc(); | 422 | _omap2_init_reprogram_sdrc(); |
408 | } | 423 | } |
409 | gpmc_init(); | ||
410 | 424 | ||
411 | omap_irq_base_init(); | 425 | omap_irq_base_init(); |
412 | } | 426 | } |