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
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 unevaluatedProperties: false
115 - $ref: dai-common.yaml#
120 const: qcom,lpass-cpu
127 - const: mi2s-osr-clk
128 - const: mi2s-bit-clk
134 const: qcom,apq8016-lpass-cpu
141 - const: mi2s-bit-clk0
142 - const: mi2s-bit-clk1
143 - const: mi2s-bit-clk2
144 - const: mi2s-bit-clk3
145 - const: pcnoc-mport-clk
146 - const: pcnoc-sway-clk
152 const: qcom,sc7180-lpass-cpu
159 - const: pcnoc-sway-clk
162 - const: pcnoc-mport-clk
163 - const: mi2s-bit-clk0
164 - const: mi2s-bit-clk1
166 - const: pcnoc-sway-clk
168 - const: pcnoc-mport-clk
173 - items: #for I2S and HDMI
174 - const: lpass-hdmiif
179 - const: lpass-irq-lpaif
180 - items: #for I2S and HDMI
181 - const: lpass-irq-lpaif
182 - const: lpass-irq-hdmi
191 const: qcom,sc7280-lpass-cpu
198 - const: aon_cc_audio_hm_h
199 - const: audio_cc_ext_mclk0
200 - const: core_cc_sysnoc_mport_core
201 - const: core_cc_ext_if0_ibit
202 - const: core_cc_ext_if1_ibit
203 - items: #for Soundwire
204 - const: aon_cc_audio_hm_h
205 - const: audio_cc_codec_mem
206 - const: audio_cc_codec_mem0
207 - const: audio_cc_codec_mem1
208 - const: audio_cc_codec_mem2
209 - const: aon_cc_va_mem0
211 - const: core_cc_sysnoc_mport_core
217 - items: #for I2S and HDMI
218 - const: lpass-hdmiif
220 - items: #for I2S, soundwire and HDMI
221 - const: lpass-hdmiif
223 - const: lpass-rxtx-cdc-dma-lpm
224 - const: lpass-rxtx-lpaif
225 - const: lpass-va-lpaif
226 - const: lpass-va-cdc-dma-lpm
230 - const: lpass-irq-lpaif
231 - items: #for I2S and HDMI
232 - const: lpass-irq-lpaif
233 - const: lpass-irq-hdmi
234 - items: #for I2S, soundwire and HDMI
235 - const: lpass-irq-lpaif
236 - const: lpass-irq-hdmi
237 - const: lpass-irq-vaif
238 - const: lpass-irq-rxtxif
250 #include <dt-bindings/sound/sc7180-lpass.h>
253 #address-cells = <2>;
256 compatible = "qcom,sc7180-lpass-cpu";
258 reg = <0 0x62d87000 0 0x68000>,
259 <0 0x62f00000 0 0x29000>;
260 reg-names = "lpass-hdmiif",
262 iommus = <&apps_smmu 0x1020 0>,
263 <&apps_smmu 0x1032 0>;
264 power-domains = <&lpass_hm 0>;
273 clock-names = "pcnoc-sway-clk", "audio-core",
274 "mclk0", "pcnoc-mport-clk",
275 "mi2s-bit-clk0", "mi2s-bit-clk1";
277 interrupts = <0 160 1>,
279 interrupt-names = "lpass-irq-lpaif",
281 #sound-dai-cells = <1>;
283 #address-cells = <1>;
285 /* Optional to set different MI2S SD lines */
287 reg = <MI2S_PRIMARY>;
288 qcom,playback-sd-lines = <1>;
289 qcom,capture-sd-lines = <0>;