diff options
author | Anson Huang <b20788@freescale.com> | 2014-06-20 01:44:05 -0400 |
---|---|---|
committer | Shawn Guo <shawn.guo@freescale.com> | 2014-07-18 04:10:14 -0400 |
commit | a25d67a437422a58852746d5b6312fd8d71d1ecf (patch) | |
tree | 555c982a7c4308105d8622b8657d683623419c54 /arch/arm/mach-imx/cpuidle-imx6q.c | |
parent | ff843d621bfc9a9b36c370bb523d3551f2e195dd (diff) |
ARM: imx: add cpuidle support for i.mx6sx
Add cpuidle support for i.MX6SX, derive from i.MX6Q's
cpuidle, two levels supported:
1. WFI;
2. WAIT mode.
Signed-off-by: Anson Huang <b20788@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
Diffstat (limited to 'arch/arm/mach-imx/cpuidle-imx6q.c')
-rw-r--r-- | arch/arm/mach-imx/cpuidle-imx6q.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/arm/mach-imx/cpuidle-imx6q.c b/arch/arm/mach-imx/cpuidle-imx6q.c index 6bcae0479049..fc0bb1eafee3 100644 --- a/arch/arm/mach-imx/cpuidle-imx6q.c +++ b/arch/arm/mach-imx/cpuidle-imx6q.c | |||
@@ -13,6 +13,7 @@ | |||
13 | 13 | ||
14 | #include "common.h" | 14 | #include "common.h" |
15 | #include "cpuidle.h" | 15 | #include "cpuidle.h" |
16 | #include "hardware.h" | ||
16 | 17 | ||
17 | static atomic_t master = ATOMIC_INIT(0); | 18 | static atomic_t master = ATOMIC_INIT(0); |
18 | static DEFINE_SPINLOCK(master_lock); | 19 | static DEFINE_SPINLOCK(master_lock); |
@@ -66,7 +67,8 @@ static struct cpuidle_driver imx6q_cpuidle_driver = { | |||
66 | int __init imx6q_cpuidle_init(void) | 67 | int __init imx6q_cpuidle_init(void) |
67 | { | 68 | { |
68 | /* Need to enable SCU standby for entering WAIT modes */ | 69 | /* Need to enable SCU standby for entering WAIT modes */ |
69 | imx_scu_standby_enable(); | 70 | if (!cpu_is_imx6sx()) |
71 | imx_scu_standby_enable(); | ||
70 | 72 | ||
71 | /* Set INT_MEM_CLK_LPM bit to get a reliable WAIT mode support */ | 73 | /* Set INT_MEM_CLK_LPM bit to get a reliable WAIT mode support */ |
72 | imx6q_set_int_mem_clk_lpm(); | 74 | imx6q_set_int_mem_clk_lpm(); |