# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) # Copyright (c) 2018-2019 The Linux Foundation. All rights reserved. %YAML 1.2 --- $id: http://devicetree.org/schemas/net/wireless/qcom,ath11k.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Qualcomm Technologies ath11k wireless devices maintainers: - Kalle Valo - Jeff Johnson description: | These are dt entries for Qualcomm Technologies, Inc. IEEE 802.11ax devices, for example like AHB based IPQ8074. properties: compatible: enum: - qcom,ipq8074-wifi - qcom,ipq6018-wifi - qcom,wcn6750-wifi - qcom,ipq5018-wifi reg: maxItems: 1 interrupts: minItems: 32 maxItems: 52 interrupt-names: maxItems: 52 qcom,rproc: $ref: /schemas/types.yaml#/definitions/phandle description: DT entry of q6v5-wcss remoteproc driver. Phandle to a node that can contain the following properties * compatible * reg * reg-names qcom,ath11k-calibration-variant: $ref: /schemas/types.yaml#/definitions/string description: string to uniquely identify variant of the calibration data in the board-2.bin for designs with colliding bus and device specific ids memory-region: minItems: 1 maxItems: 2 description: phandle to a node describing reserved memory (System RAM memory) used by ath11k firmware (see bindings/reserved-memory/reserved-memory.txt) iommus: minItems: 1 maxItems: 2 wifi-firmware: type: object description: | WCN6750 wifi node can contain one optional firmware subnode. Firmware subnode is needed when the platform does not have Trustzone. required: - iommus qcom,smem-states: $ref: /schemas/types.yaml#/definitions/phandle-array description: State bits used by the AP to signal the WLAN Q6. items: - description: Signal bits used to enable/disable low power mode on WCN6750 in the case of WoW (Wake on Wireless). qcom,smem-state-names: description: The names of the state bits used for SMP2P output. items: - const: wlan-smp2p-out required: - compatible - reg - interrupts - qcom,rproc additionalProperties: false allOf: - if: properties: compatible: contains: enum: - qcom,ipq8074-wifi - qcom,ipq6018-wifi then: properties: interrupts: items: - description: misc-pulse1 interrupt events - description: misc-latch interrupt events - description: sw exception interrupt events - description: watchdog interrupt events - description: interrupt event for ring CE0 - description: interrupt event for ring CE1 - description: interrupt event for ring CE2 - description: interrupt event for ring CE3 - description: interrupt event for ring CE4 - description: interrupt event for ring CE5 - description: interrupt event for ring CE6 - description: interrupt event for ring CE7 - description: interrupt event for ring CE8 - description: interrupt event for ring CE9 - description: interrupt event for ring CE10 - description: interrupt event for ring CE11 - description: interrupt event for ring host2wbm-desc-feed - description: interrupt event for ring host2reo-re-injection - description: interrupt event for ring host2reo-command - description: interrupt event for ring host2rxdma-monitor-ring3 - description: interrupt event for ring host2rxdma-monitor-ring2 - description: interrupt event for ring host2rxdma-monitor-ring1 - description: interrupt event for ring reo2ost-exception - description: interrupt event for ring wbm2host-rx-release - description: interrupt event for ring reo2host-status - description: interrupt event for ring reo2host-destination-ring4 - description: interrupt event for ring reo2host-destination-ring3 - description: interrupt event for ring reo2host-destination-ring2 - description: interrupt event for ring reo2host-destination-ring1 - description: interrupt event for ring rxdma2host-monitor-destination-mac3 - description: interrupt event for ring rxdma2host-monitor-destination-mac2 - description: interrupt event for ring rxdma2host-monitor-destination-mac1 - description: interrupt event for ring ppdu-end-interrupts-mac3 - description: interrupt event for ring ppdu-end-interrupts-mac2 - description: interrupt event for ring ppdu-end-interrupts-mac1 - description: interrupt event for ring rxdma2host-monitor-status-ring-mac3 - description: interrupt event for ring rxdma2host-monitor-status-ring-mac2 - description: interrupt event for ring rxdma2host-monitor-status-ring-mac1 - description: interrupt event for ring host2rxdma-host-buf-ring-mac3 - description: interrupt event for ring host2rxdma-host-buf-ring-mac2 - description: interrupt event for ring host2rxdma-host-buf-ring-mac1 - description: interrupt event for ring rxdma2host-destination-ring-mac3 - description: interrupt event for ring rxdma2host-destination-ring-mac2 - description: interrupt event for ring rxdma2host-destination-ring-mac1 - description: interrupt event for ring host2tcl-input-ring4 - description: interrupt event for ring host2tcl-input-ring3 - description: interrupt event for ring host2tcl-input-ring2 - description: interrupt event for ring host2tcl-input-ring1 - description: interrupt event for ring wbm2host-tx-completions-ring3 - description: interrupt event for ring wbm2host-tx-completions-ring2 - description: interrupt event for ring wbm2host-tx-completions-ring1 - description: interrupt event for ring tcl2host-status-ring interrupt-names: items: - const: misc-pulse1 - const: misc-latch - const: sw-exception - const: watchdog - const: ce0 - const: ce1 - const: ce2 - const: ce3 - const: ce4 - const: ce5 - const: ce6 - const: ce7 - const: ce8 - const: ce9 - const: ce10 - const: ce11 - const: host2wbm-desc-feed - const: host2reo-re-injection - const: host2reo-command - const: host2rxdma-monitor-ring3 - const: host2rxdma-monitor-ring2 - const: host2rxdma-monitor-ring1 - const: reo2ost-exception - const: wbm2host-rx-release - const: reo2host-status - const: reo2host-destination-ring4 - const: reo2host-destination-ring3 - const: reo2host-destination-ring2 - const: reo2host-destination-ring1 - const: rxdma2host-monitor-destination-mac3 - const: rxdma2host-monitor-destination-mac2 - const: rxdma2host-monitor-destination-mac1 - const: ppdu-end-interrupts-mac3 - const: ppdu-end-interrupts-mac2 - const: ppdu-end-interrupts-mac1 - const: rxdma2host-monitor-status-ring-mac3 - const: rxdma2host-monitor-status-ring-mac2 - const: rxdma2host-monitor-status-ring-mac1 - const: host2rxdma-host-buf-ring-mac3 - const: host2rxdma-host-buf-ring-mac2 - const: host2rxdma-host-buf-ring-mac1 - const: rxdma2host-destination-ring-mac3 - const: rxdma2host-destination-ring-mac2 - const: rxdma2host-destination-ring-mac1 - const: host2tcl-input-ring4 - const: host2tcl-input-ring3 - const: host2tcl-input-ring2 - const: host2tcl-input-ring1 - const: wbm2host-tx-completions-ring3 - const: wbm2host-tx-completions-ring2 - const: wbm2host-tx-completions-ring1 - const: tcl2host-status-ring - if: properties: compatible: contains: enum: - qcom,ipq8074-wifi - qcom,ipq6018-wifi then: required: - interrupt-names - if: properties: compatible: contains: enum: - qcom,wcn6750-wifi then: properties: interrupts: items: - description: interrupt event for ring CE1 - description: interrupt event for ring CE2 - description: interrupt event for ring CE3 - description: interrupt event for ring CE4 - description: interrupt event for ring CE5 - description: interrupt event for ring CE6 - description: interrupt event for ring CE7 - description: interrupt event for ring CE8 - description: interrupt event for ring CE9 - description: interrupt event for ring CE10 - description: interrupt event for ring DP1 - description: interrupt event for ring DP2 - description: interrupt event for ring DP3 - description: interrupt event for ring DP4 - description: interrupt event for ring DP5 - description: interrupt event for ring DP6 - description: interrupt event for ring DP7 - description: interrupt event for ring DP8 - description: interrupt event for ring DP9 - description: interrupt event for ring DP10 - description: interrupt event for ring DP11 - description: interrupt event for ring DP12 - description: interrupt event for ring DP13 - description: interrupt event for ring DP14 - description: interrupt event for ring DP15 - description: interrupt event for ring DP16 - description: interrupt event for ring DP17 - description: interrupt event for ring DP18 - description: interrupt event for ring DP19 - description: interrupt event for ring DP20 - description: interrupt event for ring DP21 - description: interrupt event for ring DP22 examples: - | q6v5_wcss: remoteproc@cd00000 { compatible = "qcom,ipq8074-wcss-pil"; reg = <0xcd00000 0x4040>, <0x4ab000 0x20>; reg-names = "qdsp6", "rmb"; }; wifi0: wifi@c000000 { compatible = "qcom,ipq8074-wifi"; reg = <0xc000000 0x2000000>; interrupts = <0 320 1>, <0 319 1>, <0 318 1>, <0 317 1>, <0 316 1>, <0 315 1>, <0 314 1>, <0 311 1>, <0 310 1>, <0 411 1>, <0 410 1>, <0 40 1>, <0 39 1>, <0 302 1>, <0 301 1>, <0 37 1>, <0 36 1>, <0 296 1>, <0 295 1>, <0 294 1>, <0 293 1>, <0 292 1>, <0 291 1>, <0 290 1>, <0 289 1>, <0 288 1>, <0 239 1>, <0 236 1>, <0 235 1>, <0 234 1>, <0 233 1>, <0 232 1>, <0 231 1>, <0 230 1>, <0 229 1>, <0 228 1>, <0 224 1>, <0 223 1>, <0 203 1>, <0 183 1>, <0 180 1>, <0 179 1>, <0 178 1>, <0 177 1>, <0 176 1>, <0 163 1>, <0 162 1>, <0 160 1>, <0 159 1>, <0 158 1>, <0 157 1>, <0 156 1>; interrupt-names = "misc-pulse1", "misc-latch", "sw-exception", "watchdog", "ce0", "ce1", "ce2", "ce3", "ce4", "ce5", "ce6", "ce7", "ce8", "ce9", "ce10", "ce11", "host2wbm-desc-feed", "host2reo-re-injection", "host2reo-command", "host2rxdma-monitor-ring3", "host2rxdma-monitor-ring2", "host2rxdma-monitor-ring1", "reo2ost-exception", "wbm2host-rx-release", "reo2host-status", "reo2host-destination-ring4", "reo2host-destination-ring3", "reo2host-destination-ring2", "reo2host-destination-ring1", "rxdma2host-monitor-destination-mac3", "rxdma2host-monitor-destination-mac2", "rxdma2host-monitor-destination-mac1", "ppdu-end-interrupts-mac3", "ppdu-end-interrupts-mac2", "ppdu-end-interrupts-mac1", "rxdma2host-monitor-status-ring-mac3", "rxdma2host-monitor-status-ring-mac2", "rxdma2host-monitor-status-ring-mac1", "host2rxdma-host-buf-ring-mac3", "host2rxdma-host-buf-ring-mac2", "host2rxdma-host-buf-ring-mac1", "rxdma2host-destination-ring-mac3", "rxdma2host-destination-ring-mac2", "rxdma2host-destination-ring-mac1", "host2tcl-input-ring4", "host2tcl-input-ring3", "host2tcl-input-ring2", "host2tcl-input-ring1", "wbm2host-tx-completions-ring3", "wbm2host-tx-completions-ring2", "wbm2host-tx-completions-ring1", "tcl2host-status-ring"; qcom,rproc = <&q6v5_wcss>; }; - | reserved-memory { #address-cells = <2>; #size-cells = <2>; qcn9074_0: wifi@51100000 { no-map; reg = <0x0 0x51100000 0x0 0x03500000>; }; }; pci { pcie0 { #size-cells = <2>; #address-cells = <3>; wifi_0: wifi@0 { reg = <0 0 0 0 0>; memory-region = <&qcn9074_0>; }; }; }; - | #include reserved-memory { #address-cells = <2>; #size-cells = <2>; wlan_ce_mem: memory@4cd000 { no-map; reg = <0x0 0x004cd000 0x0 0x1000>; }; wlan_fw_mem: memory@80c00000 { no-map; reg = <0x0 0x80c00000 0x0 0xc00000>; }; }; wifi: wifi@17a10040 { compatible = "qcom,wcn6750-wifi"; reg = <0x17a10040 0x0>; iommus = <&apps_smmu 0x1c00 0x1>; interrupts = , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ; qcom,rproc = <&remoteproc_wpss>; memory-region = <&wlan_fw_mem>, <&wlan_ce_mem>; qcom,smem-states = <&wlan_smp2p_out 0>; qcom,smem-state-names = "wlan-smp2p-out"; wifi-firmware { iommus = <&apps_smmu 0x1c02 0x1>; }; };