kernel_samsung_a53x/drivers/clk
Zhipeng Wang ce6796181c clk: imx: imx8mp: fix clock tree update of TF-A managed clocks
[ Upstream commit 3d29036853b9cb07ac49e8261fca82a940be5c41 ]

On the i.MX8M*, the TF-A exposes a SiP (Silicon Provider) service
for DDR frequency scaling. The imx8m-ddrc-devfreq driver calls the
SiP and then does clk_set_parent on the DDR muxes to synchronize
the clock tree.

since commit 936c383673b9 ("clk: imx: fix composite peripheral flags"),
these TF-A managed muxes have SET_PARENT_GATE set, which results
in imx8m-ddrc-devfreq's clk_set_parent after SiP failing with -EBUSY:

clk_set_parent(dram_apb_src, sys1_pll_40m);(busfreq-imx8mq.c)

commit 926bf91248dd
("clk: imx8m: fix clock tree update of TF-A managed clocks") adds this
method and enables 8mm, 8mn and 8mq. i.MX8MP also needs it.

This is safe to do, because updating the Linux clock tree to reflect
reality will always be glitch-free.

Another reason to this patch is that powersave image BT music
requires dram to be 400MTS, so clk_set_parent(dram_alt_src,
sys1_pll_800m); is required. Without this patch, it will not succeed.

Fixes: 936c383673b9 ("clk: imx: fix composite peripheral flags")
Signed-off-by: Zhipeng Wang <zhipeng.wang_1@nxp.com>
Reviewed-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Abel Vesa <abel.vesa@linaro.org>
Link: https://lore.kernel.org/r/20240607133347.3291040-7-peng.fan@oss.nxp.com
Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-11-23 23:21:24 +01:00
..
actions Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
analogbits Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
at91 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
axis Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
axs10x Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
baikal-t1 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
bcm Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
berlin Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
davinci clk: davinci: da8xx-cfgchip: Initialize clk_init_data before use 2024-11-23 23:20:14 +01:00
h8300 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hisilicon clk: hisilicon: hi3519: Release the correct number of gates in hi3519_clk_unregister() 2024-11-19 08:44:54 +01:00
imgtec Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
imx clk: imx: imx8mp: fix clock tree update of TF-A managed clocks 2024-11-23 23:21:24 +01:00
ingenic Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
keystone clk: keystone: pll: fix a couple NULL vs IS_ERR() checks 2024-11-18 11:42:53 +01:00
loongson1 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mediatek clk: mediatek: clk-mt2701: Add check for mtk_alloc_clk_data 2024-11-18 11:42:54 +01:00
meson Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
microchip Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mmp clk: mmp: pxa168: Fix memory leak in pxa168_clk_init() 2024-11-18 12:13:18 +01:00
mvebu Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mxs Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nxp Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pistachio Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pxa Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
qcom clk: qcom: clk-alpha-pll: Fix the trion pll postdiv set rate API 2024-11-23 23:21:00 +01:00
renesas Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
rockchip clk: rockchip: rk3128: Fix HCLK_OTG gate register 2024-11-18 12:12:16 +01:00
samsung Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sifive Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sirf Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
socfpga Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
spear Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sprd Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
st Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sunxi Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sunxi-ng clk: sunxi-ng: h6: Reparent CPUX during PLL CPUX rate change 2024-11-19 11:32:43 +01:00
tegra Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ti clk: ti: fix double free in of_ti_divider_clk_setup() 2024-11-18 11:42:54 +01:00
uniphier Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ux500 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
versatile Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
x86 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
zte Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
zynq Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
zynqmp drivers: clk: zynqmp: update divider round rate logic 2024-11-18 12:12:42 +01:00
clk-asm9260.c clk: asm9260: use parent index to link the reference clock 2024-11-18 11:42:53 +01:00
clk-aspeed.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-aspeed.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-ast2600.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-axi-clkgen.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-axm5516.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-bd718x7.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-bm1880.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-bulk.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-cdce706.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-cdce925.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-clps711x.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-composite.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-conf.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-cs2000-cp.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-devres.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-divider.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-efm32gg.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-fixed-factor.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-fixed-mmio.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-fixed-rate.c clk: fixed-rate: add devm_clk_hw_register_fixed_rate 2024-11-18 12:12:43 +01:00
clk-fractional-divider.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-fsl-sai.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-gate.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-gemini.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-gpio.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-hi655x.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-highbank.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-hsdk-pll.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-lochnagar.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-max9485.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-max77686.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-milbeaut.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-moxart.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-multiplier.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-mux.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-nomadik.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-npcm7xx.c clk: npcm7xx: Fix incorrect kfree 2024-11-18 11:42:54 +01:00
clk-nspire.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-oxnas.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-palmas.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-plldig.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-pwm.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-qoriq.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-rk808.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-s2mps11.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-scmi.c clk: scmi: Free scmi_clk allocated when the clocks with invalid info are skipped 2024-11-18 11:43:02 +01:00
clk-scpi.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-si514.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-si544.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-si570.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-si5341.c clk: si5341: fix an error code problem in si5341_output_clk_set_rate 2024-11-18 12:12:42 +01:00
clk-si5351.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-si5351.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-sparx5.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-stm32f4.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-stm32h7.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-stm32mp1.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-tango4.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-twl6040.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-u300.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-versaclock5.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-vt8500.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-wm831x.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk-xgene.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clk.c clk: Don't hold prepare_lock when calling kref_put() 2024-11-19 11:32:45 +01:00
clk.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clkdev.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Kconfig Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00