Message ID | 20230113120544.59320-1-dmitry.baryshkov@linaro.org |
---|---|
Headers | show |
Series | clk: qcom: cpu-8996: stability fixes | expand |
On 13.01.2023 13:05, Dmitry Baryshkov wrote: > Switch both power and performance clocks to the GPLL0/2 (sys_apcs_aux) > before PLL configuration. Switch them to the ACD afterwards. > > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > --- Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org> Konrad > drivers/clk/qcom/clk-cpu-8996.c | 14 ++++++++++++++ > 1 file changed, 14 insertions(+) > > diff --git a/drivers/clk/qcom/clk-cpu-8996.c b/drivers/clk/qcom/clk-cpu-8996.c > index 571ed52b3026..07d59bca741e 100644 > --- a/drivers/clk/qcom/clk-cpu-8996.c > +++ b/drivers/clk/qcom/clk-cpu-8996.c > @@ -432,13 +432,27 @@ static int qcom_cpu_clk_msm8996_register_clks(struct device *dev, > { > int i, ret; > > + /* Select GPLL0 for 300MHz for both clusters */ > + regmap_write(regmap, PERFCL_REG_OFFSET + MUX_OFFSET, 0xc); > + regmap_write(regmap, PWRCL_REG_OFFSET + MUX_OFFSET, 0xc); > + > + /* Ensure write goes through before PLLs are reconfigured */ > + udelay(5); > + > clk_alpha_pll_configure(&pwrcl_pll, regmap, &hfpll_config); > clk_alpha_pll_configure(&perfcl_pll, regmap, &hfpll_config); > clk_alpha_pll_configure(&pwrcl_alt_pll, regmap, &altpll_config); > clk_alpha_pll_configure(&perfcl_alt_pll, regmap, &altpll_config); > > + /* Wait for PLL(s) to lock */ > + udelay(50); > + > qcom_cpu_clk_msm8996_acd_init(regmap); > > + /* Switch clusters to use the ACD leg */ > + regmap_write(regmap, PWRCL_REG_OFFSET + MUX_OFFSET, 0x2); > + regmap_write(regmap, PERFCL_REG_OFFSET + MUX_OFFSET, 0x2); > + > for (i = 0; i < ARRAY_SIZE(cpu_msm8996_hw_clks); i++) { > ret = devm_clk_hw_register(dev, cpu_msm8996_hw_clks[i]); > if (ret)
On Fri, 13 Jan 2023 14:05:30 +0200, Dmitry Baryshkov wrote: > This series provides stability fixes for the MSM8996 boot process. It > changes the order of calls during the CPU PLL setup, makes it use GPLL0 > (through sys_apcs_aux) during PLL init, finetunes the ACD, etc. > > Dependency: [1] > > [1] https://lore.kernel.org/linux-arm-msm/20230111191453.2509468-1-dmitry.baryshkov@linaro.org/ > > [...] Applied, thanks! [14/14] arm64: dts: qcom: msm8996: support using GPLL0 as kryocc input commit: ac0d84d4556cecf81ba0b1631d25d9a395235a5c Best regards,