clk: imx8m: fix bus critical clk registration
authorPeng Fan <peng.fan@nxp.com>
Sun, 1 Nov 2020 11:23:54 +0000 (19:23 +0800)
committerStephen Boyd <sboyd@kernel.org>
Thu, 5 Nov 2020 01:13:12 +0000 (17:13 -0800)
commitc277ca155d2f0028a5c79708426d3f79b54a5fc1
tree21bbb33da3f32f2f920492e9bb85f4bdb4e7b6f0
parent8d8c3131248d7e9c6c8ab448e1c6cb6bd7755e9c
clk: imx8m: fix bus critical clk registration

noc/axi/ahb are bus clk, not peripheral clk.
Since peripheral clk has a limitation that for peripheral clock slice,
IP clock slices must be stopped to change the clock source.

However if the bus clk is marked as critical clk peripheral, the
assigned clock parent operation will fail.

So we added CLK_SET_PARENT_GATE flag to avoid glitch.

And add imx8m_clk_hw_composite_bus_critical for bus critical clock usage

Fixes: 936c383673b9e ("clk: imx: fix composite peripheral flags")
Reviewed-by: Abel Vesa <abel.vesa@nxp.com>
Reported-by: Abel Vesa <abel.vesa@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Link: https://lore.kernel.org/r/1604229834-25594-1-git-send-email-peng.fan@nxp.com
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/imx/clk-imx8mm.c
drivers/clk/imx/clk-imx8mn.c
drivers/clk/imx/clk-imx8mp.c
drivers/clk/imx/clk-imx8mq.c
drivers/clk/imx/clk.h