1

clk: qcom: clk-hfpll: Configure l_val in init when required

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>
This commit is contained in:
Adam Skladowski 2023-08-12 13:24:45 +02:00 committed by Bjorn Andersson
parent 0bb80ecc33
commit 500a4609ee
2 changed files with 5 additions and 0 deletions

View File

@ -44,6 +44,10 @@ static void __clk_hfpll_init_once(struct clk_hw *hw)
regmap_write(regmap, hd->user_reg, regval); 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) if (hd->droop_reg)
regmap_write(regmap, hd->droop_reg, hd->droop_val); regmap_write(regmap, hd->droop_reg, hd->droop_val);

View File

@ -18,6 +18,7 @@ struct hfpll_data {
u32 status_reg; u32 status_reg;
u8 lock_bit; u8 lock_bit;
u32 l_val;
u32 droop_val; u32 droop_val;
u32 config_val; u32 config_val;
u32 user_val; u32 user_val;