RE: [PATCH v3 07/10] clk: qcom: clk-cpu-8996: Prepare PLLs on probe
From: Stephen Boyd <sboyd@kernel.org>
Date: 2018-03-20 20:03:30
Also in:
linux-arm-kernel, linux-arm-msm, linux-clk
Quoting ilialin@codeaurora.org (2018-03-20 06:53:08)
quoted
-----Original Message----- From: Stephen Boyd <sboyd@kernel.org> Sent: Monday, March 19, 2018 18:50 To: Ilia Lin <redacted>; linux-arm-kernel@lists.infradead.org; linux-arm-msm@vger.kernel.org; linux-clk@vger.kernel.org; sboyd@codeaurora.org Cc: mark.rutland@arm.com; devicetree@vger.kernel.org; rnayak@codeaurora.org; robh@kernel.org; will.deacon@arm.com; amit.kucheria@linaro.org; tfinkel@codeaurora.org; ilialin@codeaurora.org; nicolas.dechesne@linaro.org; celster@codeaurora.org Subject: Re: [PATCH v3 07/10] clk: qcom: clk-cpu-8996: Prepare PLLs on probe Quoting Ilia Lin (2018-02-14 05:59:49)quoted
The PLLs must be prepared enabled during the probe to be accessible by the OPPs. Otherwise an OPP may switch to non-enabled clock.Sounds like an OPP problem.And again, it could be solved by a platform specific cpufreq driver. Worth it?quoted
quoted
#include "clk-alpha-pll.h" #define VCO(a, b, c) { \@@ -376,6 +376,18 @@ struct clk_hw_clks { clk_alpha_pll_configure(&perfcl_alt_pll, regmap, &altpll_config); clk_alpha_pll_configure(&pwrcl_alt_pll, regmap,&altpll_config); + /* Enable all PLLs and alt PLLs */ + clk_prepare_enable(pwrcl_alt_pll.clkr.hw.clk); + clk_prepare_enable(perfcl_alt_pll.clkr.hw.clk); + clk_prepare_enable(pwrcl_pll.clkr.hw.clk); + clk_prepare_enable(perfcl_pll.clkr.hw.clk);And this can't be done by the cpufreq-dt driver?Are you suggesting changing the cpufreq-dt as well?
Yes?
quoted
quoted
+ + /* Set initial boot frequencies for power/perf PLLs */ + clk_set_rate(pwrcl_alt_pll.clkr.hw.clk, 652800000); + clk_set_rate(perfcl_alt_pll.clkr.hw.clk, 652800000); + clk_set_rate(pwrcl_pll.clkr.hw.clk, 652800000); + clk_set_rate(perfcl_pll.clkr.hw.clk, 652800000);We have assigned rates in DT for this.I assumed that the clock driver can live without the OPP table and any cpufreq driver. Or do you mean adding this as parameters for the kryocc DT node?
Yes I mean adding assigned rates to the kroycc DT node to setup PLLs to rates you want.