diff options
Diffstat (limited to 'arch/arm/mach-at91/at91cap9.c')
-rw-r--r-- | arch/arm/mach-at91/at91cap9.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/arm/mach-at91/at91cap9.c b/arch/arm/mach-at91/at91cap9.c index edb879ac04c8..1d29a6cbbae2 100644 --- a/arch/arm/mach-at91/at91cap9.c +++ b/arch/arm/mach-at91/at91cap9.c | |||
@@ -14,6 +14,7 @@ | |||
14 | 14 | ||
15 | #include <linux/module.h> | 15 | #include <linux/module.h> |
16 | 16 | ||
17 | #include <asm/proc-fns.h> | ||
17 | #include <asm/irq.h> | 18 | #include <asm/irq.h> |
18 | #include <asm/mach/arch.h> | 19 | #include <asm/mach/arch.h> |
19 | #include <asm/mach/map.h> | 20 | #include <asm/mach/map.h> |
@@ -314,6 +315,12 @@ static struct at91_gpio_bank at91cap9_gpio[] __initdata = { | |||
314 | } | 315 | } |
315 | }; | 316 | }; |
316 | 317 | ||
318 | static void at91cap9_idle(void) | ||
319 | { | ||
320 | at91_sys_write(AT91_PMC_SCDR, AT91_PMC_PCK); | ||
321 | cpu_do_idle(); | ||
322 | } | ||
323 | |||
317 | static void at91cap9_restart(char mode, const char *cmd) | 324 | static void at91cap9_restart(char mode, const char *cmd) |
318 | { | 325 | { |
319 | at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST); | 326 | at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST); |
@@ -337,6 +344,7 @@ static void __init at91cap9_ioremap_registers(void) | |||
337 | 344 | ||
338 | static void __init at91cap9_initialize(void) | 345 | static void __init at91cap9_initialize(void) |
339 | { | 346 | { |
347 | arm_pm_idle = at91cap9_idle; | ||
340 | arm_pm_restart = at91cap9_restart; | 348 | arm_pm_restart = at91cap9_restart; |
341 | at91_extern_irq = (1 << AT91CAP9_ID_IRQ0) | (1 << AT91CAP9_ID_IRQ1); | 349 | at91_extern_irq = (1 << AT91CAP9_ID_IRQ0) | (1 << AT91CAP9_ID_IRQ1); |
342 | 350 | ||