at91: introduce commom AT91_BASE_SYS
[pandora-kernel.git] / arch / arm / mach-at91 / at91sam9rl.c
index 29dff18..8ff7720 100644 (file)
 #include <mach/at91_rstc.h>
 #include <mach/at91_shdwc.h>
 
+#include "soc.h"
 #include "generic.h"
 #include "clock.h"
 
-static struct map_desc at91sam9rl_io_desc[] __initdata = {
-       {
-               .virtual        = AT91_VA_BASE_SYS,
-               .pfn            = __phys_to_pfn(AT91_BASE_SYS),
-               .length         = SZ_16K,
-               .type           = MT_DEVICE,
-       },
-};
-
 static struct map_desc at91sam9rl_sram_desc[] __initdata = {
        {
                .pfn            = __phys_to_pfn(AT91SAM9RL_SRAM_BASE),
@@ -287,13 +279,10 @@ static void at91sam9rl_poweroff(void)
  *  AT91SAM9RL processor initialization
  * -------------------------------------------------------------------- */
 
-void __init at91sam9rl_map_io(void)
+static void __init at91sam9rl_map_io(void)
 {
        unsigned long cidr, sram_size;
 
-       /* Map peripherals */
-       iotable_init(at91sam9rl_io_desc, ARRAY_SIZE(at91sam9rl_io_desc));
-
        cidr = at91_sys_read(AT91_DBGU_CIDR);
 
        switch (cidr & AT91_CIDR_SRAMSIZ) {
@@ -312,7 +301,7 @@ void __init at91sam9rl_map_io(void)
        iotable_init(at91sam9rl_sram_desc, ARRAY_SIZE(at91sam9rl_sram_desc));
 }
 
-void __init at91sam9rl_initialize(unsigned long main_clock)
+static void __init at91sam9rl_initialize(unsigned long main_clock)
 {
        at91_arch_reset = at91sam9_alt_reset;
        pm_power_off = at91sam9rl_poweroff;
@@ -381,3 +370,8 @@ void __init at91sam9rl_init_interrupts(unsigned int priority[NR_AIC_IRQS])
        /* Enable GPIO interrupts */
        at91_gpio_irq_setup();
 }
+
+struct at91_soc __initdata at91sam9rl_soc = {
+       .map_io = at91sam9rl_map_io,
+       .init = at91sam9rl_initialize,
+};