[PATCH 2/3] i.MX: clk-pllv3: Do not touch PLL_BYPASS bit
Andrey Smirnov
andrew.smirnov at gmail.com
Mon Jun 19 07:40:38 PDT 2017
Do not touch PLL_BYPASS bit as a part of clk_pll3_enable/disable
execution. For a number of platforms (e.g. Vybrid, i.MX6SL) PLL_BYPASS
is specified as a bit controlling a clock MUX represented by a
dedicated 'struct clk'. Altering that bit as a part of
clk_pll3_enable/disable is equivalent to calling clk_set_parent() and
it makes in the following code:
clk_enable(clk_disable(<some pll>))
change clock chain instead of being a no-op.
Signed-off-by: Andrey Smirnov <andrew.smirnov at gmail.com>
---
drivers/clk/imx/clk-pllv3.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/clk/imx/clk-pllv3.c b/drivers/clk/imx/clk-pllv3.c
index 6d4399b..a14d36e 100644
--- a/drivers/clk/imx/clk-pllv3.c
+++ b/drivers/clk/imx/clk-pllv3.c
@@ -56,7 +56,6 @@ static int clk_pllv3_enable(struct clk *clk)
int timeout = 10000;
val = readl(pll->base);
- val &= ~BM_PLL_BYPASS;
if (pll->powerup_set)
val |= pll->power_bit;
else
@@ -88,7 +87,6 @@ static void clk_pllv3_disable(struct clk *clk)
val &= ~BM_PLL_ENABLE;
writel(val, pll->base);
- val |= BM_PLL_BYPASS;
if (pll->powerup_set)
val &= ~pll->power_bit;
else
--
2.9.4
More information about the barebox
mailing list