464 lines · 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.24---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 devices9 10maintainers:11 - Kalle Valo <kvalo@kernel.org>12 - Jeff Johnson <jjohnson@kernel.org>13 14description: |15 These are dt entries for Qualcomm Technologies, Inc. IEEE 802.11ax16 devices, for example like AHB based IPQ8074.17 18properties:19 compatible:20 enum:21 - qcom,ipq8074-wifi22 - qcom,ipq6018-wifi23 - qcom,wcn6750-wifi24 - qcom,ipq5018-wifi25 26 reg:27 maxItems: 128 29 interrupts:30 minItems: 3231 maxItems: 5232 33 interrupt-names:34 maxItems: 5235 36 qcom,rproc:37 $ref: /schemas/types.yaml#/definitions/phandle38 description:39 DT entry of q6v5-wcss remoteproc driver.40 Phandle to a node that can contain the following properties41 * compatible42 * reg43 * reg-names44 45 qcom,ath11k-calibration-variant:46 $ref: /schemas/types.yaml#/definitions/string47 description:48 string to uniquely identify variant of the calibration data in the49 board-2.bin for designs with colliding bus and device specific ids50 51 memory-region:52 minItems: 153 maxItems: 254 description:55 phandle to a node describing reserved memory (System RAM memory)56 used by ath11k firmware (see bindings/reserved-memory/reserved-memory.txt)57 58 iommus:59 minItems: 160 maxItems: 261 62 ieee80211-freq-limit: true63 64 wifi-firmware:65 type: object66 description: |67 WCN6750 wifi node can contain one optional firmware subnode.68 Firmware subnode is needed when the platform does not have Trustzone.69 required:70 - iommus71 72 qcom,smem-states:73 $ref: /schemas/types.yaml#/definitions/phandle-array74 description: State bits used by the AP to signal the WLAN Q6.75 items:76 - description: Signal bits used to enable/disable low power mode77 on WCN6750 in the case of WoW (Wake on Wireless).78 79 qcom,smem-state-names:80 description: The names of the state bits used for SMP2P output.81 items:82 - const: wlan-smp2p-out83 84required:85 - compatible86 - reg87 - interrupts88 - qcom,rproc89 90additionalProperties: false91 92allOf:93 - $ref: ieee80211.yaml#94 - if:95 properties:96 compatible:97 contains:98 enum:99 - qcom,ipq8074-wifi100 - qcom,ipq6018-wifi101 then:102 properties:103 interrupts:104 items:105 - description: misc-pulse1 interrupt events106 - description: misc-latch interrupt events107 - description: sw exception interrupt events108 - description: watchdog interrupt events109 - description: interrupt event for ring CE0110 - description: interrupt event for ring CE1111 - description: interrupt event for ring CE2112 - description: interrupt event for ring CE3113 - description: interrupt event for ring CE4114 - description: interrupt event for ring CE5115 - description: interrupt event for ring CE6116 - description: interrupt event for ring CE7117 - description: interrupt event for ring CE8118 - description: interrupt event for ring CE9119 - description: interrupt event for ring CE10120 - description: interrupt event for ring CE11121 - description: interrupt event for ring host2wbm-desc-feed122 - description: interrupt event for ring host2reo-re-injection123 - description: interrupt event for ring host2reo-command124 - description: interrupt event for ring host2rxdma-monitor-ring3125 - description: interrupt event for ring host2rxdma-monitor-ring2126 - description: interrupt event for ring host2rxdma-monitor-ring1127 - description: interrupt event for ring reo2ost-exception128 - description: interrupt event for ring wbm2host-rx-release129 - description: interrupt event for ring reo2host-status130 - description: interrupt event for ring reo2host-destination-ring4131 - description: interrupt event for ring reo2host-destination-ring3132 - description: interrupt event for ring reo2host-destination-ring2133 - description: interrupt event for ring reo2host-destination-ring1134 - description: interrupt event for ring rxdma2host-monitor-destination-mac3135 - description: interrupt event for ring rxdma2host-monitor-destination-mac2136 - description: interrupt event for ring rxdma2host-monitor-destination-mac1137 - description: interrupt event for ring ppdu-end-interrupts-mac3138 - description: interrupt event for ring ppdu-end-interrupts-mac2139 - description: interrupt event for ring ppdu-end-interrupts-mac1140 - description: interrupt event for ring rxdma2host-monitor-status-ring-mac3141 - description: interrupt event for ring rxdma2host-monitor-status-ring-mac2142 - description: interrupt event for ring rxdma2host-monitor-status-ring-mac1143 - description: interrupt event for ring host2rxdma-host-buf-ring-mac3144 - description: interrupt event for ring host2rxdma-host-buf-ring-mac2145 - description: interrupt event for ring host2rxdma-host-buf-ring-mac1146 - description: interrupt event for ring rxdma2host-destination-ring-mac3147 - description: interrupt event for ring rxdma2host-destination-ring-mac2148 - description: interrupt event for ring rxdma2host-destination-ring-mac1149 - description: interrupt event for ring host2tcl-input-ring4150 - description: interrupt event for ring host2tcl-input-ring3151 - description: interrupt event for ring host2tcl-input-ring2152 - description: interrupt event for ring host2tcl-input-ring1153 - description: interrupt event for ring wbm2host-tx-completions-ring3154 - description: interrupt event for ring wbm2host-tx-completions-ring2155 - description: interrupt event for ring wbm2host-tx-completions-ring1156 - description: interrupt event for ring tcl2host-status-ring157 interrupt-names:158 items:159 - const: misc-pulse1160 - const: misc-latch161 - const: sw-exception162 - const: watchdog163 - const: ce0164 - const: ce1165 - const: ce2166 - const: ce3167 - const: ce4168 - const: ce5169 - const: ce6170 - const: ce7171 - const: ce8172 - const: ce9173 - const: ce10174 - const: ce11175 - const: host2wbm-desc-feed176 - const: host2reo-re-injection177 - const: host2reo-command178 - const: host2rxdma-monitor-ring3179 - const: host2rxdma-monitor-ring2180 - const: host2rxdma-monitor-ring1181 - const: reo2ost-exception182 - const: wbm2host-rx-release183 - const: reo2host-status184 - const: reo2host-destination-ring4185 - const: reo2host-destination-ring3186 - const: reo2host-destination-ring2187 - const: reo2host-destination-ring1188 - const: rxdma2host-monitor-destination-mac3189 - const: rxdma2host-monitor-destination-mac2190 - const: rxdma2host-monitor-destination-mac1191 - const: ppdu-end-interrupts-mac3192 - const: ppdu-end-interrupts-mac2193 - const: ppdu-end-interrupts-mac1194 - const: rxdma2host-monitor-status-ring-mac3195 - const: rxdma2host-monitor-status-ring-mac2196 - const: rxdma2host-monitor-status-ring-mac1197 - const: host2rxdma-host-buf-ring-mac3198 - const: host2rxdma-host-buf-ring-mac2199 - const: host2rxdma-host-buf-ring-mac1200 - const: rxdma2host-destination-ring-mac3201 - const: rxdma2host-destination-ring-mac2202 - const: rxdma2host-destination-ring-mac1203 - const: host2tcl-input-ring4204 - const: host2tcl-input-ring3205 - const: host2tcl-input-ring2206 - const: host2tcl-input-ring1207 - const: wbm2host-tx-completions-ring3208 - const: wbm2host-tx-completions-ring2209 - const: wbm2host-tx-completions-ring1210 - const: tcl2host-status-ring211 212 - if:213 properties:214 compatible:215 contains:216 enum:217 - qcom,ipq8074-wifi218 - qcom,ipq6018-wifi219 then:220 required:221 - interrupt-names222 223 - if:224 properties:225 compatible:226 contains:227 enum:228 - qcom,wcn6750-wifi229 then:230 properties:231 interrupts:232 items:233 - description: interrupt event for ring CE1234 - description: interrupt event for ring CE2235 - description: interrupt event for ring CE3236 - description: interrupt event for ring CE4237 - description: interrupt event for ring CE5238 - description: interrupt event for ring CE6239 - description: interrupt event for ring CE7240 - description: interrupt event for ring CE8241 - description: interrupt event for ring CE9242 - description: interrupt event for ring CE10243 - description: interrupt event for ring DP1244 - description: interrupt event for ring DP2245 - description: interrupt event for ring DP3246 - description: interrupt event for ring DP4247 - description: interrupt event for ring DP5248 - description: interrupt event for ring DP6249 - description: interrupt event for ring DP7250 - description: interrupt event for ring DP8251 - description: interrupt event for ring DP9252 - description: interrupt event for ring DP10253 - description: interrupt event for ring DP11254 - description: interrupt event for ring DP12255 - description: interrupt event for ring DP13256 - description: interrupt event for ring DP14257 - description: interrupt event for ring DP15258 - description: interrupt event for ring DP16259 - description: interrupt event for ring DP17260 - description: interrupt event for ring DP18261 - description: interrupt event for ring DP19262 - description: interrupt event for ring DP20263 - description: interrupt event for ring DP21264 - description: interrupt event for ring DP22265 266examples:267 - |268 wifi0: wifi@c000000 {269 compatible = "qcom,ipq8074-wifi";270 reg = <0xc000000 0x2000000>;271 interrupts = <0 320 1>,272 <0 319 1>,273 <0 318 1>,274 <0 317 1>,275 <0 316 1>,276 <0 315 1>,277 <0 314 1>,278 <0 311 1>,279 <0 310 1>,280 <0 411 1>,281 <0 410 1>,282 <0 40 1>,283 <0 39 1>,284 <0 302 1>,285 <0 301 1>,286 <0 37 1>,287 <0 36 1>,288 <0 296 1>,289 <0 295 1>,290 <0 294 1>,291 <0 293 1>,292 <0 292 1>,293 <0 291 1>,294 <0 290 1>,295 <0 289 1>,296 <0 288 1>,297 <0 239 1>,298 <0 236 1>,299 <0 235 1>,300 <0 234 1>,301 <0 233 1>,302 <0 232 1>,303 <0 231 1>,304 <0 230 1>,305 <0 229 1>,306 <0 228 1>,307 <0 224 1>,308 <0 223 1>,309 <0 203 1>,310 <0 183 1>,311 <0 180 1>,312 <0 179 1>,313 <0 178 1>,314 <0 177 1>,315 <0 176 1>,316 <0 163 1>,317 <0 162 1>,318 <0 160 1>,319 <0 159 1>,320 <0 158 1>,321 <0 157 1>,322 <0 156 1>;323 interrupt-names = "misc-pulse1",324 "misc-latch",325 "sw-exception",326 "watchdog",327 "ce0",328 "ce1",329 "ce2",330 "ce3",331 "ce4",332 "ce5",333 "ce6",334 "ce7",335 "ce8",336 "ce9",337 "ce10",338 "ce11",339 "host2wbm-desc-feed",340 "host2reo-re-injection",341 "host2reo-command",342 "host2rxdma-monitor-ring3",343 "host2rxdma-monitor-ring2",344 "host2rxdma-monitor-ring1",345 "reo2ost-exception",346 "wbm2host-rx-release",347 "reo2host-status",348 "reo2host-destination-ring4",349 "reo2host-destination-ring3",350 "reo2host-destination-ring2",351 "reo2host-destination-ring1",352 "rxdma2host-monitor-destination-mac3",353 "rxdma2host-monitor-destination-mac2",354 "rxdma2host-monitor-destination-mac1",355 "ppdu-end-interrupts-mac3",356 "ppdu-end-interrupts-mac2",357 "ppdu-end-interrupts-mac1",358 "rxdma2host-monitor-status-ring-mac3",359 "rxdma2host-monitor-status-ring-mac2",360 "rxdma2host-monitor-status-ring-mac1",361 "host2rxdma-host-buf-ring-mac3",362 "host2rxdma-host-buf-ring-mac2",363 "host2rxdma-host-buf-ring-mac1",364 "rxdma2host-destination-ring-mac3",365 "rxdma2host-destination-ring-mac2",366 "rxdma2host-destination-ring-mac1",367 "host2tcl-input-ring4",368 "host2tcl-input-ring3",369 "host2tcl-input-ring2",370 "host2tcl-input-ring1",371 "wbm2host-tx-completions-ring3",372 "wbm2host-tx-completions-ring2",373 "wbm2host-tx-completions-ring1",374 "tcl2host-status-ring";375 qcom,rproc = <&q6v5_wcss>;376 };377 378 - |379 380 reserved-memory {381 #address-cells = <2>;382 #size-cells = <2>;383 384 qcn9074_0: wifi@51100000 {385 no-map;386 reg = <0x0 0x51100000 0x0 0x03500000>;387 };388 };389 390 pci {391 pcie0 {392 #size-cells = <2>;393 #address-cells = <3>;394 395 wifi_0: wifi@0 {396 reg = <0 0 0 0 0>;397 memory-region = <&qcn9074_0>;398 };399 };400 };401 402 - |403 #include <dt-bindings/interrupt-controller/arm-gic.h>404 405 reserved-memory {406 #address-cells = <2>;407 #size-cells = <2>;408 409 wlan_ce_mem: memory@4cd000 {410 no-map;411 reg = <0x0 0x004cd000 0x0 0x1000>;412 };413 414 wlan_fw_mem: memory@80c00000 {415 no-map;416 reg = <0x0 0x80c00000 0x0 0xc00000>;417 };418 };419 420 wifi: wifi@17a10040 {421 compatible = "qcom,wcn6750-wifi";422 reg = <0x17a10040 0x0>;423 iommus = <&apps_smmu 0x1c00 0x1>;424 interrupts = <GIC_SPI 768 IRQ_TYPE_EDGE_RISING>,425 <GIC_SPI 769 IRQ_TYPE_EDGE_RISING>,426 <GIC_SPI 770 IRQ_TYPE_EDGE_RISING>,427 <GIC_SPI 771 IRQ_TYPE_EDGE_RISING>,428 <GIC_SPI 772 IRQ_TYPE_EDGE_RISING>,429 <GIC_SPI 773 IRQ_TYPE_EDGE_RISING>,430 <GIC_SPI 774 IRQ_TYPE_EDGE_RISING>,431 <GIC_SPI 775 IRQ_TYPE_EDGE_RISING>,432 <GIC_SPI 776 IRQ_TYPE_EDGE_RISING>,433 <GIC_SPI 777 IRQ_TYPE_EDGE_RISING>,434 <GIC_SPI 778 IRQ_TYPE_EDGE_RISING>,435 <GIC_SPI 779 IRQ_TYPE_EDGE_RISING>,436 <GIC_SPI 780 IRQ_TYPE_EDGE_RISING>,437 <GIC_SPI 781 IRQ_TYPE_EDGE_RISING>,438 <GIC_SPI 782 IRQ_TYPE_EDGE_RISING>,439 <GIC_SPI 783 IRQ_TYPE_EDGE_RISING>,440 <GIC_SPI 784 IRQ_TYPE_EDGE_RISING>,441 <GIC_SPI 785 IRQ_TYPE_EDGE_RISING>,442 <GIC_SPI 786 IRQ_TYPE_EDGE_RISING>,443 <GIC_SPI 787 IRQ_TYPE_EDGE_RISING>,444 <GIC_SPI 788 IRQ_TYPE_EDGE_RISING>,445 <GIC_SPI 789 IRQ_TYPE_EDGE_RISING>,446 <GIC_SPI 790 IRQ_TYPE_EDGE_RISING>,447 <GIC_SPI 791 IRQ_TYPE_EDGE_RISING>,448 <GIC_SPI 792 IRQ_TYPE_EDGE_RISING>,449 <GIC_SPI 793 IRQ_TYPE_EDGE_RISING>,450 <GIC_SPI 794 IRQ_TYPE_EDGE_RISING>,451 <GIC_SPI 795 IRQ_TYPE_EDGE_RISING>,452 <GIC_SPI 796 IRQ_TYPE_EDGE_RISING>,453 <GIC_SPI 797 IRQ_TYPE_EDGE_RISING>,454 <GIC_SPI 798 IRQ_TYPE_EDGE_RISING>,455 <GIC_SPI 799 IRQ_TYPE_EDGE_RISING>;456 qcom,rproc = <&remoteproc_wpss>;457 memory-region = <&wlan_fw_mem>, <&wlan_ce_mem>;458 qcom,smem-states = <&wlan_smp2p_out 0>;459 qcom,smem-state-names = "wlan-smp2p-out";460 wifi-firmware {461 iommus = <&apps_smmu 0x1c02 0x1>;462 };463 };464