# 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 <kvalo@kernel.org>
  - 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,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 <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>;
        };
    };
