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

Configure Feed

Select the types of activity you want to include in your feed.

clk: qcom: alpha: Add support for programming the PLL_FSM_LEGACY_MODE bit

This is used on at least SM6375 and its variations.

Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220921001303.56151-1-konrad.dybcio@somainline.org

authored by

Konrad Dybcio and committed by
Bjorn Andersson
dc99bbfe e3ae3e89

+8 -2
+5
drivers/clk/qcom/clk-alpha-pll.c
··· 27 27 # define PLL_VOTE_FSM_RESET BIT(21) 28 28 # define PLL_UPDATE BIT(22) 29 29 # define PLL_UPDATE_BYPASS BIT(23) 30 + # define PLL_FSM_LEGACY_MODE BIT(24) 30 31 # define PLL_OFFLINE_ACK BIT(28) 31 32 # define ALPHA_PLL_ACK_LATCH BIT(29) 32 33 # define PLL_ACTIVE_FLAG BIT(30) ··· 1123 1122 val = config->post_div_val; 1124 1123 regmap_update_bits(regmap, PLL_USER_CTL(pll), mask, val); 1125 1124 } 1125 + 1126 + if (pll->flags & SUPPORTS_FSM_LEGACY_MODE) 1127 + regmap_update_bits(regmap, PLL_MODE(pll), PLL_FSM_LEGACY_MODE, 1128 + PLL_FSM_LEGACY_MODE); 1126 1129 1127 1130 regmap_update_bits(regmap, PLL_MODE(pll), PLL_UPDATE_BYPASS, 1128 1131 PLL_UPDATE_BYPASS);
+3 -2
drivers/clk/qcom/clk-alpha-pll.h
··· 72 72 73 73 const struct pll_vco *vco_table; 74 74 size_t num_vco; 75 - #define SUPPORTS_OFFLINE_REQ BIT(0) 76 - #define SUPPORTS_FSM_MODE BIT(2) 75 + #define SUPPORTS_OFFLINE_REQ BIT(0) 76 + #define SUPPORTS_FSM_MODE BIT(2) 77 77 #define SUPPORTS_DYNAMIC_UPDATE BIT(3) 78 + #define SUPPORTS_FSM_LEGACY_MODE BIT(4) 78 79 u8 flags; 79 80 80 81 struct clk_regmap clkr;