@@ -24,9 +24,10 @@ properties:
24
24
- qcom,sc7180-lpass-cpu
25
25
26
26
reg :
27
- maxItems : 1
27
+ maxItems : 2
28
28
description : LPAIF core registers
29
-
29
+ reg-names :
30
+ maxItems : 2
30
31
clocks :
31
32
minItems : 3
32
33
maxItems : 6
@@ -36,15 +37,16 @@ properties:
36
37
maxItems : 6
37
38
38
39
interrupts :
39
- maxItems : 1
40
+ maxItems : 2
40
41
description : LPAIF DMA buffer interrupt
41
-
42
+ interrupt-names :
43
+ maxItems : 2
42
44
qcom,adsp :
43
45
$ref : /schemas/types.yaml#/definitions/phandle
44
46
description : Phandle for the audio DSP node
45
47
46
48
iommus :
47
- maxItems : 1
49
+ maxItems : 2
48
50
description : Phandle to apps_smmu node with sid mask
49
51
50
52
power-domains :
@@ -60,10 +62,12 @@ properties:
60
62
const : 0
61
63
62
64
patternProperties :
63
- " (^mi2s- [0-9a-f]$|mi2s) " :
65
+ " ^dai-link@ [0-9a-f]$" :
64
66
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.
67
71
properties :
68
72
reg :
69
73
maxItems : 1
@@ -85,9 +89,11 @@ patternProperties:
85
89
required :
86
90
- compatible
87
91
- reg
92
+ - reg-names
88
93
- clocks
89
94
- clock-names
90
95
- interrupts
96
+ - interrupt-names
91
97
- ' #sound-dai-cells'
92
98
93
99
additionalProperties : false
@@ -134,13 +140,32 @@ allOf:
134
140
then :
135
141
properties :
136
142
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
144
169
required :
145
170
- iommus
146
171
- power-domains
@@ -152,12 +177,15 @@ examples:
152
177
soc {
153
178
#address-cells = <2>;
154
179
#size-cells = <2>;
155
- lpass@62f00000 {
180
+ lpass@62d80000 {
156
181
compatible = "qcom,sc7180-lpass-cpu";
157
182
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>;
161
189
power-domains = <&lpass_hm 0>;
162
190
163
191
clocks = <&gcc 131>,
@@ -171,14 +199,16 @@ examples:
171
199
"mclk0", "pcnoc-mport-clk",
172
200
"mi2s-bit-clk0", "mi2s-bit-clk1";
173
201
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";
176
206
#sound-dai-cells = <1>;
177
207
178
208
#address-cells = <1>;
179
209
#size-cells = <0>;
180
210
/* Optional to set different MI2S SD lines */
181
- mi2s-primary @0 {
211
+ dai-link @0 {
182
212
reg = <MI2S_PRIMARY>;
183
213
qcom,playback-sd-lines = <1>;
184
214
qcom,capture-sd-lines = <0>;
0 commit comments