clk: imx: fix composite peripheral flags
authorPeng Fan <peng.fan@nxp.com>
Wed, 26 Aug 2020 07:14:07 +0000 (15:14 +0800)
committerShawn Guo <shawnguo@kernel.org>
Mon, 7 Sep 2020 03:08:50 +0000 (11:08 +0800)
According to RM, for peripheral clock slice,
"IP clock slices must be stopped to change the clock source.".

So we must have CLK_SET_PARENT_GATE flag to avoid glitch.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
drivers/clk/imx/clk-composite-8m.c

index 78fb7e5..2c309e3 100644 (file)
@@ -216,6 +216,7 @@ struct clk_hw *imx8m_clk_hw_composite_flags(const char *name,
                div->width = PCG_PREDIV_WIDTH;
                divider_ops = &imx8m_clk_composite_divider_ops;
                mux_ops = &clk_mux_ops;
+               flags |= CLK_SET_PARENT_GATE;
        }
 
        div->lock = &imx_ccm_lock;