Linux ARM-MSM sub-architecture
 help / color / mirror / Atom feed
* [PATCH v2 0/6] ASoC: codecs: lpass-macro: complete sm6115 support
@ 2025-10-31 11:47 Srinivas Kandagatla
  2025-10-31 11:47 ` [PATCH v2 1/6] ASoC: codecs: lpass-tx-macro: fix SM6115 support Srinivas Kandagatla
                   ` (5 more replies)
  0 siblings, 6 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

This patch series fixes SM6115 lpass codec macro support and adding
missing dt-bindings to complete support for SM6115.

SM6115 lpass codec macro support is added partially and broken to some
extent, Fix this broken support and add complete lpass macro support for
this SoC.


Changes since v1:
	- cleaned up va-macro bindings for clock-names.
	- cleaned up va-macro codec driver to include soundwire reset
	  for sm6115
	- updated tx and rx codec driver and bindings to have a dedicated 
	compatible due to changes in number of clocks.

Srinivas Kandagatla (6):
  ASoC: codecs: lpass-tx-macro: fix SM6115 support
  ASoC: dt-bindings: qcom,lpass-rx-macro: Add sm6115 LPASS RX
  ASoC: dt-bindings: qcom,lpass-va-macro: re-arrange clock-names
  ASoC: dt-bindings: qcom,lpass-va-macro: Add sm6115 LPASS VA
  ASoC: codecs: lpass-va-macro: add SM6115 compatible
  ASoC: codecs: lpass-rx-macro: add SM6115 compatible

 .../bindings/sound/qcom,lpass-rx-macro.yaml   | 18 +++++++
 .../bindings/sound/qcom,lpass-va-macro.yaml   | 49 +++++++++++++------
 sound/soc/codecs/lpass-rx-macro.c             |  3 ++
 sound/soc/codecs/lpass-tx-macro.c             |  1 +
 sound/soc/codecs/lpass-va-macro.c             |  1 +
 5 files changed, 58 insertions(+), 14 deletions(-)

-- 
2.51.0


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [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

* [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

* 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

end of thread, other threads:[~2025-10-31 11:50 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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: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
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 ` [PATCH v2 4/6] ASoC: dt-bindings: qcom,lpass-va-macro: Add sm6115 LPASS VA 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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox