summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorRanjani Vaidyanathan <ra5478@freescale.com>2013-12-03 11:40:52 -0800
committerRanjani Vaidyanathan <Ranjani.Vaidyanathan@freescale.com>2013-12-06 10:53:05 -0800
commit819b27acd512ae245a42e26ff91bbffc2760629b (patch)
tree01946c827676e06d5d12cb0c82d7f443db55f843 /arch
parentbdd9f76fc55210410c28d9f204deb7e41ca0aae2 (diff)
ENGR00290601 [iMX6x] Ensure PLL is powered down when bypass rate is requested.
Ensure that PLL is powered down when bypass rate is requested and power it up when some other rate is requested. Signed-off-by: Ranjani Vaidyanathan <ra5478@freescale.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-imx/clk-pllv3.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/arm/mach-imx/clk-pllv3.c b/arch/arm/mach-imx/clk-pllv3.c
index f187052d639d..b73756eec5b7 100644
--- a/arch/arm/mach-imx/clk-pllv3.c
+++ b/arch/arm/mach-imx/clk-pllv3.c
@@ -172,10 +172,11 @@ static int clk_pllv3_set_rate(struct clk_hw *hw, unsigned long rate,
if (rate == BYPASS_RATE) {
/* Set the bypass bit. */
val |= BM_PLL_BYPASS;
+ /* Power down the PLL. */
if (pll->powerup_set)
- val |= BM_PLL_POWER;
- else
val &= ~BM_PLL_POWER;
+ else
+ val |= BM_PLL_POWER;
writel_relaxed(val, pll->base);
return 0;