summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-imx
diff options
context:
space:
mode:
authorStefan Agner <stefan@agner.ch>2018-01-10 22:04:47 +0100
committerShawn Guo <shawnguo@kernel.org>2018-02-12 13:13:02 +0800
commit49a1a99c530c297aad4e40af8cffa3195f4e1b58 (patch)
tree57d94e7046d24ffb3c8b0bafbbdce450519adfd8 /arch/arm/mach-imx
parent1f9d1311a3a98e8f5db509a4ff7bf84f7d6a4ca9 (diff)
downloadop-kernel-dev-49a1a99c530c297aad4e40af8cffa3195f4e1b58.zip
op-kernel-dev-49a1a99c530c297aad4e40af8cffa3195f4e1b58.tar.gz
ARM: imx: add timer stop flag to ARM power off state
When the CPU is in ARM power off state the ARM architected timers are stopped. The flag is already present in the higher power WAIT mode. This allows to use the ARM generic timer on i.MX 6UL/6ULL SoC. Without the flag the kernel freezes when the timer enters the first time ARM power off mode. Note: The default timer on i.MX6SX is the i.MX GPT timer which is not disabled during CPU idle. However, the timer is not affected by the CPUIDLE_FLAG_TIMER_STOP flag. The flag only affects CPU local timers. Cc: Anson Huang <anson.huang@nxp.com> Signed-off-by: Stefan Agner <stefan@agner.ch> Reviewed-by: Lucas Stach <l.stach@pengutronix.de> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
Diffstat (limited to 'arch/arm/mach-imx')
-rw-r--r--arch/arm/mach-imx/cpuidle-imx6sx.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/arm/mach-imx/cpuidle-imx6sx.c b/arch/arm/mach-imx/cpuidle-imx6sx.c
index c5a5c3a..d0f14b7 100644
--- a/arch/arm/mach-imx/cpuidle-imx6sx.c
+++ b/arch/arm/mach-imx/cpuidle-imx6sx.c
@@ -89,6 +89,7 @@ static struct cpuidle_driver imx6sx_cpuidle_driver = {
*/
.exit_latency = 300,
.target_residency = 500,
+ .flags = CPUIDLE_FLAG_TIMER_STOP,
.enter = imx6sx_enter_wait,
.name = "LOW-POWER-IDLE",
.desc = "ARM power off",
OpenPOWER on IntegriCloud