| # 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: | |
| - Jeff Johnson <jjohnson@kernel.org> | |
| 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,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 | |
| qcom,ath11k-calibration-variant: | |
| $ref: /schemas/types.yaml#/definitions/string | |
| deprecated: true | |
| 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 | |
| ieee80211-freq-limit: true | |
| 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). | |
| items: | |
| - description: Phandle to the Shared Memory Point 2 Point device | |
| handling the communication with a remote processor | |
| - description: Single bit index to toggle in the value sent to | |
| the remote processor | |
| maximum: 32 | |
| 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: | |
| - $ref: ieee80211.yaml# | |
| - 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 | |
| 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: | |
| - | | |
| 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 <dt-bindings/interrupt-controller/arm-gic.h> | |
| 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 = <GIC_SPI 768 IRQ_TYPE_EDGE_RISING>, | |
| <GIC_SPI 769 IRQ_TYPE_EDGE_RISING>, | |
| <GIC_SPI 770 IRQ_TYPE_EDGE_RISING>, | |
| <GIC_SPI 771 IRQ_TYPE_EDGE_RISING>, | |
| <GIC_SPI 772 IRQ_TYPE_EDGE_RISING>, | |
| <GIC_SPI 773 IRQ_TYPE_EDGE_RISING>, | |
| <GIC_SPI 774 IRQ_TYPE_EDGE_RISING>, | |
| <GIC_SPI 775 IRQ_TYPE_EDGE_RISING>, | |
| <GIC_SPI 776 IRQ_TYPE_EDGE_RISING>, | |
| <GIC_SPI 777 IRQ_TYPE_EDGE_RISING>, | |
| <GIC_SPI 778 IRQ_TYPE_EDGE_RISING>, | |
| <GIC_SPI 779 IRQ_TYPE_EDGE_RISING>, | |
| <GIC_SPI 780 IRQ_TYPE_EDGE_RISING>, | |
| <GIC_SPI 781 IRQ_TYPE_EDGE_RISING>, | |
| <GIC_SPI 782 IRQ_TYPE_EDGE_RISING>, | |
| <GIC_SPI 783 IRQ_TYPE_EDGE_RISING>, | |
| <GIC_SPI 784 IRQ_TYPE_EDGE_RISING>, | |
| <GIC_SPI 785 IRQ_TYPE_EDGE_RISING>, | |
| <GIC_SPI 786 IRQ_TYPE_EDGE_RISING>, | |
| <GIC_SPI 787 IRQ_TYPE_EDGE_RISING>, | |
| <GIC_SPI 788 IRQ_TYPE_EDGE_RISING>, | |
| <GIC_SPI 789 IRQ_TYPE_EDGE_RISING>, | |
| <GIC_SPI 790 IRQ_TYPE_EDGE_RISING>, | |
| <GIC_SPI 791 IRQ_TYPE_EDGE_RISING>, | |
| <GIC_SPI 792 IRQ_TYPE_EDGE_RISING>, | |
| <GIC_SPI 793 IRQ_TYPE_EDGE_RISING>, | |
| <GIC_SPI 794 IRQ_TYPE_EDGE_RISING>, | |
| <GIC_SPI 795 IRQ_TYPE_EDGE_RISING>, | |
| <GIC_SPI 796 IRQ_TYPE_EDGE_RISING>, | |
| <GIC_SPI 797 IRQ_TYPE_EDGE_RISING>, | |
| <GIC_SPI 798 IRQ_TYPE_EDGE_RISING>, | |
| <GIC_SPI 799 IRQ_TYPE_EDGE_RISING>; | |
| 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>; | |
| }; | |
| }; |