diff options
author | Tony Lindgren <tony@atomide.com> | 2011-10-05 18:14:02 -0400 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2011-10-19 19:34:10 -0400 |
commit | 7b88e62f5d219a86d81bdf4388012c97dc42e8f8 (patch) | |
tree | 174143f866565578b15b3fc368b23e906a878a55 /arch/arm/mach-omap1/board-innovator.c | |
parent | 3ae3e253db7385238dd9d6c67c085afa3e770a56 (diff) |
ARM: OMAP1: Use generic map_io, init_early and init_irq
This allows removing omap hacks for map_io allowing generic
map_io.
Note that in the future we can't do cpu_is_omapxxxx detection
until in init_early. This means that board-innovator.c now
assumes 15xx only, and board-generic.c assumes 16xx only.
This is best fixed later on by passing the SoC type from
device tree.
Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch/arm/mach-omap1/board-innovator.c')
-rw-r--r-- | arch/arm/mach-omap1/board-innovator.c | 36 |
1 files changed, 16 insertions, 20 deletions
diff --git a/arch/arm/mach-omap1/board-innovator.c b/arch/arm/mach-omap1/board-innovator.c index 0b1ba462d388..3e349d0ce32c 100644 --- a/arch/arm/mach-omap1/board-innovator.c +++ b/arch/arm/mach-omap1/board-innovator.c | |||
@@ -289,12 +289,6 @@ static void __init innovator_init_smc91x(void) | |||
289 | } | 289 | } |
290 | } | 290 | } |
291 | 291 | ||
292 | static void __init innovator_init_irq(void) | ||
293 | { | ||
294 | omap1_init_common_hw(); | ||
295 | omap1_init_irq(); | ||
296 | } | ||
297 | |||
298 | #ifdef CONFIG_ARCH_OMAP15XX | 292 | #ifdef CONFIG_ARCH_OMAP15XX |
299 | static struct omap_usb_config innovator1510_usb_config __initdata = { | 293 | static struct omap_usb_config innovator1510_usb_config __initdata = { |
300 | /* for bundled non-standard host and peripheral cables */ | 294 | /* for bundled non-standard host and peripheral cables */ |
@@ -439,30 +433,32 @@ static void __init innovator_init(void) | |||
439 | innovator_mmc_init(); | 433 | innovator_mmc_init(); |
440 | } | 434 | } |
441 | 435 | ||
436 | /* | ||
437 | * REVISIT: Assume 15xx for now, we don't want to do revision check | ||
438 | * until later on. The right way to fix this is to set up a different | ||
439 | * machine_id for 16xx Innovator, or use device tree. | ||
440 | */ | ||
442 | static void __init innovator_map_io(void) | 441 | static void __init innovator_map_io(void) |
443 | { | 442 | { |
444 | omap1_map_common_io(); | 443 | omap15xx_map_io(); |
445 | 444 | ||
446 | #ifdef CONFIG_ARCH_OMAP15XX | 445 | iotable_init(innovator1510_io_desc, ARRAY_SIZE(innovator1510_io_desc)); |
447 | if (cpu_is_omap1510()) { | 446 | udelay(10); /* Delay needed for FPGA */ |
448 | iotable_init(innovator1510_io_desc, ARRAY_SIZE(innovator1510_io_desc)); | 447 | |
449 | udelay(10); /* Delay needed for FPGA */ | 448 | /* Dump the Innovator FPGA rev early - useful info for support. */ |
450 | 449 | pr_debug("Innovator FPGA Rev %d.%d Board Rev %d\n", | |
451 | /* Dump the Innovator FPGA rev early - useful info for support. */ | 450 | fpga_read(OMAP1510_FPGA_REV_HIGH), |
452 | printk("Innovator FPGA Rev %d.%d Board Rev %d\n", | 451 | fpga_read(OMAP1510_FPGA_REV_LOW), |
453 | fpga_read(OMAP1510_FPGA_REV_HIGH), | 452 | fpga_read(OMAP1510_FPGA_BOARD_REV)); |
454 | fpga_read(OMAP1510_FPGA_REV_LOW), | ||
455 | fpga_read(OMAP1510_FPGA_BOARD_REV)); | ||
456 | } | ||
457 | #endif | ||
458 | } | 453 | } |
459 | 454 | ||
460 | MACHINE_START(OMAP_INNOVATOR, "TI-Innovator") | 455 | MACHINE_START(OMAP_INNOVATOR, "TI-Innovator") |
461 | /* Maintainer: MontaVista Software, Inc. */ | 456 | /* Maintainer: MontaVista Software, Inc. */ |
462 | .boot_params = 0x10000100, | 457 | .boot_params = 0x10000100, |
463 | .map_io = innovator_map_io, | 458 | .map_io = innovator_map_io, |
459 | .init_early = omap1_init_early, | ||
464 | .reserve = omap_reserve, | 460 | .reserve = omap_reserve, |
465 | .init_irq = innovator_init_irq, | 461 | .init_irq = omap1_init_irq, |
466 | .init_machine = innovator_init, | 462 | .init_machine = innovator_init, |
467 | .timer = &omap1_timer, | 463 | .timer = &omap1_timer, |
468 | MACHINE_END | 464 | MACHINE_END |