From cbff8031b491bf61673966e12f632300a17da470 Mon Sep 17 00:00:00 2001 From: Andrey Smirnov Date: Mon, 19 Jun 2017 07:40:38 -0700 Subject: i.MX: clk-pllv3: Do not touch PLL_BYPASS bit 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()) change clock chain instead of being a no-op. Signed-off-by: Andrey Smirnov Signed-off-by: Sascha Hauer --- 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 6d4399b9b3..a14d36e565 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 -- cgit v1.2.3