[PATCH v3 4/4] clk: qcom: Add lpass clock controller driver for Glymur
From: Srinivas Kandagatla
Date: Fri Oct 02 2026 - 15:46:20 EST
Add support for the lpass clock controller found on Glymur based devices.
This would allow lpass peripheral loader drivers to control the clocks and
bring the subsystems out of reset.
Currently this patch only supports resets as the Q6DSP is in control of
LPASS IP which manages most of the clocks via Q6PRM service on GPR rpmsg
channel.
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxxxxxxxx>
Reviewed-by: Abel Vesa <abel.vesa@xxxxxxxxxxxxxxxx>
Reviewed-by: Taniya Das <taniya.das@xxxxxxxxxxxxxxxx>
---
drivers/clk/qcom/lpasscc-glymur.c | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/drivers/clk/qcom/lpasscc-glymur.c b/drivers/clk/qcom/lpasscc-glymur.c
index b7fdd76df2f5..742a88ed318a 100644
--- a/drivers/clk/qcom/lpasscc-glymur.c
+++ b/drivers/clk/qcom/lpasscc-glymur.c
@@ -37,10 +37,31 @@ static const struct qcom_cc_desc lpass_audiocc_glymur_reset_desc = {
.num_resets = ARRAY_SIZE(lpass_audiocc_glymur_resets),
};
+static const struct qcom_reset_map lpasscc_glymur_resets[] = {
+ [LPASS_AUDIO_SWR_TX_CGCR] = { 0xa028, 1 },
+};
+
+static const struct regmap_config lpasscc_glymur_regmap_config = {
+ .reg_bits = 32,
+ .reg_stride = 4,
+ .val_bits = 32,
+ .name = "lpass-tcsr",
+ .max_register = 0x12000,
+};
+
+static const struct qcom_cc_desc lpasscc_glymur_reset_desc = {
+ .config = &lpasscc_glymur_regmap_config,
+ .resets = lpasscc_glymur_resets,
+ .num_resets = ARRAY_SIZE(lpasscc_glymur_resets),
+};
+
static const struct of_device_id lpasscc_glymur_match_table[] = {
{
.compatible = "qcom,glymur-lpassaudiocc",
.data = &lpass_audiocc_glymur_reset_desc,
+ }, {
+ .compatible = "qcom,glymur-lpasscc",
+ .data = &lpasscc_glymur_reset_desc,
},
{ }
};
--
2.53.0