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

ASoC: qcom: qdsp6: q6prm: add new clocks

Add support to new clocks that are added in Q6DSP as part of newer version
of LPASS support on SM8450 and SC8280XP.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20220816170118.13470-1-srinivas.kandagatla@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>

authored by

Srinivas Kandagatla and committed by
Mark Brown
ea15d3bd 43a70fb5

+46
+18
include/dt-bindings/sound/qcom,q6dsp-lpass-ports.h
··· 193 193 #define LPASS_CLK_ID_RX_CORE_MCLK 59 194 194 #define LPASS_CLK_ID_RX_CORE_NPL_MCLK 60 195 195 #define LPASS_CLK_ID_VA_CORE_2X_MCLK 61 196 + /* Clock ID for MCLK for WSA2 core */ 197 + #define LPASS_CLK_ID_WSA2_CORE_MCLK 62 198 + /* Clock ID for NPL MCLK for WSA2 core */ 199 + #define LPASS_CLK_ID_WSA2_CORE_2X_MCLK 63 200 + /* Clock ID for RX Core TX MCLK */ 201 + #define LPASS_CLK_ID_RX_CORE_TX_MCLK 64 202 + /* Clock ID for RX CORE TX 2X MCLK */ 203 + #define LPASS_CLK_ID_RX_CORE_TX_2X_MCLK 65 204 + /* Clock ID for WSA core TX MCLK */ 205 + #define LPASS_CLK_ID_WSA_CORE_TX_MCLK 66 206 + /* Clock ID for WSA core TX 2X MCLK */ 207 + #define LPASS_CLK_ID_WSA_CORE_TX_2X_MCLK 67 208 + /* Clock ID for WSA2 core TX MCLK */ 209 + #define LPASS_CLK_ID_WSA2_CORE_TX_MCLK 68 210 + /* Clock ID for WSA2 core TX 2X MCLK */ 211 + #define LPASS_CLK_ID_WSA2_CORE_TX_2X_MCLK 69 212 + /* Clock ID for RX CORE MCLK2 2X MCLK */ 213 + #define LPASS_CLK_ID_RX_CORE_MCLK2_2X_MCLK 70 196 214 197 215 #define LPASS_HW_AVTIMER_VOTE 101 198 216 #define LPASS_HW_MACRO_VOTE 102
+9
sound/soc/qcom/qdsp6/q6prm-clocks.c
··· 50 50 Q6PRM_CLK(LPASS_CLK_ID_RX_CORE_MCLK), 51 51 Q6PRM_CLK(LPASS_CLK_ID_RX_CORE_NPL_MCLK), 52 52 Q6PRM_CLK(LPASS_CLK_ID_VA_CORE_2X_MCLK), 53 + Q6PRM_CLK(LPASS_CLK_ID_WSA2_CORE_MCLK), 54 + Q6PRM_CLK(LPASS_CLK_ID_WSA2_CORE_2X_MCLK), 55 + Q6PRM_CLK(LPASS_CLK_ID_RX_CORE_TX_MCLK), 56 + Q6PRM_CLK(LPASS_CLK_ID_RX_CORE_TX_2X_MCLK), 57 + Q6PRM_CLK(LPASS_CLK_ID_WSA_CORE_TX_MCLK), 58 + Q6PRM_CLK(LPASS_CLK_ID_WSA_CORE_TX_2X_MCLK), 59 + Q6PRM_CLK(LPASS_CLK_ID_WSA2_CORE_TX_MCLK), 60 + Q6PRM_CLK(LPASS_CLK_ID_WSA2_CORE_TX_2X_MCLK), 61 + Q6PRM_CLK(LPASS_CLK_ID_RX_CORE_MCLK2_2X_MCLK), 53 62 Q6DSP_VOTE_CLK(LPASS_HW_MACRO_VOTE, Q6PRM_HW_CORE_ID_LPASS, 54 63 "LPASS_HW_MACRO"), 55 64 Q6DSP_VOTE_CLK(LPASS_HW_DCODEC_VOTE, Q6PRM_HW_CORE_ID_DCODEC,
+19
sound/soc/qcom/qdsp6/q6prm.h
··· 64 64 #define Q6PRM_LPASS_CLK_ID_RX_CORE_MCLK 0x30e 65 65 #define Q6PRM_LPASS_CLK_ID_RX_CORE_NPL_MCLK 0x30f 66 66 67 + /* Clock ID for MCLK for WSA2 core */ 68 + #define Q6PRM_LPASS_CLK_ID_WSA2_CORE_MCLK 0x310 69 + /* Clock ID for NPL MCLK for WSA2 core */ 70 + #define Q6PRM_LPASS_CLK_ID_WSA2_CORE_2X_MCLK 0x311 71 + /* Clock ID for RX Core TX MCLK */ 72 + #define Q6PRM_LPASS_CLK_ID_RX_CORE_TX_MCLK 0x312 73 + /* Clock ID for RX CORE TX 2X MCLK */ 74 + #define Q6PRM_LPASS_CLK_ID_RX_CORE_TX_2X_MCLK 0x313 75 + /* Clock ID for WSA core TX MCLK */ 76 + #define Q6PRM_LPASS_CLK_ID_WSA_CORE_TX_MCLK 0x314 77 + /* Clock ID for WSA core TX 2X MCLK */ 78 + #define Q6PRM_LPASS_CLK_ID_WSA_CORE_TX_2X_MCLK 0x315 79 + /* Clock ID for WSA2 core TX MCLK */ 80 + #define Q6PRM_LPASS_CLK_ID_WSA2_CORE_TX_MCLK 0x316 81 + /* Clock ID for WSA2 core TX 2X MCLK */ 82 + #define Q6PRM_LPASS_CLK_ID_WSA2_CORE_TX_2X_MCLK 0x317 83 + /* Clock ID for RX CORE MCLK2 2X MCLK */ 84 + #define Q6PRM_LPASS_CLK_ID_RX_CORE_MCLK2_2X_MCLK 0x318 85 + 67 86 #define Q6PRM_LPASS_CLK_SRC_INTERNAL 1 68 87 #define Q6PRM_LPASS_CLK_ROOT_DEFAULT 0 69 88 #define Q6PRM_HW_CORE_ID_LPASS 1