Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

clk: qcom: clk-alpha-pll: Add support for zonda ole pll configure

Zonda ole pll has as extra PLL_OFF_CONFIG_CTL_U2 register, hence add
support for it.

Signed-off-by: Rajendra Nayak <quic_rjendra@quicinc.com>
Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
Link: https://lore.kernel.org/r/20240202-x1e80100-clock-controllers-v4-6-7fb08c861c7c@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>

authored by

Rajendra Nayak and committed by
Bjorn Andersson
c32f4f4a 78654850

+20
+16
drivers/clk/qcom/clk-alpha-pll.c
··· 52 52 #define PLL_CONFIG_CTL(p) ((p)->offset + (p)->regs[PLL_OFF_CONFIG_CTL]) 53 53 #define PLL_CONFIG_CTL_U(p) ((p)->offset + (p)->regs[PLL_OFF_CONFIG_CTL_U]) 54 54 #define PLL_CONFIG_CTL_U1(p) ((p)->offset + (p)->regs[PLL_OFF_CONFIG_CTL_U1]) 55 + #define PLL_CONFIG_CTL_U2(p) ((p)->offset + (p)->regs[PLL_OFF_CONFIG_CTL_U2]) 55 56 #define PLL_TEST_CTL(p) ((p)->offset + (p)->regs[PLL_OFF_TEST_CTL]) 56 57 #define PLL_TEST_CTL_U(p) ((p)->offset + (p)->regs[PLL_OFF_TEST_CTL_U]) 57 58 #define PLL_TEST_CTL_U1(p) ((p)->offset + (p)->regs[PLL_OFF_TEST_CTL_U1]) ··· 228 227 [PLL_OFF_STATUS] = 0x1c, 229 228 [PLL_OFF_ALPHA_VAL] = 0x24, 230 229 [PLL_OFF_ALPHA_VAL_U] = 0x28, 230 + }, 231 + [CLK_ALPHA_PLL_TYPE_ZONDA_OLE] = { 232 + [PLL_OFF_L_VAL] = 0x04, 233 + [PLL_OFF_ALPHA_VAL] = 0x08, 234 + [PLL_OFF_USER_CTL] = 0x0c, 235 + [PLL_OFF_USER_CTL_U] = 0x10, 236 + [PLL_OFF_CONFIG_CTL] = 0x14, 237 + [PLL_OFF_CONFIG_CTL_U] = 0x18, 238 + [PLL_OFF_CONFIG_CTL_U1] = 0x1c, 239 + [PLL_OFF_CONFIG_CTL_U2] = 0x20, 240 + [PLL_OFF_TEST_CTL] = 0x24, 241 + [PLL_OFF_TEST_CTL_U] = 0x28, 242 + [PLL_OFF_TEST_CTL_U1] = 0x2c, 243 + [PLL_OFF_OPMODE] = 0x30, 244 + [PLL_OFF_STATUS] = 0x3c, 231 245 }, 232 246 }; 233 247 EXPORT_SYMBOL_GPL(clk_alpha_pll_regs);
+4
drivers/clk/qcom/clk-alpha-pll.h
··· 21 21 CLK_ALPHA_PLL_TYPE_LUCID = CLK_ALPHA_PLL_TYPE_TRION, 22 22 CLK_ALPHA_PLL_TYPE_AGERA, 23 23 CLK_ALPHA_PLL_TYPE_ZONDA, 24 + CLK_ALPHA_PLL_TYPE_ZONDA_OLE, 24 25 CLK_ALPHA_PLL_TYPE_LUCID_EVO, 25 26 CLK_ALPHA_PLL_TYPE_LUCID_OLE, 26 27 CLK_ALPHA_PLL_TYPE_RIVIAN_EVO, ··· 43 42 PLL_OFF_CONFIG_CTL, 44 43 PLL_OFF_CONFIG_CTL_U, 45 44 PLL_OFF_CONFIG_CTL_U1, 45 + PLL_OFF_CONFIG_CTL_U2, 46 46 PLL_OFF_TEST_CTL, 47 47 PLL_OFF_TEST_CTL_U, 48 48 PLL_OFF_TEST_CTL_U1, ··· 121 119 u32 config_ctl_val; 122 120 u32 config_ctl_hi_val; 123 121 u32 config_ctl_hi1_val; 122 + u32 config_ctl_hi2_val; 124 123 u32 user_ctl_val; 125 124 u32 user_ctl_hi_val; 126 125 u32 user_ctl_hi1_val; ··· 176 173 177 174 extern const struct clk_ops clk_alpha_pll_zonda_ops; 178 175 #define clk_alpha_pll_postdiv_zonda_ops clk_alpha_pll_postdiv_fabia_ops 176 + #define clk_alpha_pll_zonda_ole_ops clk_alpha_pll_zonda_ops 179 177 180 178 extern const struct clk_ops clk_alpha_pll_lucid_evo_ops; 181 179 extern const struct clk_ops clk_alpha_pll_reset_lucid_evo_ops;