Merge tag 'ftracetest-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt...
[sfrench/cifs-2.6.git] / arch / arm / mach-at91 / at91sam9rl.c
index d43d28ee8eaf0604e78d4cfe357f1c8fc335b51b..f553e4ea034bade189daebc308c79343939aa813 100644 (file)
@@ -24,7 +24,6 @@
 #include <mach/hardware.h>
 
 #include "at91_aic.h"
-#include "at91_rstc.h"
 #include "soc.h"
 #include "generic.h"
 #include "sam9_smc.h"
@@ -312,8 +311,6 @@ static void __init at91sam9rl_map_io(void)
 
 static void __init at91sam9rl_ioremap_registers(void)
 {
-       at91_ioremap_shdwc(AT91SAM9RL_BASE_SHDWC);
-       at91_ioremap_rstc(AT91SAM9RL_BASE_RSTC);
        at91_ioremap_ramc(0, AT91SAM9RL_BASE_SDRAMC, 512);
        at91sam926x_ioremap_pit(AT91SAM9RL_BASE_PIT);
        at91sam9_ioremap_smc(0, AT91SAM9RL_BASE_SMC);
@@ -351,9 +348,24 @@ static struct platform_device rstc_device = {
        .num_resources  = ARRAY_SIZE(rstc_resources),
 };
 
+static struct resource shdwc_resources[] = {
+       [0] = {
+               .start  = AT91SAM9RL_BASE_SHDWC,
+               .end    = AT91SAM9RL_BASE_SHDWC + SZ_16 - 1,
+               .flags  = IORESOURCE_MEM,
+       },
+};
+
+static struct platform_device shdwc_device = {
+       .name           = "at91-poweroff",
+       .resource       = shdwc_resources,
+       .num_resources  = ARRAY_SIZE(shdwc_resources),
+};
+
 static void __init at91sam9rl_register_devices(void)
 {
        platform_device_register(&rstc_device);
+       platform_device_register(&shdwc_device);
 }
 
 /* --------------------------------------------------------------------
@@ -398,6 +410,11 @@ static unsigned int at91sam9rl_default_irq_priority[NR_AIC_IRQS] __initdata = {
        0,      /* Advanced Interrupt Controller */
 };
 
+static void __init at91sam9rl_init_time(void)
+{
+       at91sam926x_pit_init(NR_IRQS_LEGACY + AT91_ID_SYS);
+}
+
 AT91_SOC_START(at91sam9rl)
        .map_io = at91sam9rl_map_io,
        .default_irq_priority = at91sam9rl_default_irq_priority,
@@ -408,4 +425,5 @@ AT91_SOC_START(at91sam9rl)
 #endif
        .register_devices = at91sam9rl_register_devices,
        .init = at91sam9rl_initialize,
+       .init_time = at91sam9rl_init_time,
 AT91_SOC_END