[PATCH v5 08/10] ASoC: dt-bindings: Add SC7280 sound card bindings

Srinivasa Rao Mandadapu
2021-11-22T11:47:19Z

Add bindings for lpass sc7280 based soundcards which supports
audio over i2s based speaker, soundwire based headset, msm dmics
and HDMI Port.

Signed-off-by: Srinivasa Rao Mandadapu <srivasam@codeaurora.org>
Co-developed-by: Venkata Prasad Potturu <potturu@codeaurora.org>
Signed-off-by: Venkata Prasad Potturu <potturu@codeaurora.org>
---
.../devicetree/bindings/sound/qcom,lpass-cpu.yaml | 69 +++++++++++++++++++---
1 file changed, 61 insertions(+), 8 deletions(-)

diff --git a/Documentation/devicetree/bindings/sound/qcom,lpass-cpu.yaml b/Documentation/devicetree/bindings/sound/qcom,lpass-cpu.yaml
index 1e23c0e..0f5a57c 100644
--- a/Documentation/devicetree/bindings/sound/qcom,lpass-cpu.yaml
+++ b/Documentation/devicetree/bindings/sound/qcom,lpass-cpu.yaml
@@ -22,35 +22,36 @@ properties:
- qcom,lpass-cpu
- qcom,apq8016-lpass-cpu
- qcom,sc7180-lpass-cpu
+ - qcom,sc7280-lpass-cpu

reg:
- maxItems: 2
+ maxItems: 5
description: LPAIF core registers

reg-names:
- maxItems: 2
+ maxItems: 5

clocks:
minItems: 3
- maxItems: 6
+ maxItems: 7

clock-names:
minItems: 3
- maxItems: 6
+ maxItems: 7

interrupts:
- maxItems: 2
+ maxItems: 4
description: LPAIF DMA buffer interrupt

interrupt-names:
- maxItems: 2
+ maxItems: 4

qcom,adsp:
$ref: /schemas/types.yaml#/definitions/phandle
description: Phandle for the audio DSP node

iommus:
- maxItems: 2
+ maxItems: 3
description: Phandle to apps_smmu node with sid mask

power-domains:
@@ -69,7 +70,7 @@ patternProperties:
"^dai-link@[0-9a-f]$":
type: object
description: |
- LPASS CPU dai node for each I2S device. Bindings of each node
+ LPASS CPU dai node for each I2S device or Soundwire device. Bindings of each node
depends on the specific driver providing the functionality and
properties.
properties:
@@ -174,6 +175,58 @@ allOf:
- iommus
- power-domains

+ - if:
+ properties:
+ compatible:
+ contains:
+ const: qcom,sc7280-lpass-cpu
+
+ then:
+ properties:
+ clock-names:
+ oneOf:
+ - items: #for I2S
+ - const: lpass_aon_cc_audio_hm_h_clk
+ - const: lpass_core_cc_sysnoc_mport_core_clk
+ - const: lpass_core_cc_ext_if1_ibit_clk
+ - items: #for Soundwire
+ - const: lpass_aon_cc_audio_hm_h_clk
+ - const: lpass_audio_cc_codec_mem0_clk
+ - const: lpass_audio_cc_codec_mem1_clk
+ - const: lpass_audio_cc_codec_mem2_clk
+ - items: #for HDMI
+ - const: lpass_aon_cc_audio_hm_h_clk
+
+ reg-names:
+ anyOf:
+ - items: #for I2S
+ - const: lpass-lpaif
+ - items: #for I2S and HDMI
+ - const: lpass-hdmiif
+ - const: lpass-lpaif
+ - items: #for I2S, soundwire and HDMI
+ - const: lpass-cdc-lpm
+ - const: lpass-rxtx-lpaif
+ - const: lpass-va-lpaif
+ - const: lpass-hdmiif
+ - const: lpass-lpaif
+ interrupt-names:
+ anyOf:
+ - items: #for I2S
+ - const: lpass-irq-lpaif
+ - items: #for I2S and HDMI
+ - const: lpass-irq-lpaif
+ - const: lpass-irq-hdmi
+ - items: #for I2S, soundwire and HDMI
+ - const: lpass-irq-lpaif
+ - const: lpass-irq-vaif
+ - const: lpass-irq-rxtxif
+ - const: lpass-irq-hdmi
+
+ required:
+ - iommus
+ - power-domains
+
examples:
- |
#include <dt-bindings/sound/sc7180-lpass.h>