[PATCH 4/4] clk: qcom: Add lpass clock controller driver for Glymur
From: Srinivas Kandagatla
Date: Tue Sep 22 2026 - 14:46:52 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>
---
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 97fc099983b6..782183012d97 100644
--- a/drivers/clk/qcom/lpasscc-glymur.c
+++ b/drivers/clk/qcom/lpasscc-glymur.c
@@ -39,10 +39,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