summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-at91/include/mach/system.h
diff options
context:
space:
mode:
authorGreg Ungerer <gerg@snapgear.com>2010-09-21 20:39:40 +1000
committerNicolas Ferre <nicolas.ferre@atmel.com>2010-10-07 19:56:54 +0200
commitcb809b1a5ebffca8cf0314b788919989e8e4ab5f (patch)
treefec437f53dbc5dd30b7289415ce731ec5db1b5f2 /arch/arm/mach-at91/include/mach/system.h
parenta6e016f19d393fbe4e040bee8155b03b840fa689 (diff)
AT91: fix use of clock disable on idle for AT91x40 devices
The simpler AT91x40 processors do not have the same power management controller as the new AT91 devices. They do have a simpler power controller module that we can use to disable the CPU clock at idle time. Add code to support that. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Diffstat (limited to 'arch/arm/mach-at91/include/mach/system.h')
-rw-r--r--arch/arm/mach-at91/include/mach/system.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/arm/mach-at91/include/mach/system.h b/arch/arm/mach-at91/include/mach/system.h
index c80e090b367..bfbb612265d 100644
--- a/arch/arm/mach-at91/include/mach/system.h
+++ b/arch/arm/mach-at91/include/mach/system.h
@@ -33,7 +33,11 @@ static inline void arch_idle(void)
* Disable the processor clock. The processor will be automatically
* re-enabled by an interrupt or by a reset.
*/
+#ifdef AT91_PS
+ at91_sys_write(AT91_PS_CR, AT91_PS_CR_CPU);
+#else
at91_sys_write(AT91_PMC_SCDR, AT91_PMC_PCK);
+#endif
#else
/*
* Set the processor (CP15) into 'Wait for Interrupt' mode.