* [PATCH v2 1/6] ASoC: codecs: lpass-tx-macro: fix SM6115 support
2025-10-31 11:47 [PATCH v2 0/6] ASoC: codecs: lpass-macro: complete sm6115 support Srinivas Kandagatla
@ 2025-10-31 11:47 ` Srinivas Kandagatla
2025-10-31 11:49 ` Srinivas Kandagatla
2025-10-31 11:47 ` [PATCH v2 2/6] ASoC: dt-bindings: qcom,lpass-rx-macro: Add sm6115 LPASS RX Srinivas Kandagatla
` (4 subsequent siblings)
5 siblings, 1 reply; 8+ messages in thread
From: Srinivas Kandagatla @ 2025-10-31 11:47 UTC (permalink / raw)
To: robh, broonie
Cc: krzk+dt, conor+dt, devicetree, perex, tiwai, srini, linux-sound,
linux-kernel, linux-arm-msm, alexey.klimov, konradybcio,
Srinivas Kandagatla, Stable
SM6115 does have soundwire controller in tx. For some reason
we ended up with this incorrect patch.
Fix this by adding the flag to reflect this in SoC data.
Fixes: 510c46884299 ("ASoC: codecs: lpass-tx-macro: Add SM6115 support")
Cc: <Stable@vger.kernel.org>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
---
sound/soc/codecs/lpass-tx-macro.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/sound/soc/codecs/lpass-tx-macro.c b/sound/soc/codecs/lpass-tx-macro.c
index 1aefd3bde818..ac87c8874588 100644
--- a/sound/soc/codecs/lpass-tx-macro.c
+++ b/sound/soc/codecs/lpass-tx-macro.c
@@ -2474,6 +2474,7 @@ static const struct tx_macro_data lpass_ver_9_2 = {
static const struct tx_macro_data lpass_ver_10_sm6115 = {
.flags = LPASS_MACRO_FLAG_HAS_NPL_CLOCK,
+ LPASS_MACRO_FLAG_RESET_SWR,
.ver = LPASS_VER_10_0_0,
.extra_widgets = tx_macro_dapm_widgets_v9_2,
.extra_widgets_num = ARRAY_SIZE(tx_macro_dapm_widgets_v9_2),
--
2.51.0
^ permalink raw reply related [flat|nested] 8+ messages in thread* Re: [PATCH v2 1/6] ASoC: codecs: lpass-tx-macro: fix SM6115 support
2025-10-31 11:47 ` [PATCH v2 1/6] ASoC: codecs: lpass-tx-macro: fix SM6115 support Srinivas Kandagatla
@ 2025-10-31 11:49 ` Srinivas Kandagatla
0 siblings, 0 replies; 8+ messages in thread
From: Srinivas Kandagatla @ 2025-10-31 11:49 UTC (permalink / raw)
To: robh, broonie
Cc: krzk+dt, conor+dt, devicetree, perex, tiwai, srini, linux-sound,
linux-kernel, linux-arm-msm, alexey.klimov, konradybcio, Stable
On 10/31/25 11:47 AM, Srinivas Kandagatla wrote:
> SM6115 does have soundwire controller in tx. For some reason
> we ended up with this incorrect patch.
>
> Fix this by adding the flag to reflect this in SoC data.
>
> Fixes: 510c46884299 ("ASoC: codecs: lpass-tx-macro: Add SM6115 support")
> Cc: <Stable@vger.kernel.org>
> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
> ---
> sound/soc/codecs/lpass-tx-macro.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/sound/soc/codecs/lpass-tx-macro.c b/sound/soc/codecs/lpass-tx-macro.c
> index 1aefd3bde818..ac87c8874588 100644
> --- a/sound/soc/codecs/lpass-tx-macro.c
> +++ b/sound/soc/codecs/lpass-tx-macro.c
> @@ -2474,6 +2474,7 @@ static const struct tx_macro_data lpass_ver_9_2 = {
>
> static const struct tx_macro_data lpass_ver_10_sm6115 = {
> .flags = LPASS_MACRO_FLAG_HAS_NPL_CLOCK,
> + LPASS_MACRO_FLAG_RESET_SWR,
Looks like send a incorrect patch here..
will send a v3
--srini> .ver = LPASS_VER_10_0_0,
> .extra_widgets = tx_macro_dapm_widgets_v9_2,
> .extra_widgets_num = ARRAY_SIZE(tx_macro_dapm_widgets_v9_2),
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2 2/6] ASoC: dt-bindings: qcom,lpass-rx-macro: Add sm6115 LPASS RX
2025-10-31 11:47 [PATCH v2 0/6] ASoC: codecs: lpass-macro: complete sm6115 support Srinivas Kandagatla
2025-10-31 11:47 ` [PATCH v2 1/6] ASoC: codecs: lpass-tx-macro: fix SM6115 support Srinivas Kandagatla
@ 2025-10-31 11:47 ` Srinivas Kandagatla
2025-10-31 11:47 ` [PATCH v2 3/6] ASoC: dt-bindings: qcom,lpass-va-macro: re-arrange clock-names Srinivas Kandagatla
` (3 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: Srinivas Kandagatla @ 2025-10-31 11:47 UTC (permalink / raw)
To: robh, broonie
Cc: krzk+dt, conor+dt, devicetree, perex, tiwai, srini, linux-sound,
linux-kernel, linux-arm-msm, alexey.klimov, konradybcio,
Srinivas Kandagatla
Add bindings for Qualcomm SM6115 SoC Low Power Audio SubSystem (LPASS)
RX macro codec. This SoC does not provide macro clock so reflect that in
the bindings.
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
---
.../bindings/sound/qcom,lpass-rx-macro.yaml | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/Documentation/devicetree/bindings/sound/qcom,lpass-rx-macro.yaml b/Documentation/devicetree/bindings/sound/qcom,lpass-rx-macro.yaml
index b869469a5848..2eed2277511f 100644
--- a/Documentation/devicetree/bindings/sound/qcom,lpass-rx-macro.yaml
+++ b/Documentation/devicetree/bindings/sound/qcom,lpass-rx-macro.yaml
@@ -14,6 +14,7 @@ properties:
oneOf:
- enum:
- qcom,sc7280-lpass-rx-macro
+ - qcom,sm6115-lpass-rx-macro
- qcom,sm8250-lpass-rx-macro
- qcom,sm8450-lpass-rx-macro
- qcom,sm8550-lpass-rx-macro
@@ -81,6 +82,23 @@ allOf:
- const: npl
- const: fsgen
+ - if:
+ properties:
+ compatible:
+ enum:
+ - qcom,sm6115-lpass-rx-macro
+ then:
+ properties:
+ clocks:
+ minItems: 4
+ maxItems: 4
+ clock-names:
+ items:
+ - const: mclk
+ - const: npl
+ - const: dcodec
+ - const: fsgen
+
- if:
properties:
compatible:
--
2.51.0
^ permalink raw reply related [flat|nested] 8+ messages in thread* [PATCH v2 3/6] ASoC: dt-bindings: qcom,lpass-va-macro: re-arrange clock-names
2025-10-31 11:47 [PATCH v2 0/6] ASoC: codecs: lpass-macro: complete sm6115 support Srinivas Kandagatla
2025-10-31 11:47 ` [PATCH v2 1/6] ASoC: codecs: lpass-tx-macro: fix SM6115 support Srinivas Kandagatla
2025-10-31 11:47 ` [PATCH v2 2/6] ASoC: dt-bindings: qcom,lpass-rx-macro: Add sm6115 LPASS RX Srinivas Kandagatla
@ 2025-10-31 11:47 ` Srinivas Kandagatla
2025-10-31 11:47 ` [PATCH v2 4/6] ASoC: dt-bindings: qcom,lpass-va-macro: Add sm6115 LPASS VA Srinivas Kandagatla
` (2 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: Srinivas Kandagatla @ 2025-10-31 11:47 UTC (permalink / raw)
To: robh, broonie
Cc: krzk+dt, conor+dt, devicetree, perex, tiwai, srini, linux-sound,
linux-kernel, linux-arm-msm, alexey.klimov, konradybcio,
Srinivas Kandagatla
re-arrange clock-names in the bindings to be more specific to the SoC
compatibles, this will give more flexibility to add new SoC's which do
not support some clocks.
Move all the clock-names under the SoC compatible rather than keeping
int on the top level, this makes it more align with other lpass codec
macros.
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
---
.../bindings/sound/qcom,lpass-va-macro.yaml | 35 +++++++++++--------
1 file changed, 20 insertions(+), 15 deletions(-)
diff --git a/Documentation/devicetree/bindings/sound/qcom,lpass-va-macro.yaml b/Documentation/devicetree/bindings/sound/qcom,lpass-va-macro.yaml
index 5b450f227b70..d3851a67401e 100644
--- a/Documentation/devicetree/bindings/sound/qcom,lpass-va-macro.yaml
+++ b/Documentation/devicetree/bindings/sound/qcom,lpass-va-macro.yaml
@@ -42,11 +42,7 @@ properties:
clock-names:
minItems: 1
- items:
- - const: mclk
- - const: macro
- - const: dcodec
- - const: npl
+ maxItems: 4
clock-output-names:
maxItems: 1
@@ -91,16 +87,18 @@ allOf:
clocks:
maxItems: 1
clock-names:
- maxItems: 1
+ items:
+ - const: mclk
else:
properties:
clocks:
minItems: 3
maxItems: 3
clock-names:
- minItems: 3
- maxItems: 3
-
+ items:
+ - const: mclk
+ - const: macro
+ - const: dcodec
- if:
properties:
compatible:
@@ -112,8 +110,10 @@ allOf:
minItems: 3
maxItems: 3
clock-names:
- minItems: 3
- maxItems: 3
+ items:
+ - const: mclk
+ - const: macro
+ - const: dcodec
- if:
properties:
@@ -128,8 +128,11 @@ allOf:
minItems: 4
maxItems: 4
clock-names:
- minItems: 4
- maxItems: 4
+ items:
+ - const: mclk
+ - const: macro
+ - const: dcodec
+ - const: npl
- if:
properties:
@@ -143,8 +146,10 @@ allOf:
minItems: 3
maxItems: 3
clock-names:
- minItems: 3
- maxItems: 3
+ items:
+ - const: mclk
+ - const: macro
+ - const: dcodec
unevaluatedProperties: false
--
2.51.0
^ permalink raw reply related [flat|nested] 8+ messages in thread* [PATCH v2 4/6] ASoC: dt-bindings: qcom,lpass-va-macro: Add sm6115 LPASS VA
2025-10-31 11:47 [PATCH v2 0/6] ASoC: codecs: lpass-macro: complete sm6115 support Srinivas Kandagatla
` (2 preceding siblings ...)
2025-10-31 11:47 ` [PATCH v2 3/6] ASoC: dt-bindings: qcom,lpass-va-macro: re-arrange clock-names Srinivas Kandagatla
@ 2025-10-31 11:47 ` Srinivas Kandagatla
2025-10-31 11:47 ` [PATCH v2 5/6] ASoC: codecs: lpass-va-macro: add SM6115 compatible Srinivas Kandagatla
2025-10-31 11:47 ` [PATCH v2 6/6] ASoC: codecs: lpass-rx-macro: " Srinivas Kandagatla
5 siblings, 0 replies; 8+ messages in thread
From: Srinivas Kandagatla @ 2025-10-31 11:47 UTC (permalink / raw)
To: robh, broonie
Cc: krzk+dt, conor+dt, devicetree, perex, tiwai, srini, linux-sound,
linux-kernel, linux-arm-msm, alexey.klimov, konradybcio,
Srinivas Kandagatla
Add bindings for Qualcomm SM6115 SoC Low Power Audio SubSystem (LPASS)
VA macro codec. This SoC does not provide macro clock so reflect that in
the bindings.
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
---
.../bindings/sound/qcom,lpass-va-macro.yaml | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/Documentation/devicetree/bindings/sound/qcom,lpass-va-macro.yaml b/Documentation/devicetree/bindings/sound/qcom,lpass-va-macro.yaml
index d3851a67401e..5c42b2b323ee 100644
--- a/Documentation/devicetree/bindings/sound/qcom,lpass-va-macro.yaml
+++ b/Documentation/devicetree/bindings/sound/qcom,lpass-va-macro.yaml
@@ -14,6 +14,7 @@ properties:
oneOf:
- enum:
- qcom,sc7280-lpass-va-macro
+ - qcom,sm6115-lpass-va-macro
- qcom,sm8250-lpass-va-macro
- qcom,sm8450-lpass-va-macro
- qcom,sm8550-lpass-va-macro
@@ -99,6 +100,21 @@ allOf:
- const: mclk
- const: macro
- const: dcodec
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: qcom,sm6115-lpass-va-macro
+ then:
+ properties:
+ clocks:
+ minItems: 3
+ maxItems: 3
+ clock-names:
+ items:
+ - const: mclk
+ - const: dcodec
+ - const: npl
- if:
properties:
compatible:
--
2.51.0
^ permalink raw reply related [flat|nested] 8+ messages in thread* [PATCH v2 5/6] ASoC: codecs: lpass-va-macro: add SM6115 compatible
2025-10-31 11:47 [PATCH v2 0/6] ASoC: codecs: lpass-macro: complete sm6115 support Srinivas Kandagatla
` (3 preceding siblings ...)
2025-10-31 11:47 ` [PATCH v2 4/6] ASoC: dt-bindings: qcom,lpass-va-macro: Add sm6115 LPASS VA Srinivas Kandagatla
@ 2025-10-31 11:47 ` Srinivas Kandagatla
2025-10-31 11:47 ` [PATCH v2 6/6] ASoC: codecs: lpass-rx-macro: " Srinivas Kandagatla
5 siblings, 0 replies; 8+ messages in thread
From: Srinivas Kandagatla @ 2025-10-31 11:47 UTC (permalink / raw)
To: robh, broonie
Cc: krzk+dt, conor+dt, devicetree, perex, tiwai, srini, linux-sound,
linux-kernel, linux-arm-msm, alexey.klimov, konradybcio,
Srinivas Kandagatla
SM6115 does not have "macro" clock, so its bindings differ with existing
SoC support in va-macro. So add dedicated compatible in both driver and
dt-bindings to be able to address that difference.
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
---
sound/soc/codecs/lpass-va-macro.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/sound/soc/codecs/lpass-va-macro.c b/sound/soc/codecs/lpass-va-macro.c
index fbe5ebeeaa80..902abc9843fa 100644
--- a/sound/soc/codecs/lpass-va-macro.c
+++ b/sound/soc/codecs/lpass-va-macro.c
@@ -1759,6 +1759,7 @@ static const struct dev_pm_ops va_macro_pm_ops = {
static const struct of_device_id va_macro_dt_match[] = {
{ .compatible = "qcom,sc7280-lpass-va-macro", .data = &sm8250_va_data },
+ { .compatible = "qcom,sm6115-lpass-va-macro", .data = &sm8450_va_data },
{ .compatible = "qcom,sm8250-lpass-va-macro", .data = &sm8250_va_data },
{ .compatible = "qcom,sm8450-lpass-va-macro", .data = &sm8450_va_data },
{ .compatible = "qcom,sm8550-lpass-va-macro", .data = &sm8550_va_data },
--
2.51.0
^ permalink raw reply related [flat|nested] 8+ messages in thread* [PATCH v2 6/6] ASoC: codecs: lpass-rx-macro: add SM6115 compatible
2025-10-31 11:47 [PATCH v2 0/6] ASoC: codecs: lpass-macro: complete sm6115 support Srinivas Kandagatla
` (4 preceding siblings ...)
2025-10-31 11:47 ` [PATCH v2 5/6] ASoC: codecs: lpass-va-macro: add SM6115 compatible Srinivas Kandagatla
@ 2025-10-31 11:47 ` Srinivas Kandagatla
5 siblings, 0 replies; 8+ messages in thread
From: Srinivas Kandagatla @ 2025-10-31 11:47 UTC (permalink / raw)
To: robh, broonie
Cc: krzk+dt, conor+dt, devicetree, perex, tiwai, srini, linux-sound,
linux-kernel, linux-arm-msm, alexey.klimov, konradybcio,
Srinivas Kandagatla
SM6115 does not have "macro" clock, so its bindings differ with existing
SoC support in rx-macro. So add dedicated compatible in both driver and
dt-bindings to be able to address that difference.
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
---
sound/soc/codecs/lpass-rx-macro.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/sound/soc/codecs/lpass-rx-macro.c b/sound/soc/codecs/lpass-rx-macro.c
index 9053c93bd44c..f889fd17f166 100644
--- a/sound/soc/codecs/lpass-rx-macro.c
+++ b/sound/soc/codecs/lpass-rx-macro.c
@@ -3951,6 +3951,9 @@ static const struct of_device_id rx_macro_dt_match[] = {
.compatible = "qcom,sc7280-lpass-rx-macro",
.data = (void *)LPASS_MACRO_FLAG_HAS_NPL_CLOCK,
+ }, {
+ .compatible = "qcom,sm6115-lpass-rx-macro",
+ .data = (void *)LPASS_MACRO_FLAG_HAS_NPL_CLOCK,
}, {
.compatible = "qcom,sm8250-lpass-rx-macro",
.data = (void *)LPASS_MACRO_FLAG_HAS_NPL_CLOCK,
--
2.51.0
^ permalink raw reply related [flat|nested] 8+ messages in thread