[PATCH v6 v6 6/9] ASoC: dt-bindings: qcom: Add Hawi LPASS macro codecs
From: Mohammad Rafi Shaik
Date: Fri Nov 06 2026 - 07:40:08 EST
From: Prasad Kumpatla <prasad.kumpatla@xxxxxxxxxxxxxxxx>
Document the RX, TX and VA macro codecs on the Qualcomm Hawi SoC as
standalone compatibles rather than using the SM8550 fallback, as their
clock inputs differ.
On Hawi, all three macros use an "lpr" vote instead of SM8550's
"macro" vote. "lpr" is the consumer-side vote name for the
LPASS_HW_LPR_VOTE and is distinct from the LPASS_HW_MACRO_VOTE used
by SM8550. The LPR vote is shared by all LPASS macros on Hawi and
Maili. LPR is the vote to put the LPASS block into sleep-disable
before accessing the LPAIF registers
The VA macro takes an additional "heartbeatpulse" clock sourced
from the LPASS VA CSR rate generator.
Signed-off-by: Prasad Kumpatla <prasad.kumpatla@xxxxxxxxxxxxxxxx>
Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@xxxxxxxxxxxxxxxx>
---
.../bindings/sound/qcom,lpass-rx-macro.yaml | 19 +++++++++++++++++++
.../bindings/sound/qcom,lpass-tx-macro.yaml | 19 +++++++++++++++++++
.../bindings/sound/qcom,lpass-va-macro.yaml | 19 +++++++++++++++++++
3 files changed, 57 insertions(+)
diff --git a/Documentation/devicetree/bindings/sound/qcom,lpass-rx-macro.yaml b/Documentation/devicetree/bindings/sound/qcom,lpass-rx-macro.yaml
index db63a75f108a..20fe0dcb65d5 100644
--- a/Documentation/devicetree/bindings/sound/qcom,lpass-rx-macro.yaml
+++ b/Documentation/devicetree/bindings/sound/qcom,lpass-rx-macro.yaml
@@ -13,6 +13,7 @@ properties:
compatible:
oneOf:
- enum:
+ - qcom,hawi-lpass-rx-macro
- qcom,sc7280-lpass-rx-macro
- qcom,shikra-lpass-rx-macro
- qcom,sm6115-lpass-rx-macro
@@ -154,6 +155,24 @@ allOf:
- const: npl
- const: fsgen
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - qcom,hawi-lpass-rx-macro
+ then:
+ properties:
+ clocks:
+ minItems: 4
+ maxItems: 4
+ clock-names:
+ items:
+ - const: mclk
+ - const: lpr
+ - const: dcodec
+ - const: fsgen
+
unevaluatedProperties: false
examples:
diff --git a/Documentation/devicetree/bindings/sound/qcom,lpass-tx-macro.yaml b/Documentation/devicetree/bindings/sound/qcom,lpass-tx-macro.yaml
index d8682ff2e82c..2df72450d36f 100644
--- a/Documentation/devicetree/bindings/sound/qcom,lpass-tx-macro.yaml
+++ b/Documentation/devicetree/bindings/sound/qcom,lpass-tx-macro.yaml
@@ -13,6 +13,7 @@ properties:
compatible:
oneOf:
- enum:
+ - qcom,hawi-lpass-tx-macro
- qcom,sc7280-lpass-tx-macro
- qcom,sm6115-lpass-tx-macro
- qcom,sm8250-lpass-tx-macro
@@ -142,6 +143,24 @@ allOf:
- const: dcodec
- const: fsgen
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - qcom,hawi-lpass-tx-macro
+ then:
+ properties:
+ clocks:
+ minItems: 4
+ maxItems: 4
+ clock-names:
+ items:
+ - const: mclk
+ - const: lpr
+ - const: dcodec
+ - const: fsgen
+
unevaluatedProperties: false
examples:
diff --git a/Documentation/devicetree/bindings/sound/qcom,lpass-va-macro.yaml b/Documentation/devicetree/bindings/sound/qcom,lpass-va-macro.yaml
index 683ebf702ba8..7d56f9c36056 100644
--- a/Documentation/devicetree/bindings/sound/qcom,lpass-va-macro.yaml
+++ b/Documentation/devicetree/bindings/sound/qcom,lpass-va-macro.yaml
@@ -13,6 +13,7 @@ properties:
compatible:
oneOf:
- enum:
+ - qcom,hawi-lpass-va-macro
- qcom,sc7280-lpass-va-macro
- qcom,shikra-lpass-va-macro
- qcom,sm6115-lpass-va-macro
@@ -185,6 +186,24 @@ allOf:
- const: mclk
- const: npl
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - qcom,hawi-lpass-va-macro
+ then:
+ properties:
+ clocks:
+ minItems: 4
+ maxItems: 4
+ clock-names:
+ items:
+ - const: mclk
+ - const: lpr
+ - const: dcodec
+ - const: heartbeatpulse
+
unevaluatedProperties: false
examples:
--
2.34.1