]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
clk: imx8mp: Fix clkout1/2 support
authorMarek Vasut <marex@denx.de>
Tue, 12 Nov 2024 01:36:54 +0000 (02:36 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 13 Mar 2025 11:46:48 +0000 (12:46 +0100)
[ Upstream commit a9b7c84d22fb1687d63ca2a386773015cf59436b ]

The CLKOUTn may be fed from PLL1/2/3, but the PLL1/2/3 has to be enabled
first by setting PLL_CLKE bit 11 in CCM_ANALOG_SYS_PLLn_GEN_CTRL register.
The CCM_ANALOG_SYS_PLLn_GEN_CTRL bit 11 is modeled by plln_out clock. Fix
the clock tree and place the clkout1/2 under plln_sel instead of plain plln
to let the clock subsystem correctly control the bit 11 and enable the PLL
in case the CLKOUTn is supplied by PLL1/2/3.

Fixes: 43896f56b59e ("clk: imx8mp: add clkout1/2 support")
Signed-off-by: Marek Vasut <marex@denx.de>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Link: https://lore.kernel.org/r/20241112013718.333771-1-marex@denx.de
Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/clk/imx/clk-imx8mp.c

index 56d45caa603f8e970e977b1002cb2f3c68e158b9..385653fe396604df04352866853fa1d556fd6496 100644 (file)
@@ -410,8 +410,9 @@ static const char * const imx8mp_dram_core_sels[] = {"dram_pll_out", "dram_alt_r
 
 static const char * const imx8mp_clkout_sels[] = {"audio_pll1_out", "audio_pll2_out", "video_pll1_out",
                                                  "dummy", "dummy", "gpu_pll_out", "vpu_pll_out",
-                                                 "arm_pll_out", "sys_pll1", "sys_pll2", "sys_pll3",
-                                                 "dummy", "dummy", "osc_24m", "dummy", "osc_32k"};
+                                                 "arm_pll_out", "sys_pll1_out", "sys_pll2_out",
+                                                 "sys_pll3_out", "dummy", "dummy", "osc_24m",
+                                                 "dummy", "osc_32k"};
 
 static struct clk_hw **hws;
 static struct clk_hw_onecell_data *clk_hw_data;