summaryrefslogtreecommitdiff
path: root/arch/arm/mach-imx/mach-imx6sl.c
diff options
context:
space:
mode:
authorAnson Huang <b20788@freescale.com>2014-01-09 12:03:16 +0400
committerShawn Guo <shawn.guo@linaro.org>2014-03-05 06:35:01 +0400
commit751f7e999afcef157527f5f6f06529c93f8a4022 (patch)
tree49dae752f037aa96d2a61ec88ee5179a75c0d86d /arch/arm/mach-imx/mach-imx6sl.c
parent848db4a0a17aaf97b8ba5b1f754d635ff622670a (diff)
downloadlinux-751f7e999afcef157527f5f6f06529c93f8a4022.tar.xz
ARM: imx: add cpuidle support for i.mx6sl
Add cpuidle support for i.MX6SL, currently only support two cpuidle levels(ARM wfi and WAIT mode), and add software workaround for WAIT mode errata as below: ERR005311 CCM: After exit from WAIT mode, unwanted interrupt(s) taken during WAIT mode entry process could cause cache memory corruption. Software workaround: To prevent this issue from occurring, software should ensure that the ARM to IPG clock ratio is less than 12:5 (that is < 2.4x), before entering WAIT mode. Signed-off-by: Anson Huang <b20788@freescale.com> Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Diffstat (limited to 'arch/arm/mach-imx/mach-imx6sl.c')
-rw-r--r--arch/arm/mach-imx/mach-imx6sl.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/arm/mach-imx/mach-imx6sl.c b/arch/arm/mach-imx/mach-imx6sl.c
index 0f4fd4c0ab8e..a26fdb2b1a6f 100644
--- a/arch/arm/mach-imx/mach-imx6sl.c
+++ b/arch/arm/mach-imx/mach-imx6sl.c
@@ -17,6 +17,7 @@
#include <asm/mach/map.h>
#include "common.h"
+#include "cpuidle.h"
static void __init imx6sl_fec_init(void)
{
@@ -39,6 +40,8 @@ static void __init imx6sl_init_late(void)
/* imx6sl reuses imx6q cpufreq driver */
if (IS_ENABLED(CONFIG_ARM_IMX6Q_CPUFREQ))
platform_device_register_simple("imx6q-cpufreq", -1, NULL, 0);
+
+ imx6sl_cpuidle_init();
}
static void __init imx6sl_init_machine(void)