* [PATCH v5 0/4] Update LPASS Audio clock driver for QCM6490 board
@ 2025-02-21 9:34 Taniya Das
2025-02-21 9:34 ` [PATCH v5 1/4] dt-bindings: clock: qcom: Add compatible for QCM6490 boards Taniya Das
` (5 more replies)
0 siblings, 6 replies; 8+ messages in thread
From: Taniya Das @ 2025-02-21 9:34 UTC (permalink / raw)
To: Bjorn Andersson, Michael Turquette, Stephen Boyd, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Konrad Dybcio
Cc: Ajit Pandey, Imran Shaik, Jagadeesh Kona, linux-arm-msm,
linux-clk, devicetree, linux-kernel, Taniya Das,
Dmitry Baryshkov
This series updates the low pass audio clock controller driver for reset
functionality. The patches are split from the below series.
https://lore.kernel.org/all/20240318053555.20405-1-quic_tdas@quicinc.com/
The QCM6490 board requires only the reset functionality from the LPASS
subsystem. Thus separate out the driver probe to provide the same on the
QCM6490 boards.
[v5]:
Changes in [v5] compared to [v4]:
- Update the commit to describe the need for the new qcm6490
compatible. [Krzysztof]
- sort the compatibles. [Krzysztof]
- Link to v4: https://lore.kernel.org/r/20250220-lpass_qcm6490_resets-v4-0-68dbed85c485@quicinc.com
[v4]:
Changes in [v4] compared to [v3]:
- Update the documentation bindings to keep the clocks, powerdomain
constraints. [Krzysztof]
- Update the driver to use 'of_device_is_compatible()' instead of
'desc->num_resets' check. [Dmitry]
- Link to v3: https://lore.kernel.org/r/20250212-lpass_qcm6490_resets-v3-0-0b1cfb35b38e@quicinc.com
[v3]:
Changes in [v3] compared to [v2]:
- update to Documentation bindings adding constraints. [Krzysztof]
- split the DT patch for "Update protected clocks list" for QCM6490 IDP
https://lore.kernel.org/linux-devicetree/20250206-protected_clock_qcm6490-v1-1-5923e8c47ab5@quicinc.com/
[v2]:
Changes in [v2] compared to [v1]:
- Updated the lpass_audio_cc_sc7280 probe to get the match_data for both SC7280 and QCM6490.
- Separate regmap for resets [Konrad]
- Split the lpassaudiocc compatible and GCC protected clocks list changes. [Dmitry]
- Link to V1: https://lore.kernel.org/all/20240531102252.26061-1-quic_tdas@quicinc.com/T/
[v1]
- Add a separate platform driver for QCM6490 resets.
- Add device tree changes for protected clocks for GCC and LPASS AudioCC
compatible update.
Signed-off-by: Taniya Das <quic_tdas@quicinc.com>
---
Changes in v5:
- EDITME: describe what is new in this series revision.
- EDITME: use bulletpoints and terse descriptions.
- Link to v4: https://lore.kernel.org/r/20250220-lpass_qcm6490_resets-v4-0-68dbed85c485@quicinc.com
Changes in v4:
- EDITME: describe what is new in this series revision.
- EDITME: use bulletpoints and terse descriptions.
- Link to v3: https://lore.kernel.org/r/20250212-lpass_qcm6490_resets-v3-0-0b1cfb35b38e@quicinc.com
---
Taniya Das (4):
dt-bindings: clock: qcom: Add compatible for QCM6490 boards
clk: qcom: lpassaudiocc-sc7280: Add support for LPASS resets for QCM6490
arm64: dts: qcom: qcm6490-idp: Update the LPASS audio node
arm64: dts: qcom: qcs6490-rb3gen2: Update the LPASS audio node
.../bindings/clock/qcom,sc7280-lpasscorecc.yaml | 5 ++++-
arch/arm64/boot/dts/qcom/qcm6490-idp.dts | 5 +++++
arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts | 5 +++++
drivers/clk/qcom/lpassaudiocc-sc7280.c | 23 ++++++++++++++++++----
4 files changed, 33 insertions(+), 5 deletions(-)
---
base-commit: 808eb958781e4ebb6e9c0962af2e856767e20f45
change-id: 20250206-lpass_qcm6490_resets-204f86622a5c
Best regards,
--
Taniya Das <quic_tdas@quicinc.com>
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v5 1/4] dt-bindings: clock: qcom: Add compatible for QCM6490 boards
2025-02-21 9:34 [PATCH v5 0/4] Update LPASS Audio clock driver for QCM6490 board Taniya Das
@ 2025-02-21 9:34 ` Taniya Das
2025-02-22 9:23 ` Krzysztof Kozlowski
2025-02-21 9:34 ` [PATCH v5 2/4] clk: qcom: lpassaudiocc-sc7280: Add support for LPASS resets for QCM6490 Taniya Das
` (4 subsequent siblings)
5 siblings, 1 reply; 8+ messages in thread
From: Taniya Das @ 2025-02-21 9:34 UTC (permalink / raw)
To: Bjorn Andersson, Michael Turquette, Stephen Boyd, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Konrad Dybcio
Cc: Ajit Pandey, Imran Shaik, Jagadeesh Kona, linux-arm-msm,
linux-clk, devicetree, linux-kernel, Taniya Das
On the QCM6490 boards, the LPASS firmware controls the complete clock
controller functionalities and associated power domains. However, only
the LPASS resets required to be controlled by the high level OS. Thus,
add the new QCM6490 compatible to support the reset functionality for
Low Power Audio subsystem.
Signed-off-by: Taniya Das <quic_tdas@quicinc.com>
---
Documentation/devicetree/bindings/clock/qcom,sc7280-lpasscorecc.yaml | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/clock/qcom,sc7280-lpasscorecc.yaml b/Documentation/devicetree/bindings/clock/qcom,sc7280-lpasscorecc.yaml
index 488d63959424088ede67835eb4dcf3feef6d0848..99ab9106009f87549d4c4f2dd4ec7bc010e611d3 100644
--- a/Documentation/devicetree/bindings/clock/qcom,sc7280-lpasscorecc.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,sc7280-lpasscorecc.yaml
@@ -20,6 +20,7 @@ description: |
properties:
compatible:
enum:
+ - qcom,qcm6490-lpassaudiocc
- qcom,sc7280-lpassaoncc
- qcom,sc7280-lpassaudiocc
- qcom,sc7280-lpasscorecc
@@ -68,7 +69,9 @@ allOf:
properties:
compatible:
contains:
- const: qcom,sc7280-lpassaudiocc
+ enum:
+ - qcom,qcm6490-lpassaudiocc
+ - qcom,sc7280-lpassaudiocc
then:
properties:
--
2.48.1
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v5 2/4] clk: qcom: lpassaudiocc-sc7280: Add support for LPASS resets for QCM6490
2025-02-21 9:34 [PATCH v5 0/4] Update LPASS Audio clock driver for QCM6490 board Taniya Das
2025-02-21 9:34 ` [PATCH v5 1/4] dt-bindings: clock: qcom: Add compatible for QCM6490 boards Taniya Das
@ 2025-02-21 9:34 ` Taniya Das
2025-02-21 9:34 ` [PATCH v5 3/4] arm64: dts: qcom: qcm6490-idp: Update the LPASS audio node Taniya Das
` (3 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: Taniya Das @ 2025-02-21 9:34 UTC (permalink / raw)
To: Bjorn Andersson, Michael Turquette, Stephen Boyd, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Konrad Dybcio
Cc: Ajit Pandey, Imran Shaik, Jagadeesh Kona, linux-arm-msm,
linux-clk, devicetree, linux-kernel, Taniya Das,
Dmitry Baryshkov
On the QCM6490 boards, the LPASS firmware controls the complete clock
controller functionalities and associated power domains. However, only
the LPASS resets required to be controlled by the high level OS. Thus,
add support for the resets in the clock driver to enable the Audio SW
driver to assert/deassert the audio resets as needed.
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Taniya Das <quic_tdas@quicinc.com>
---
drivers/clk/qcom/lpassaudiocc-sc7280.c | 23 +++++++++++++++++++----
1 file changed, 19 insertions(+), 4 deletions(-)
diff --git a/drivers/clk/qcom/lpassaudiocc-sc7280.c b/drivers/clk/qcom/lpassaudiocc-sc7280.c
index 45e7264770866f929a3f4663c477330f0bf7aa84..22169da08a51a01b8cd924c4844672c7cadc7d1a 100644
--- a/drivers/clk/qcom/lpassaudiocc-sc7280.c
+++ b/drivers/clk/qcom/lpassaudiocc-sc7280.c
@@ -1,6 +1,7 @@
// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2021, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2025, Qualcomm Innovation Center, Inc. All rights reserved.
*/
#include <linux/clk-provider.h>
@@ -713,14 +714,24 @@ static const struct qcom_reset_map lpass_audio_cc_sc7280_resets[] = {
[LPASS_AUDIO_SWR_WSA_CGCR] = { 0xb0, 1 },
};
+static const struct regmap_config lpass_audio_cc_sc7280_reset_regmap_config = {
+ .name = "lpassaudio_cc_reset",
+ .reg_bits = 32,
+ .reg_stride = 4,
+ .val_bits = 32,
+ .fast_io = true,
+ .max_register = 0xc8,
+};
+
static const struct qcom_cc_desc lpass_audio_cc_reset_sc7280_desc = {
- .config = &lpass_audio_cc_sc7280_regmap_config,
+ .config = &lpass_audio_cc_sc7280_reset_regmap_config,
.resets = lpass_audio_cc_sc7280_resets,
.num_resets = ARRAY_SIZE(lpass_audio_cc_sc7280_resets),
};
static const struct of_device_id lpass_audio_cc_sc7280_match_table[] = {
- { .compatible = "qcom,sc7280-lpassaudiocc" },
+ { .compatible = "qcom,qcm6490-lpassaudiocc", .data = &lpass_audio_cc_reset_sc7280_desc },
+ { .compatible = "qcom,sc7280-lpassaudiocc", .data = &lpass_audio_cc_sc7280_desc },
{ }
};
MODULE_DEVICE_TABLE(of, lpass_audio_cc_sc7280_match_table);
@@ -752,13 +763,17 @@ static int lpass_audio_cc_sc7280_probe(struct platform_device *pdev)
struct regmap *regmap;
int ret;
+ desc = device_get_match_data(&pdev->dev);
+
+ if (of_device_is_compatible(pdev->dev.of_node, "qcom,qcm6490-lpassaudiocc"))
+ return qcom_cc_probe_by_index(pdev, 1, desc);
+
ret = lpass_audio_setup_runtime_pm(pdev);
if (ret)
return ret;
lpass_audio_cc_sc7280_regmap_config.name = "lpassaudio_cc";
lpass_audio_cc_sc7280_regmap_config.max_register = 0x2f000;
- desc = &lpass_audio_cc_sc7280_desc;
regmap = qcom_cc_map(pdev, desc);
if (IS_ERR(regmap)) {
@@ -772,7 +787,7 @@ static int lpass_audio_cc_sc7280_probe(struct platform_device *pdev)
regmap_write(regmap, 0x4, 0x3b);
regmap_write(regmap, 0x8, 0xff05);
- ret = qcom_cc_really_probe(&pdev->dev, &lpass_audio_cc_sc7280_desc, regmap);
+ ret = qcom_cc_really_probe(&pdev->dev, desc, regmap);
if (ret) {
dev_err(&pdev->dev, "Failed to register LPASS AUDIO CC clocks\n");
goto exit;
--
2.48.1
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v5 3/4] arm64: dts: qcom: qcm6490-idp: Update the LPASS audio node
2025-02-21 9:34 [PATCH v5 0/4] Update LPASS Audio clock driver for QCM6490 board Taniya Das
2025-02-21 9:34 ` [PATCH v5 1/4] dt-bindings: clock: qcom: Add compatible for QCM6490 boards Taniya Das
2025-02-21 9:34 ` [PATCH v5 2/4] clk: qcom: lpassaudiocc-sc7280: Add support for LPASS resets for QCM6490 Taniya Das
@ 2025-02-21 9:34 ` Taniya Das
2025-02-21 9:34 ` [PATCH v5 4/4] arm64: dts: qcom: qcs6490-rb3gen2: " Taniya Das
` (2 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: Taniya Das @ 2025-02-21 9:34 UTC (permalink / raw)
To: Bjorn Andersson, Michael Turquette, Stephen Boyd, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Konrad Dybcio
Cc: Ajit Pandey, Imran Shaik, Jagadeesh Kona, linux-arm-msm,
linux-clk, devicetree, linux-kernel, Taniya Das,
Dmitry Baryshkov
Update the lpassaudio node to support the new compatible as the
lpassaudio needs to support the reset functionality on the
QCM6490 IDP board and the rest of the Audio functionality would be
provided from the LPASS firmware.
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Taniya Das <quic_tdas@quicinc.com>
---
arch/arm64/boot/dts/qcom/qcm6490-idp.dts | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/qcm6490-idp.dts b/arch/arm64/boot/dts/qcom/qcm6490-idp.dts
index 9209efcc49b57a853c4dd55ac52cd4dc98d7fe86..86d58f625d0e16a1eccd9925609b496fbd066051 100644
--- a/arch/arm64/boot/dts/qcom/qcm6490-idp.dts
+++ b/arch/arm64/boot/dts/qcom/qcm6490-idp.dts
@@ -759,3 +759,8 @@ &wifi {
status = "okay";
};
+
+&lpass_audiocc {
+ compatible = "qcom,qcm6490-lpassaudiocc";
+ /delete-property/ power-domains;
+};
--
2.48.1
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v5 4/4] arm64: dts: qcom: qcs6490-rb3gen2: Update the LPASS audio node
2025-02-21 9:34 [PATCH v5 0/4] Update LPASS Audio clock driver for QCM6490 board Taniya Das
` (2 preceding siblings ...)
2025-02-21 9:34 ` [PATCH v5 3/4] arm64: dts: qcom: qcm6490-idp: Update the LPASS audio node Taniya Das
@ 2025-02-21 9:34 ` Taniya Das
2025-03-14 20:01 ` (subset) [PATCH v5 0/4] Update LPASS Audio clock driver for QCM6490 board Bjorn Andersson
2025-04-16 18:10 ` Bjorn Andersson
5 siblings, 0 replies; 8+ messages in thread
From: Taniya Das @ 2025-02-21 9:34 UTC (permalink / raw)
To: Bjorn Andersson, Michael Turquette, Stephen Boyd, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Konrad Dybcio
Cc: Ajit Pandey, Imran Shaik, Jagadeesh Kona, linux-arm-msm,
linux-clk, devicetree, linux-kernel, Taniya Das,
Dmitry Baryshkov
Update the lpassaudio node to support the new compatible as the
lpassaudio needs to support the reset functionality on the
QCS6490 RB3Gen2 board and the rest of the Audio functionality would be
provided from the LPASS firmware.
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Taniya Das <quic_tdas@quicinc.com>
---
arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
index 7a36c90ad4ec8b52f30b22b1621404857d6ef336..057bbb187ab35a7e6cca9cff6a3e4569ae045fe2 100644
--- a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
+++ b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
@@ -986,3 +986,8 @@ sd_cd: sd-cd-state {
bias-pull-up;
};
};
+
+&lpass_audiocc {
+ compatible = "qcom,qcm6490-lpassaudiocc";
+ /delete-property/ power-domains;
+};
--
2.48.1
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v5 1/4] dt-bindings: clock: qcom: Add compatible for QCM6490 boards
2025-02-21 9:34 ` [PATCH v5 1/4] dt-bindings: clock: qcom: Add compatible for QCM6490 boards Taniya Das
@ 2025-02-22 9:23 ` Krzysztof Kozlowski
0 siblings, 0 replies; 8+ messages in thread
From: Krzysztof Kozlowski @ 2025-02-22 9:23 UTC (permalink / raw)
To: Taniya Das
Cc: Bjorn Andersson, Michael Turquette, Stephen Boyd, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Konrad Dybcio, Ajit Pandey,
Imran Shaik, Jagadeesh Kona, linux-arm-msm, linux-clk,
devicetree, linux-kernel
On Fri, Feb 21, 2025 at 03:04:54PM +0530, Taniya Das wrote:
> On the QCM6490 boards, the LPASS firmware controls the complete clock
> controller functionalities and associated power domains. However, only
> the LPASS resets required to be controlled by the high level OS. Thus,
> add the new QCM6490 compatible to support the reset functionality for
> Low Power Audio subsystem.
>
> Signed-off-by: Taniya Das <quic_tdas@quicinc.com>
> ---
> Documentation/devicetree/bindings/clock/qcom,sc7280-lpasscorecc.yaml | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: (subset) [PATCH v5 0/4] Update LPASS Audio clock driver for QCM6490 board
2025-02-21 9:34 [PATCH v5 0/4] Update LPASS Audio clock driver for QCM6490 board Taniya Das
` (3 preceding siblings ...)
2025-02-21 9:34 ` [PATCH v5 4/4] arm64: dts: qcom: qcs6490-rb3gen2: " Taniya Das
@ 2025-03-14 20:01 ` Bjorn Andersson
2025-04-16 18:10 ` Bjorn Andersson
5 siblings, 0 replies; 8+ messages in thread
From: Bjorn Andersson @ 2025-03-14 20:01 UTC (permalink / raw)
To: Michael Turquette, Stephen Boyd, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Konrad Dybcio, Taniya Das
Cc: Ajit Pandey, Imran Shaik, Jagadeesh Kona, linux-arm-msm,
linux-clk, devicetree, linux-kernel, Dmitry Baryshkov
On Fri, 21 Feb 2025 15:04:53 +0530, Taniya Das wrote:
> This series updates the low pass audio clock controller driver for reset
> functionality. The patches are split from the below series.
> https://lore.kernel.org/all/20240318053555.20405-1-quic_tdas@quicinc.com/
>
> The QCM6490 board requires only the reset functionality from the LPASS
> subsystem. Thus separate out the driver probe to provide the same on the
> QCM6490 boards.
>
> [...]
Applied, thanks!
[1/4] dt-bindings: clock: qcom: Add compatible for QCM6490 boards
commit: c16e576b8aea9fe985ee9e368ea5fd37eae47b2f
[2/4] clk: qcom: lpassaudiocc-sc7280: Add support for LPASS resets for QCM6490
commit: cdbbc480f4146cb659af97f4020601fde5fb65a7
Best regards,
--
Bjorn Andersson <andersson@kernel.org>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: (subset) [PATCH v5 0/4] Update LPASS Audio clock driver for QCM6490 board
2025-02-21 9:34 [PATCH v5 0/4] Update LPASS Audio clock driver for QCM6490 board Taniya Das
` (4 preceding siblings ...)
2025-03-14 20:01 ` (subset) [PATCH v5 0/4] Update LPASS Audio clock driver for QCM6490 board Bjorn Andersson
@ 2025-04-16 18:10 ` Bjorn Andersson
5 siblings, 0 replies; 8+ messages in thread
From: Bjorn Andersson @ 2025-04-16 18:10 UTC (permalink / raw)
To: Michael Turquette, Stephen Boyd, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Konrad Dybcio, Taniya Das
Cc: Ajit Pandey, Imran Shaik, Jagadeesh Kona, linux-arm-msm,
linux-clk, devicetree, linux-kernel, Dmitry Baryshkov
On Fri, 21 Feb 2025 15:04:53 +0530, Taniya Das wrote:
> This series updates the low pass audio clock controller driver for reset
> functionality. The patches are split from the below series.
> https://lore.kernel.org/all/20240318053555.20405-1-quic_tdas@quicinc.com/
>
> The QCM6490 board requires only the reset functionality from the LPASS
> subsystem. Thus separate out the driver probe to provide the same on the
> QCM6490 boards.
>
> [...]
Applied, thanks!
[3/4] arm64: dts: qcom: qcm6490-idp: Update the LPASS audio node
commit: 9361ee93ac9d1b6730a65fc690e64cffaa41335e
[4/4] arm64: dts: qcom: qcs6490-rb3gen2: Update the LPASS audio node
commit: f716f5dcf5cc40a0e883513b93dfaf35c50e7ead
Best regards,
--
Bjorn Andersson <andersson@kernel.org>
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2025-04-16 18:10 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-02-21 9:34 [PATCH v5 0/4] Update LPASS Audio clock driver for QCM6490 board Taniya Das
2025-02-21 9:34 ` [PATCH v5 1/4] dt-bindings: clock: qcom: Add compatible for QCM6490 boards Taniya Das
2025-02-22 9:23 ` Krzysztof Kozlowski
2025-02-21 9:34 ` [PATCH v5 2/4] clk: qcom: lpassaudiocc-sc7280: Add support for LPASS resets for QCM6490 Taniya Das
2025-02-21 9:34 ` [PATCH v5 3/4] arm64: dts: qcom: qcm6490-idp: Update the LPASS audio node Taniya Das
2025-02-21 9:34 ` [PATCH v5 4/4] arm64: dts: qcom: qcs6490-rb3gen2: " Taniya Das
2025-03-14 20:01 ` (subset) [PATCH v5 0/4] Update LPASS Audio clock driver for QCM6490 board Bjorn Andersson
2025-04-16 18:10 ` Bjorn Andersson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®