diff options
author | Philipp Zabel <p.zabel@pengutronix.de> | 2014-01-29 17:10:04 +0100 |
---|---|---|
committer | Kevin Hilman <khilman@linaro.org> | 2014-02-10 10:37:32 -0800 |
commit | e7c57ecd6019cc6392223605aed18cce257c3eff (patch) | |
tree | 4cc2a5bb059a3b799464a6240da25c13ff13a1bc /arch/arm/mach-imx/clk-imx6sl.c | |
parent | 9705e74671f0e4f994d86b00cecf441917c64a66 (diff) | |
download | blackbird-obmc-linux-e7c57ecd6019cc6392223605aed18cce257c3eff.tar.gz blackbird-obmc-linux-e7c57ecd6019cc6392223605aed18cce257c3eff.zip |
ARM: imx6: Initialize low-power mode early again
Since commit 9e8147bb5ec5d1dda2141da70f96b98985a306cb
"ARM: imx6q: move low-power code out of clock driver"
the kernel fails to boot on i.MX6Q/D if preemption is
enabled (CONFIG_PREEMPT=y). The kernel just hangs
before the console comes up.
The above commit moved the initalization of the low-power
mode setting (enabling clocked WAIT states), which was
introduced in commit 83ae20981ae924c37d02a42c829155fc3851260c
"ARM: imx: correct low-power mode setting", from
imx6q_clks_init to imx6q_pm_init. Now it is called
much later, after all cores are enabled.
This patch moves the low-power mode initialization back
to imx6q_clks_init again (and to imx6sl_clks_init).
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Kevin Hilman <khilman@linaro.org>
Diffstat (limited to 'arch/arm/mach-imx/clk-imx6sl.c')
-rw-r--r-- | arch/arm/mach-imx/clk-imx6sl.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/arm/mach-imx/clk-imx6sl.c b/arch/arm/mach-imx/clk-imx6sl.c index 3781a1853998..4c86f3035205 100644 --- a/arch/arm/mach-imx/clk-imx6sl.c +++ b/arch/arm/mach-imx/clk-imx6sl.c @@ -266,6 +266,9 @@ static void __init imx6sl_clocks_init(struct device_node *ccm_node) /* Audio-related clocks configuration */ clk_set_parent(clks[IMX6SL_CLK_SPDIF0_SEL], clks[IMX6SL_CLK_PLL3_PFD3]); + /* Set initial power mode */ + imx6q_set_lpm(WAIT_CLOCKED); + np = of_find_compatible_node(NULL, NULL, "fsl,imx6sl-gpt"); base = of_iomap(np, 0); WARN_ON(!base); |