diff options
author | Andrew Victor <linux@maxim.org.za> | 2008-09-21 21:35:18 +0100 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2008-09-21 23:01:01 +0100 |
commit | eaad2db03cbbf734aa95f99eb93fb6309637dbca (patch) | |
tree | 81812e0f56311489aaee20bba0359713ab9b0acd /arch/arm/mach-at91/Kconfig | |
parent | 77789ad8b1d58eb9ba5e14860f439d024c5e4120 (diff) |
[ARM] 5264/2: [AT91] Suspend-to-RAM disables main oscillator
This patch adds support for a low(er)-power suspend-to-RAM.
In addition to the SDRAM being put into self-refresh mode, the Master
Clock is set to the Slow-clock rate (32Khz) and PLLA & PLLB are
disabled.
Certain peripherals are therefore also disabled, and thus cannot be
used as wakeup sources.
This patch has been included in the AT91 patches in various forms
since 2.6.19 and a number of people have worked or commented on it,
most notably:
Savin Zlobec (for the original AT91RM9200 support)
Anti Sullin (for the SAM9260 version)
David Brownell, etc.
Signed-off-by: Andrew Victor <linux@maxim.org.za>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-at91/Kconfig')
-rw-r--r-- | arch/arm/mach-at91/Kconfig | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/arch/arm/mach-at91/Kconfig b/arch/arm/mach-at91/Kconfig index 68537e37387..5aafb2e2ca7 100644 --- a/arch/arm/mach-at91/Kconfig +++ b/arch/arm/mach-at91/Kconfig @@ -323,6 +323,19 @@ config AT91_PROGRAMMABLE_CLOCKS Select this if you need to program one or more of the PCK0..PCK3 programmable clock outputs. +config AT91_SLOW_CLOCK + bool "Suspend-to-RAM disables main oscillator" + depends on SUSPEND + help + Select this if you want Suspend-to-RAM to save the most power + possible (without powering off the CPU) by disabling the PLLs + and main oscillator so that only the 32 KiHz clock is available. + + When only that slow-clock is available, some peripherals lose + functionality. Many can't issue wakeup events unless faster + clocks are available. Some lose their operating state and + need to be completely re-initialized. + config AT91_TIMER_HZ int "Kernel HZ (jiffies per second)" range 32 1024 |