1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
4 $id: http://devicetree.org/schemas/sound/qcom,lpass-cpu.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Qualcomm Technologies Inc. LPASS CPU dai driver bindings
10 - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
11 - Rohit kumar <rohitkr@codeaurora.org>
14 Qualcomm Technologies Inc. SOC Low-Power Audio SubSystem (LPASS) that consist
15 of MI2S interface for audio data transfer on external codecs. LPASS cpu driver
16 is a module to configure Low-Power Audio Interface(LPAIF) core registers
17 across different IP versions.
23 - qcom,apq8016-lpass-cpu
24 - qcom,sc7180-lpass-cpu
25 - qcom,sc7280-lpass-cpu
30 description: LPAIF core registers
47 description: LPAIF DMA buffer interrupt
54 $ref: /schemas/types.yaml#/definitions/phandle
55 description: Phandle for the audio DSP node
60 description: Phandle to apps_smmu node with sid mask
78 "^dai-link@[0-9a-f]$":
81 LPASS CPU dai node for each I2S device or Soundwire device. Bindings of each node
82 depends on the specific driver providing the functionality and
87 description: Must be one of the DAI ID
89 qcom,playback-sd-lines:
90 $ref: /schemas/types.yaml#/definitions/uint32-array
91 description: list of MI2S data lines for playback
93 qcom,capture-sd-lines:
94 $ref: /schemas/types.yaml#/definitions/uint32-array
95 description: list of MI2S data lines for capture
100 additionalProperties: false
112 additionalProperties: false
119 const: qcom,lpass-cpu
126 - const: mi2s-osr-clk
127 - const: mi2s-bit-clk
133 const: qcom,apq8016-lpass-cpu
140 - const: mi2s-bit-clk0
141 - const: mi2s-bit-clk1
142 - const: mi2s-bit-clk2
143 - const: mi2s-bit-clk3
144 - const: pcnoc-mport-clk
145 - const: pcnoc-sway-clk
151 const: qcom,sc7180-lpass-cpu
158 - const: pcnoc-sway-clk
161 - const: pcnoc-mport-clk
162 - const: mi2s-bit-clk0
163 - const: mi2s-bit-clk1
165 - const: pcnoc-sway-clk
167 - const: pcnoc-mport-clk
172 - items: #for I2S and HDMI
173 - const: lpass-hdmiif
178 - const: lpass-irq-lpaif
179 - items: #for I2S and HDMI
180 - const: lpass-irq-lpaif
181 - const: lpass-irq-hdmi
190 const: qcom,sc7280-lpass-cpu
197 - const: aon_cc_audio_hm_h
198 - const: audio_cc_ext_mclk0
199 - const: core_cc_sysnoc_mport_core
200 - const: core_cc_ext_if0_ibit
201 - const: core_cc_ext_if1_ibit
202 - items: #for Soundwire
203 - const: aon_cc_audio_hm_h
204 - const: audio_cc_codec_mem
205 - const: audio_cc_codec_mem0
206 - const: audio_cc_codec_mem1
207 - const: audio_cc_codec_mem2
208 - const: aon_cc_va_mem0
210 - const: core_cc_sysnoc_mport_core
216 - items: #for I2S and HDMI
217 - const: lpass-hdmiif
219 - items: #for I2S, soundwire and HDMI
220 - const: lpass-hdmiif
222 - const: lpass-rxtx-cdc-dma-lpm
223 - const: lpass-rxtx-lpaif
224 - const: lpass-va-lpaif
225 - const: lpass-va-cdc-dma-lpm
229 - const: lpass-irq-lpaif
230 - items: #for I2S and HDMI
231 - const: lpass-irq-lpaif
232 - const: lpass-irq-hdmi
233 - items: #for I2S, soundwire and HDMI
234 - const: lpass-irq-lpaif
235 - const: lpass-irq-hdmi
236 - const: lpass-irq-vaif
237 - const: lpass-irq-rxtxif
249 #include <dt-bindings/sound/sc7180-lpass.h>
252 #address-cells = <2>;
255 compatible = "qcom,sc7180-lpass-cpu";
257 reg = <0 0x62d87000 0 0x68000>,
258 <0 0x62f00000 0 0x29000>;
259 reg-names = "lpass-hdmiif",
261 iommus = <&apps_smmu 0x1020 0>,
262 <&apps_smmu 0x1032 0>;
263 power-domains = <&lpass_hm 0>;
272 clock-names = "pcnoc-sway-clk", "audio-core",
273 "mclk0", "pcnoc-mport-clk",
274 "mi2s-bit-clk0", "mi2s-bit-clk1";
276 interrupts = <0 160 1>,
278 interrupt-names = "lpass-irq-lpaif",
280 #sound-dai-cells = <1>;
282 #address-cells = <1>;
284 /* Optional to set different MI2S SD lines */
286 reg = <MI2S_PRIMARY>;
287 qcom,playback-sd-lines = <1>;
288 qcom,capture-sd-lines = <0>;