clk: qcom: clk-hfpll: Configure l_val in init when required
authorAdam Skladowski <a39.skl@gmail.com>
Sat, 12 Aug 2023 11:24:45 +0000 (13:24 +0200)
committerBjorn Andersson <andersson@kernel.org>
Wed, 13 Sep 2023 19:07:58 +0000 (12:07 -0700)
Add support for pre-configuring default frequency multiplier,
this appears to be required on some platforms like MSM8976.
Without configuring L_VAL device reboots when trying to bring PLL up.

Signed-off-by: Adam Skladowski <a39.skl@gmail.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20230812112534.8610-3-a39.skl@gmail.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
drivers/clk/qcom/clk-hfpll.c
drivers/clk/qcom/clk-hfpll.h

index 86f728dc69e554848eb3485f99d5750c90d860ae..705352aff0677e5d1891f63f1a882a8ccf1ea83f 100644 (file)
@@ -44,6 +44,10 @@ static void __clk_hfpll_init_once(struct clk_hw *hw)
                regmap_write(regmap, hd->user_reg, regval);
        }
 
+       /* Write L_VAL from conf if it exist */
+       if (hd->l_val)
+               regmap_write(regmap, hd->l_reg, hd->l_val);
+
        if (hd->droop_reg)
                regmap_write(regmap, hd->droop_reg, hd->droop_val);
 
index 2a57b2fb2f2f5db3955f930b9e1f9e79ecb0c00c..27b9effcb3fdf5d82c78651a0f04d6f8f51b69f5 100644 (file)
@@ -18,6 +18,7 @@ struct hfpll_data {
        u32 status_reg;
        u8  lock_bit;
 
+       u32 l_val;
        u32 droop_val;
        u32 config_val;
        u32 user_val;