aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-shmobile/board-bonito.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-shmobile/board-bonito.c')
-rw-r--r--arch/arm/mach-shmobile/board-bonito.c44
1 files changed, 12 insertions, 32 deletions
diff --git a/arch/arm/mach-shmobile/board-bonito.c b/arch/arm/mach-shmobile/board-bonito.c
index c79baa9ef61b..8b2124da245d 100644
--- a/arch/arm/mach-shmobile/board-bonito.c
+++ b/arch/arm/mach-shmobile/board-bonito.c
@@ -328,28 +328,6 @@ static struct platform_device *bonito_base_devices[] __initdata = {
328 * map I/O 328 * map I/O
329 */ 329 */
330static struct map_desc bonito_io_desc[] __initdata = { 330static struct map_desc bonito_io_desc[] __initdata = {
331 /*
332 * for CPGA/INTC/PFC
333 * 0xe6000000-0xefffffff -> 0xe6000000-0xefffffff
334 */
335 {
336 .virtual = 0xe6000000,
337 .pfn = __phys_to_pfn(0xe6000000),
338 .length = 160 << 20,
339 .type = MT_DEVICE_NONSHARED
340 },
341#ifdef CONFIG_CACHE_L2X0
342 /*
343 * for l2x0_init()
344 * 0xf0100000-0xf0101000 -> 0xf0002000-0xf0003000
345 */
346 {
347 .virtual = 0xf0002000,
348 .pfn = __phys_to_pfn(0xf0100000),
349 .length = PAGE_SIZE,
350 .type = MT_DEVICE_NONSHARED
351 },
352#endif
353 /* 331 /*
354 * for FPGA (0x1800000-0x19ffffff) 332 * for FPGA (0x1800000-0x19ffffff)
355 * 0x18000000-0x18002000 -> 0xf0003000-0xf0005000 333 * 0x18000000-0x18002000 -> 0xf0003000-0xf0005000
@@ -364,11 +342,8 @@ static struct map_desc bonito_io_desc[] __initdata = {
364 342
365static void __init bonito_map_io(void) 343static void __init bonito_map_io(void)
366{ 344{
345 r8a7740_map_io();
367 iotable_init(bonito_io_desc, ARRAY_SIZE(bonito_io_desc)); 346 iotable_init(bonito_io_desc, ARRAY_SIZE(bonito_io_desc));
368
369 /* setup early devices and console here as well */
370 r8a7740_add_early_devices();
371 shmobile_setup_console();
372} 347}
373 348
374/* 349/*
@@ -492,7 +467,7 @@ static void __init bonito_init(void)
492 } 467 }
493} 468}
494 469
495static void __init bonito_timer_init(void) 470static void __init bonito_earlytimer_init(void)
496{ 471{
497 u16 val; 472 u16 val;
498 u8 md_ck = 0; 473 u8 md_ck = 0;
@@ -507,17 +482,22 @@ static void __init bonito_timer_init(void)
507 md_ck |= MD_CK0; 482 md_ck |= MD_CK0;
508 483
509 r8a7740_clock_init(md_ck); 484 r8a7740_clock_init(md_ck);
510 shmobile_timer.init(); 485 shmobile_earlytimer_init();
511} 486}
512 487
513struct sys_timer bonito_timer = { 488void __init bonito_add_early_devices(void)
514 .init = bonito_timer_init, 489{
515}; 490 r8a7740_add_early_devices();
491
492 /* override timer setup with board-specific code */
493 shmobile_timer.init = bonito_earlytimer_init;
494}
516 495
517MACHINE_START(BONITO, "bonito") 496MACHINE_START(BONITO, "bonito")
518 .map_io = bonito_map_io, 497 .map_io = bonito_map_io,
498 .init_early = bonito_add_early_devices,
519 .init_irq = r8a7740_init_irq, 499 .init_irq = r8a7740_init_irq,
520 .handle_irq = shmobile_handle_irq_intc, 500 .handle_irq = shmobile_handle_irq_intc,
521 .init_machine = bonito_init, 501 .init_machine = bonito_init,
522 .timer = &bonito_timer, 502 .timer = &shmobile_timer,
523MACHINE_END 503MACHINE_END