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