@@ -24,9 +24,10 @@ properties:
2424 - qcom,sc7180-lpass-cpu
2525
2626 reg :
27- maxItems : 1
27+ maxItems : 2
2828 description : LPAIF core registers
29-
29+ reg-names :
30+ maxItems : 2
3031 clocks :
3132 minItems : 3
3233 maxItems : 6
@@ -36,15 +37,16 @@ properties:
3637 maxItems : 6
3738
3839 interrupts :
39- maxItems : 1
40+ maxItems : 2
4041 description : LPAIF DMA buffer interrupt
41-
42+ interrupt-names :
43+ maxItems : 2
4244 qcom,adsp :
4345 $ref : /schemas/types.yaml#/definitions/phandle
4446 description : Phandle for the audio DSP node
4547
4648 iommus :
47- maxItems : 1
49+ maxItems : 2
4850 description : Phandle to apps_smmu node with sid mask
4951
5052 power-domains :
@@ -60,10 +62,12 @@ properties:
6062 const : 0
6163
6264patternProperties :
63- " (^mi2s- [0-9a-f]$|mi2s) " :
65+ " ^dai-link@ [0-9a-f]$" :
6466 type : object
65- description : Required properties for each DAI
66-
67+ description : |
68+ LPASS CPU dai node for each I2S device. Bindings of each node
69+ depends on the specific driver providing the functionality and
70+ properties.
6771 properties :
6872 reg :
6973 maxItems : 1
@@ -85,9 +89,11 @@ patternProperties:
8589required :
8690 - compatible
8791 - reg
92+ - reg-names
8893 - clocks
8994 - clock-names
9095 - interrupts
96+ - interrupt-names
9197 - ' #sound-dai-cells'
9298
9399additionalProperties : false
@@ -134,13 +140,32 @@ allOf:
134140 then :
135141 properties :
136142 clock-names :
137- items :
138- - const : pcnoc-sway-clk
139- - const : audio-core
140- - const : mclk0
141- - const : pcnoc-mport-clk
142- - const : mi2s-bit-clk0
143- - const : mi2s-bit-clk1
143+ oneOf :
144+ - items : # for I2S
145+ - const : pcnoc-sway-clk
146+ - const : audio-core
147+ - const : mclk0
148+ - const : pcnoc-mport-clk
149+ - const : mi2s-bit-clk0
150+ - const : mi2s-bit-clk1
151+ - items : # for HDMI
152+ - const : pcnoc-sway-clk
153+ - const : audio-core
154+ - const : pcnoc-mport-clk
155+ reg-names :
156+ anyOf :
157+ - items : # for I2S
158+ - const : lpass-lpaif
159+ - items : # for I2S and HDMI
160+ - const : lpass-hdmiif
161+ - const : lpass-lpaif
162+ interrupt-names :
163+ anyOf :
164+ - items : # for I2S
165+ - const : lpass-irq-lpaif
166+ - items : # for I2S and HDMI
167+ - const : lpass-irq-lpaif
168+ - const : lpass-irq-hdmi
144169 required :
145170 - iommus
146171 - power-domains
@@ -152,12 +177,15 @@ examples:
152177 soc {
153178 #address-cells = <2>;
154179 #size-cells = <2>;
155- lpass@62f00000 {
180+ lpass@62d80000 {
156181 compatible = "qcom,sc7180-lpass-cpu";
157182
158- reg = <0 0x62f00000 0 0x29000>;
159-
160- iommus = <&apps_smmu 0x1020 0>;
183+ reg = <0 0x62d87000 0 0x68000>,
184+ <0 0x62f00000 0 0x29000>;
185+ reg-names = "lpass-hdmiif",
186+ "lpass-lpaif";
187+ iommus = <&apps_smmu 0x1020 0>,
188+ <&apps_smmu 0x1032 0>;
161189 power-domains = <&lpass_hm 0>;
162190
163191 clocks = <&gcc 131>,
@@ -171,14 +199,16 @@ examples:
171199 "mclk0", "pcnoc-mport-clk",
172200 "mi2s-bit-clk0", "mi2s-bit-clk1";
173201
174- interrupts = <0 160 1>;
175-
202+ interrupts = <0 160 1>,
203+ <0 268 1>;
204+ interrupt-names = "lpass-irq-lpaif",
205+ "lpass-irq-hdmi";
176206 #sound-dai-cells = <1>;
177207
178208 #address-cells = <1>;
179209 #size-cells = <0>;
180210 /* Optional to set different MI2S SD lines */
181- mi2s-primary @0 {
211+ dai-link @0 {
182212 reg = <MI2S_PRIMARY>;
183213 qcom,playback-sd-lines = <1>;
184214 qcom,capture-sd-lines = <0>;
0 commit comments