]> git.ipfire.org Git - thirdparty/u-boot.git/blob - Bindings/net/wireless/qcom,ath11k.yaml
Squashed 'dts/upstream/' content from commit aaba2d45dc2a
[thirdparty/u-boot.git] / Bindings / net / wireless / qcom,ath11k.yaml
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 # Copyright (c) 2018-2019 The Linux Foundation. All rights reserved.
3 %YAML 1.2
4 ---
5 $id: http://devicetree.org/schemas/net/wireless/qcom,ath11k.yaml#
6 $schema: http://devicetree.org/meta-schemas/core.yaml#
7
8 title: Qualcomm Technologies ath11k wireless devices
9
10 maintainers:
11 - Kalle Valo <kvalo@kernel.org>
12
13 description: |
14 These are dt entries for Qualcomm Technologies, Inc. IEEE 802.11ax
15 devices, for example like AHB based IPQ8074.
16
17 properties:
18 compatible:
19 enum:
20 - qcom,ipq8074-wifi
21 - qcom,ipq6018-wifi
22 - qcom,wcn6750-wifi
23 - qcom,ipq5018-wifi
24
25 reg:
26 maxItems: 1
27
28 interrupts:
29 minItems: 32
30 maxItems: 52
31
32 interrupt-names:
33 maxItems: 52
34
35 qcom,rproc:
36 $ref: /schemas/types.yaml#/definitions/phandle
37 description:
38 DT entry of q6v5-wcss remoteproc driver.
39 Phandle to a node that can contain the following properties
40 * compatible
41 * reg
42 * reg-names
43
44 qcom,ath11k-calibration-variant:
45 $ref: /schemas/types.yaml#/definitions/string
46 description:
47 string to uniquely identify variant of the calibration data in the
48 board-2.bin for designs with colliding bus and device specific ids
49
50 memory-region:
51 minItems: 1
52 maxItems: 2
53 description:
54 phandle to a node describing reserved memory (System RAM memory)
55 used by ath11k firmware (see bindings/reserved-memory/reserved-memory.txt)
56
57 iommus:
58 minItems: 1
59 maxItems: 2
60
61 wifi-firmware:
62 type: object
63 description: |
64 WCN6750 wifi node can contain one optional firmware subnode.
65 Firmware subnode is needed when the platform does not have Trustzone.
66 required:
67 - iommus
68
69 qcom,smem-states:
70 $ref: /schemas/types.yaml#/definitions/phandle-array
71 description: State bits used by the AP to signal the WLAN Q6.
72 items:
73 - description: Signal bits used to enable/disable low power mode
74 on WCN6750 in the case of WoW (Wake on Wireless).
75
76 qcom,smem-state-names:
77 description: The names of the state bits used for SMP2P output.
78 items:
79 - const: wlan-smp2p-out
80
81 required:
82 - compatible
83 - reg
84 - interrupts
85 - qcom,rproc
86
87 additionalProperties: false
88
89 allOf:
90 - if:
91 properties:
92 compatible:
93 contains:
94 enum:
95 - qcom,ipq8074-wifi
96 - qcom,ipq6018-wifi
97 then:
98 properties:
99 interrupts:
100 items:
101 - description: misc-pulse1 interrupt events
102 - description: misc-latch interrupt events
103 - description: sw exception interrupt events
104 - description: watchdog interrupt events
105 - description: interrupt event for ring CE0
106 - description: interrupt event for ring CE1
107 - description: interrupt event for ring CE2
108 - description: interrupt event for ring CE3
109 - description: interrupt event for ring CE4
110 - description: interrupt event for ring CE5
111 - description: interrupt event for ring CE6
112 - description: interrupt event for ring CE7
113 - description: interrupt event for ring CE8
114 - description: interrupt event for ring CE9
115 - description: interrupt event for ring CE10
116 - description: interrupt event for ring CE11
117 - description: interrupt event for ring host2wbm-desc-feed
118 - description: interrupt event for ring host2reo-re-injection
119 - description: interrupt event for ring host2reo-command
120 - description: interrupt event for ring host2rxdma-monitor-ring3
121 - description: interrupt event for ring host2rxdma-monitor-ring2
122 - description: interrupt event for ring host2rxdma-monitor-ring1
123 - description: interrupt event for ring reo2ost-exception
124 - description: interrupt event for ring wbm2host-rx-release
125 - description: interrupt event for ring reo2host-status
126 - description: interrupt event for ring reo2host-destination-ring4
127 - description: interrupt event for ring reo2host-destination-ring3
128 - description: interrupt event for ring reo2host-destination-ring2
129 - description: interrupt event for ring reo2host-destination-ring1
130 - description: interrupt event for ring rxdma2host-monitor-destination-mac3
131 - description: interrupt event for ring rxdma2host-monitor-destination-mac2
132 - description: interrupt event for ring rxdma2host-monitor-destination-mac1
133 - description: interrupt event for ring ppdu-end-interrupts-mac3
134 - description: interrupt event for ring ppdu-end-interrupts-mac2
135 - description: interrupt event for ring ppdu-end-interrupts-mac1
136 - description: interrupt event for ring rxdma2host-monitor-status-ring-mac3
137 - description: interrupt event for ring rxdma2host-monitor-status-ring-mac2
138 - description: interrupt event for ring rxdma2host-monitor-status-ring-mac1
139 - description: interrupt event for ring host2rxdma-host-buf-ring-mac3
140 - description: interrupt event for ring host2rxdma-host-buf-ring-mac2
141 - description: interrupt event for ring host2rxdma-host-buf-ring-mac1
142 - description: interrupt event for ring rxdma2host-destination-ring-mac3
143 - description: interrupt event for ring rxdma2host-destination-ring-mac2
144 - description: interrupt event for ring rxdma2host-destination-ring-mac1
145 - description: interrupt event for ring host2tcl-input-ring4
146 - description: interrupt event for ring host2tcl-input-ring3
147 - description: interrupt event for ring host2tcl-input-ring2
148 - description: interrupt event for ring host2tcl-input-ring1
149 - description: interrupt event for ring wbm2host-tx-completions-ring3
150 - description: interrupt event for ring wbm2host-tx-completions-ring2
151 - description: interrupt event for ring wbm2host-tx-completions-ring1
152 - description: interrupt event for ring tcl2host-status-ring
153 interrupt-names:
154 items:
155 - const: misc-pulse1
156 - const: misc-latch
157 - const: sw-exception
158 - const: watchdog
159 - const: ce0
160 - const: ce1
161 - const: ce2
162 - const: ce3
163 - const: ce4
164 - const: ce5
165 - const: ce6
166 - const: ce7
167 - const: ce8
168 - const: ce9
169 - const: ce10
170 - const: ce11
171 - const: host2wbm-desc-feed
172 - const: host2reo-re-injection
173 - const: host2reo-command
174 - const: host2rxdma-monitor-ring3
175 - const: host2rxdma-monitor-ring2
176 - const: host2rxdma-monitor-ring1
177 - const: reo2ost-exception
178 - const: wbm2host-rx-release
179 - const: reo2host-status
180 - const: reo2host-destination-ring4
181 - const: reo2host-destination-ring3
182 - const: reo2host-destination-ring2
183 - const: reo2host-destination-ring1
184 - const: rxdma2host-monitor-destination-mac3
185 - const: rxdma2host-monitor-destination-mac2
186 - const: rxdma2host-monitor-destination-mac1
187 - const: ppdu-end-interrupts-mac3
188 - const: ppdu-end-interrupts-mac2
189 - const: ppdu-end-interrupts-mac1
190 - const: rxdma2host-monitor-status-ring-mac3
191 - const: rxdma2host-monitor-status-ring-mac2
192 - const: rxdma2host-monitor-status-ring-mac1
193 - const: host2rxdma-host-buf-ring-mac3
194 - const: host2rxdma-host-buf-ring-mac2
195 - const: host2rxdma-host-buf-ring-mac1
196 - const: rxdma2host-destination-ring-mac3
197 - const: rxdma2host-destination-ring-mac2
198 - const: rxdma2host-destination-ring-mac1
199 - const: host2tcl-input-ring4
200 - const: host2tcl-input-ring3
201 - const: host2tcl-input-ring2
202 - const: host2tcl-input-ring1
203 - const: wbm2host-tx-completions-ring3
204 - const: wbm2host-tx-completions-ring2
205 - const: wbm2host-tx-completions-ring1
206 - const: tcl2host-status-ring
207
208 - if:
209 properties:
210 compatible:
211 contains:
212 enum:
213 - qcom,ipq8074-wifi
214 - qcom,ipq6018-wifi
215 then:
216 required:
217 - interrupt-names
218
219 - if:
220 properties:
221 compatible:
222 contains:
223 enum:
224 - qcom,wcn6750-wifi
225 then:
226 properties:
227 interrupts:
228 items:
229 - description: interrupt event for ring CE1
230 - description: interrupt event for ring CE2
231 - description: interrupt event for ring CE3
232 - description: interrupt event for ring CE4
233 - description: interrupt event for ring CE5
234 - description: interrupt event for ring CE6
235 - description: interrupt event for ring CE7
236 - description: interrupt event for ring CE8
237 - description: interrupt event for ring CE9
238 - description: interrupt event for ring CE10
239 - description: interrupt event for ring DP1
240 - description: interrupt event for ring DP2
241 - description: interrupt event for ring DP3
242 - description: interrupt event for ring DP4
243 - description: interrupt event for ring DP5
244 - description: interrupt event for ring DP6
245 - description: interrupt event for ring DP7
246 - description: interrupt event for ring DP8
247 - description: interrupt event for ring DP9
248 - description: interrupt event for ring DP10
249 - description: interrupt event for ring DP11
250 - description: interrupt event for ring DP12
251 - description: interrupt event for ring DP13
252 - description: interrupt event for ring DP14
253 - description: interrupt event for ring DP15
254 - description: interrupt event for ring DP16
255 - description: interrupt event for ring DP17
256 - description: interrupt event for ring DP18
257 - description: interrupt event for ring DP19
258 - description: interrupt event for ring DP20
259 - description: interrupt event for ring DP21
260 - description: interrupt event for ring DP22
261
262 examples:
263 - |
264
265 q6v5_wcss: remoteproc@cd00000 {
266 compatible = "qcom,ipq8074-wcss-pil";
267 reg = <0xcd00000 0x4040>,
268 <0x4ab000 0x20>;
269 reg-names = "qdsp6",
270 "rmb";
271 };
272
273 wifi0: wifi@c000000 {
274 compatible = "qcom,ipq8074-wifi";
275 reg = <0xc000000 0x2000000>;
276 interrupts = <0 320 1>,
277 <0 319 1>,
278 <0 318 1>,
279 <0 317 1>,
280 <0 316 1>,
281 <0 315 1>,
282 <0 314 1>,
283 <0 311 1>,
284 <0 310 1>,
285 <0 411 1>,
286 <0 410 1>,
287 <0 40 1>,
288 <0 39 1>,
289 <0 302 1>,
290 <0 301 1>,
291 <0 37 1>,
292 <0 36 1>,
293 <0 296 1>,
294 <0 295 1>,
295 <0 294 1>,
296 <0 293 1>,
297 <0 292 1>,
298 <0 291 1>,
299 <0 290 1>,
300 <0 289 1>,
301 <0 288 1>,
302 <0 239 1>,
303 <0 236 1>,
304 <0 235 1>,
305 <0 234 1>,
306 <0 233 1>,
307 <0 232 1>,
308 <0 231 1>,
309 <0 230 1>,
310 <0 229 1>,
311 <0 228 1>,
312 <0 224 1>,
313 <0 223 1>,
314 <0 203 1>,
315 <0 183 1>,
316 <0 180 1>,
317 <0 179 1>,
318 <0 178 1>,
319 <0 177 1>,
320 <0 176 1>,
321 <0 163 1>,
322 <0 162 1>,
323 <0 160 1>,
324 <0 159 1>,
325 <0 158 1>,
326 <0 157 1>,
327 <0 156 1>;
328 interrupt-names = "misc-pulse1",
329 "misc-latch",
330 "sw-exception",
331 "watchdog",
332 "ce0",
333 "ce1",
334 "ce2",
335 "ce3",
336 "ce4",
337 "ce5",
338 "ce6",
339 "ce7",
340 "ce8",
341 "ce9",
342 "ce10",
343 "ce11",
344 "host2wbm-desc-feed",
345 "host2reo-re-injection",
346 "host2reo-command",
347 "host2rxdma-monitor-ring3",
348 "host2rxdma-monitor-ring2",
349 "host2rxdma-monitor-ring1",
350 "reo2ost-exception",
351 "wbm2host-rx-release",
352 "reo2host-status",
353 "reo2host-destination-ring4",
354 "reo2host-destination-ring3",
355 "reo2host-destination-ring2",
356 "reo2host-destination-ring1",
357 "rxdma2host-monitor-destination-mac3",
358 "rxdma2host-monitor-destination-mac2",
359 "rxdma2host-monitor-destination-mac1",
360 "ppdu-end-interrupts-mac3",
361 "ppdu-end-interrupts-mac2",
362 "ppdu-end-interrupts-mac1",
363 "rxdma2host-monitor-status-ring-mac3",
364 "rxdma2host-monitor-status-ring-mac2",
365 "rxdma2host-monitor-status-ring-mac1",
366 "host2rxdma-host-buf-ring-mac3",
367 "host2rxdma-host-buf-ring-mac2",
368 "host2rxdma-host-buf-ring-mac1",
369 "rxdma2host-destination-ring-mac3",
370 "rxdma2host-destination-ring-mac2",
371 "rxdma2host-destination-ring-mac1",
372 "host2tcl-input-ring4",
373 "host2tcl-input-ring3",
374 "host2tcl-input-ring2",
375 "host2tcl-input-ring1",
376 "wbm2host-tx-completions-ring3",
377 "wbm2host-tx-completions-ring2",
378 "wbm2host-tx-completions-ring1",
379 "tcl2host-status-ring";
380 qcom,rproc = <&q6v5_wcss>;
381 };
382
383 - |
384
385 reserved-memory {
386 #address-cells = <2>;
387 #size-cells = <2>;
388
389 qcn9074_0: wifi@51100000 {
390 no-map;
391 reg = <0x0 0x51100000 0x0 0x03500000>;
392 };
393 };
394
395 pci {
396 pcie0 {
397 #size-cells = <2>;
398 #address-cells = <3>;
399
400 wifi_0: wifi@0 {
401 reg = <0 0 0 0 0>;
402 memory-region = <&qcn9074_0>;
403 };
404 };
405 };
406
407 - |
408 #include <dt-bindings/interrupt-controller/arm-gic.h>
409
410 reserved-memory {
411 #address-cells = <2>;
412 #size-cells = <2>;
413
414 wlan_ce_mem: memory@4cd000 {
415 no-map;
416 reg = <0x0 0x004cd000 0x0 0x1000>;
417 };
418
419 wlan_fw_mem: memory@80c00000 {
420 no-map;
421 reg = <0x0 0x80c00000 0x0 0xc00000>;
422 };
423 };
424
425 wifi: wifi@17a10040 {
426 compatible = "qcom,wcn6750-wifi";
427 reg = <0x17a10040 0x0>;
428 iommus = <&apps_smmu 0x1c00 0x1>;
429 interrupts = <GIC_SPI 768 IRQ_TYPE_EDGE_RISING>,
430 <GIC_SPI 769 IRQ_TYPE_EDGE_RISING>,
431 <GIC_SPI 770 IRQ_TYPE_EDGE_RISING>,
432 <GIC_SPI 771 IRQ_TYPE_EDGE_RISING>,
433 <GIC_SPI 772 IRQ_TYPE_EDGE_RISING>,
434 <GIC_SPI 773 IRQ_TYPE_EDGE_RISING>,
435 <GIC_SPI 774 IRQ_TYPE_EDGE_RISING>,
436 <GIC_SPI 775 IRQ_TYPE_EDGE_RISING>,
437 <GIC_SPI 776 IRQ_TYPE_EDGE_RISING>,
438 <GIC_SPI 777 IRQ_TYPE_EDGE_RISING>,
439 <GIC_SPI 778 IRQ_TYPE_EDGE_RISING>,
440 <GIC_SPI 779 IRQ_TYPE_EDGE_RISING>,
441 <GIC_SPI 780 IRQ_TYPE_EDGE_RISING>,
442 <GIC_SPI 781 IRQ_TYPE_EDGE_RISING>,
443 <GIC_SPI 782 IRQ_TYPE_EDGE_RISING>,
444 <GIC_SPI 783 IRQ_TYPE_EDGE_RISING>,
445 <GIC_SPI 784 IRQ_TYPE_EDGE_RISING>,
446 <GIC_SPI 785 IRQ_TYPE_EDGE_RISING>,
447 <GIC_SPI 786 IRQ_TYPE_EDGE_RISING>,
448 <GIC_SPI 787 IRQ_TYPE_EDGE_RISING>,
449 <GIC_SPI 788 IRQ_TYPE_EDGE_RISING>,
450 <GIC_SPI 789 IRQ_TYPE_EDGE_RISING>,
451 <GIC_SPI 790 IRQ_TYPE_EDGE_RISING>,
452 <GIC_SPI 791 IRQ_TYPE_EDGE_RISING>,
453 <GIC_SPI 792 IRQ_TYPE_EDGE_RISING>,
454 <GIC_SPI 793 IRQ_TYPE_EDGE_RISING>,
455 <GIC_SPI 794 IRQ_TYPE_EDGE_RISING>,
456 <GIC_SPI 795 IRQ_TYPE_EDGE_RISING>,
457 <GIC_SPI 796 IRQ_TYPE_EDGE_RISING>,
458 <GIC_SPI 797 IRQ_TYPE_EDGE_RISING>,
459 <GIC_SPI 798 IRQ_TYPE_EDGE_RISING>,
460 <GIC_SPI 799 IRQ_TYPE_EDGE_RISING>;
461 qcom,rproc = <&remoteproc_wpss>;
462 memory-region = <&wlan_fw_mem>, <&wlan_ce_mem>;
463 qcom,smem-states = <&wlan_smp2p_out 0>;
464 qcom,smem-state-names = "wlan-smp2p-out";
465 wifi-firmware {
466 iommus = <&apps_smmu 0x1c02 0x1>;
467 };
468 };