diff options
author | Shawn Guo <shawn.guo@linaro.org> | 2012-12-04 15:55:15 +0100 |
---|---|---|
committer | Shawn Guo <shawn.guo@linaro.org> | 2013-01-30 14:09:31 +0100 |
commit | e5f9dec8ff5ff3f6254412abed1f68d758f6616b (patch) | |
tree | 05f293a11ec605b1380b2c7bfb0c3895abeddb08 /arch/arm/mach-imx/platsmp.c | |
parent | ARM: imx: move imx6q_cpuidle_driver into a separate file (diff) | |
download | linux-e5f9dec8ff5ff3f6254412abed1f68d758f6616b.tar.xz linux-e5f9dec8ff5ff3f6254412abed1f68d758f6616b.zip |
ARM: imx6q: support WAIT mode using cpuidle
Add WAIT mode (ARM core clock gating) support to imx6q cpuidle driver.
As WAIT mode is broken on imx6q TO 1.0 and 1.1, it only enables the
support for revision 1.2 with chicken bit set.
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Diffstat (limited to 'arch/arm/mach-imx/platsmp.c')
-rw-r--r-- | arch/arm/mach-imx/platsmp.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/arm/mach-imx/platsmp.c b/arch/arm/mach-imx/platsmp.c index 3777b805b76b..a70b54877191 100644 --- a/arch/arm/mach-imx/platsmp.c +++ b/arch/arm/mach-imx/platsmp.c @@ -20,6 +20,8 @@ #include "common.h" #include "hardware.h" +#define SCU_STANDBY_ENABLE (1 << 5) + static void __iomem *scu_base; static struct map_desc scu_io_desc __initdata = { @@ -42,6 +44,14 @@ void __init imx_scu_map_io(void) scu_base = IMX_IO_ADDRESS(base); } +void imx_scu_standby_enable(void) +{ + u32 val = readl_relaxed(scu_base); + + val |= SCU_STANDBY_ENABLE; + writel_relaxed(val, scu_base); +} + static void __cpuinit imx_secondary_init(unsigned int cpu) { /* |