diff options
Diffstat (limited to 'arch/arm/mach-at91/at91cap9.c')
-rw-r--r-- | arch/arm/mach-at91/at91cap9.c | 45 |
1 files changed, 10 insertions, 35 deletions
diff --git a/arch/arm/mach-at91/at91cap9.c b/arch/arm/mach-at91/at91cap9.c index f1013d08bb5..bfc684441ef 100644 --- a/arch/arm/mach-at91/at91cap9.c +++ b/arch/arm/mach-at91/at91cap9.c | |||
@@ -25,23 +25,10 @@ | |||
25 | #include <mach/at91_rstc.h> | 25 | #include <mach/at91_rstc.h> |
26 | #include <mach/at91_shdwc.h> | 26 | #include <mach/at91_shdwc.h> |
27 | 27 | ||
28 | #include "soc.h" | ||
28 | #include "generic.h" | 29 | #include "generic.h" |
29 | #include "clock.h" | 30 | #include "clock.h" |
30 | 31 | ||
31 | static struct map_desc at91cap9_io_desc[] __initdata = { | ||
32 | { | ||
33 | .virtual = AT91_VA_BASE_SYS, | ||
34 | .pfn = __phys_to_pfn(AT91_BASE_SYS), | ||
35 | .length = SZ_16K, | ||
36 | .type = MT_DEVICE, | ||
37 | }, { | ||
38 | .virtual = AT91_IO_VIRT_BASE - AT91CAP9_SRAM_SIZE, | ||
39 | .pfn = __phys_to_pfn(AT91CAP9_SRAM_BASE), | ||
40 | .length = AT91CAP9_SRAM_SIZE, | ||
41 | .type = MT_DEVICE, | ||
42 | }, | ||
43 | }; | ||
44 | |||
45 | /* -------------------------------------------------------------------- | 32 | /* -------------------------------------------------------------------- |
46 | * Clocks | 33 | * Clocks |
47 | * -------------------------------------------------------------------- */ | 34 | * -------------------------------------------------------------------- */ |
@@ -339,24 +326,17 @@ static void at91cap9_poweroff(void) | |||
339 | * AT91CAP9 processor initialization | 326 | * AT91CAP9 processor initialization |
340 | * -------------------------------------------------------------------- */ | 327 | * -------------------------------------------------------------------- */ |
341 | 328 | ||
342 | void __init at91cap9_map_io(void) | 329 | static void __init at91cap9_map_io(void) |
343 | { | 330 | { |
344 | /* Map peripherals */ | 331 | at91_init_sram(0, AT91CAP9_SRAM_BASE, AT91CAP9_SRAM_SIZE); |
345 | iotable_init(at91cap9_io_desc, ARRAY_SIZE(at91cap9_io_desc)); | ||
346 | } | 332 | } |
347 | 333 | ||
348 | void __init at91cap9_initialize(unsigned long main_clock) | 334 | static void __init at91cap9_initialize(void) |
349 | { | 335 | { |
350 | at91_arch_reset = at91cap9_reset; | 336 | at91_arch_reset = at91cap9_reset; |
351 | pm_power_off = at91cap9_poweroff; | 337 | pm_power_off = at91cap9_poweroff; |
352 | at91_extern_irq = (1 << AT91CAP9_ID_IRQ0) | (1 << AT91CAP9_ID_IRQ1); | 338 | at91_extern_irq = (1 << AT91CAP9_ID_IRQ0) | (1 << AT91CAP9_ID_IRQ1); |
353 | 339 | ||
354 | /* Init clock subsystem */ | ||
355 | at91_clock_init(main_clock); | ||
356 | |||
357 | /* Register the processor-specific clocks */ | ||
358 | at91cap9_register_clocks(); | ||
359 | |||
360 | /* Register GPIO subsystem */ | 340 | /* Register GPIO subsystem */ |
361 | at91_gpio_init(at91cap9_gpio, 4); | 341 | at91_gpio_init(at91cap9_gpio, 4); |
362 | 342 | ||
@@ -409,14 +389,9 @@ static unsigned int at91cap9_default_irq_priority[NR_AIC_IRQS] __initdata = { | |||
409 | 0, /* Advanced Interrupt Controller (IRQ1) */ | 389 | 0, /* Advanced Interrupt Controller (IRQ1) */ |
410 | }; | 390 | }; |
411 | 391 | ||
412 | void __init at91cap9_init_interrupts(unsigned int priority[NR_AIC_IRQS]) | 392 | struct at91_init_soc __initdata at91cap9_soc = { |
413 | { | 393 | .map_io = at91cap9_map_io, |
414 | if (!priority) | 394 | .default_irq_priority = at91cap9_default_irq_priority, |
415 | priority = at91cap9_default_irq_priority; | 395 | .register_clocks = at91cap9_register_clocks, |
416 | 396 | .init = at91cap9_initialize, | |
417 | /* Initialize the AIC interrupt controller */ | 397 | }; |
418 | at91_aic_init(priority); | ||
419 | |||
420 | /* Enable GPIO interrupts */ | ||
421 | at91_gpio_irq_setup(); | ||
422 | } | ||