Messages in this thread | | | Date | Fri, 26 May 2023 18:53:46 +0300 | Subject | Re: [PATCH V2 3/6] clk: qcom: clk-alpha-pll: Remove explicit CAL_L configuration for EVO PLL | From | Dmitry Baryshkov <> |
| |
On 26/05/2023 12:33, Konrad Dybcio wrote: > > > On 25.05.2023 19:21, Jagadeesh Kona wrote: >> In lucid evo pll, the CAL_L field is part of L value register itself, and >> the l value configuration passed from clock controller driver includes >> CAL_L and L values as well. Hence remove explicit configuration of CAL_L >> for evo pll. >> >> Fixes: 260e36606a03 ("clk: qcom: clk-alpha-pll: add Lucid EVO PLL configuration interfaces") >> Signed-off-by: Taniya Das <quic_tdas@quicinc.com> >> Signed-off-by: Jagadeesh Kona <quic_jkona@quicinc.com> >> --- > Oh that isn't obvious at first sight, nice find! > > I'd suggest a different solution though: > > #define LUCID_EVO_PLL_L_LVAL GENMASK(.. > #define LUCID_EVO_PLL_L_CAL_L GENMASK(.. > > lval = FIELD_PREP(LUCID_EVO_PLL_L_LVAL, config->l) | > FIELD_PREP(LUCID_EVO_PLL_L_CAL_L, config->cal_l); > > This would make the separation between the two parts more explicit > > however > > config->l would then represent the L value and not the end value > written to the L register
Yes. I think there should be separate config->l and config->cal_l values (and probably ringosc_cal_l, basing on the comment in the source).
Just a question: is camcc-sm8550 using the same PLL type or is it some kind of subtype of lucid_evo PLL?
-- With best wishes Dmitry
| |