# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/wireless/qcom,ath10k.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm Technologies ath10k wireless devices

maintainers:
  - Kalle Valo <kvalo@kernel.org>
  - Jeff Johnson <jjohnson@kernel.org>

description:
  Qualcomm Technologies, Inc. IEEE 802.11ac devices.

properties:
  compatible:
    enum:
      - qcom,ath10k # SDIO-based devices
      - qcom,ipq4019-wifi
      - qcom,wcn3990-wifi # SNoC-based devices

  reg:
    maxItems: 1

  reg-names:
    items:
      - const: membase

  interrupts:
    minItems: 12
    maxItems: 17

  interrupt-names:
    minItems: 12
    maxItems: 17

  memory-region:
    maxItems: 1
    description:
      Reference to the MSA memory region used by the Wi-Fi firmware
      running on the Q6 core.

  iommus:
    minItems: 1
    maxItems: 2

  clocks:
    minItems: 1
    maxItems: 3

  clock-names:
    minItems: 1
    maxItems: 3

  resets:
    maxItems: 6

  reset-names:
    items:
      - const: wifi_cpu_init
      - const: wifi_radio_srif
      - const: wifi_radio_warm
      - const: wifi_radio_cold
      - const: wifi_core_warm
      - const: wifi_core_cold

  ext-fem-name:
    $ref: /schemas/types.yaml#/definitions/string
    description: Name of external front end module used.
    enum:
      - microsemi-lx5586
      - sky85703-11
      - sky85803

  firmware-name:
    maxItems: 1
    description:
      If present, a board or platform specific string used to lookup firmware
      files for the device.

  wifi-firmware:
    type: object
    additionalProperties: false
    description: |
      The ath10k Wi-Fi node can contain one optional firmware subnode.
      Firmware subnode is needed when the platform does not have Trustzone.
    properties:
      iommus:
        maxItems: 1
    required:
      - iommus

  ieee80211-freq-limit: true

  qcom,ath10k-calibration-data:
    $ref: /schemas/types.yaml#/definitions/uint8-array
    description:
      Calibration data + board-specific data as a byte array. The length
      can vary between hardware versions.

  qcom,ath10k-calibration-variant:
    $ref: /schemas/types.yaml#/definitions/string
    description:
      Unique variant identifier of the calibration data in board-2.bin
      for designs with colliding bus and device specific ids

  qcom,ath10k-pre-calibration-data:
    $ref: /schemas/types.yaml#/definitions/uint8-array
    description:
      Pre-calibration data as a byte array. The length can vary between
      hardware versions.

  qcom,coexist-support:
    $ref: /schemas/types.yaml#/definitions/uint8
    enum: [0, 1]
    description:
      Indicate coex support by the hardware.

  qcom,coexist-gpio-pin:
    $ref: /schemas/types.yaml#/definitions/uint32
    description:
      COEX GPIO number provided to the Wi-Fi firmware.

  qcom,msa-fixed-perm:
    type: boolean
    description:
      Whether to skip executing an SCM call that reassigns the memory
      region ownership.

  qcom,no-msa-ready-indicator:
    type: boolean
    description:
      Don't wait for MSA_READY indicator to complete init.

  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 WCN 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

  qcom,snoc-host-cap-8bit-quirk:
    type: boolean
    description:
      Quirk specifying that the firmware expects the 8bit version
      of the host capability QMI request

  qcom,xo-cal-data:
    $ref: /schemas/types.yaml#/definitions/uint32
    description:
      XO cal offset to be configured in XO trim register.

  vdd-0.8-cx-mx-supply:
    description: Main logic power rail

  vdd-1.8-xo-supply:
    description: Crystal oscillator supply

  vdd-1.3-rfa-supply:
    description: RFA supply

  vdd-3.3-ch0-supply:
    description: Primary Wi-Fi antenna supply

  vdd-3.3-ch1-supply:
    description: Secondary Wi-Fi antenna supply

required:
  - compatible
  - reg

additionalProperties: false

allOf:
  - $ref: ieee80211.yaml#
  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,ipq4019-wifi
    then:
      properties:
        interrupts:
          minItems: 17
          maxItems: 17

        interrupt-names:
          items:
            - const: msi0
            - const: msi1
            - const: msi2
            - const: msi3
            - const: msi4
            - const: msi5
            - const: msi6
            - const: msi7
            - const: msi8
            - const: msi9
            - const: msi10
            - const: msi11
            - const: msi12
            - const: msi13
            - const: msi14
            - const: msi15
            - const: legacy

        clocks:
          items:
            - description: Wi-Fi command clock
            - description: Wi-Fi reference clock
            - description: Wi-Fi RTC clock

        clock-names:
          items:
            - const: wifi_wcss_cmd
            - const: wifi_wcss_ref
            - const: wifi_wcss_rtc

      required:
        - clocks
        - clock-names
        - interrupts
        - interrupt-names
        - resets
        - reset-names

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,wcn3990-wifi

    then:
      properties:
        clocks:
          minItems: 1
          items:
            - description: XO reference clock
            - description: Qualcomm Debug Subsystem clock

        clock-names:
          minItems: 1
          items:
            - const: cxo_ref_clk_pin
            - const: qdss

        interrupts:
          items:
            - description: CE0
            - description: CE1
            - description: CE2
            - description: CE3
            - description: CE4
            - description: CE5
            - description: CE6
            - description: CE7
            - description: CE8
            - description: CE9
            - description: CE10
            - description: CE11

        interrupt-names: false

      required:
        - interrupts

examples:
  # SNoC
  - |
    #include <dt-bindings/clock/qcom,rpmcc.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>

    wifi@18800000 {
      compatible = "qcom,wcn3990-wifi";
      reg = <0x18800000 0x800000>;
      reg-names = "membase";
      memory-region = <&wlan_msa_mem>;
      clocks = <&rpmcc RPM_SMD_RF_CLK2_PIN>;
      clock-names = "cxo_ref_clk_pin";
      interrupts = <GIC_SPI 413 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 414 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 415 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 416 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 417 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 418 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 420 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 422 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 423 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 424 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH>;
      iommus = <&anoc2_smmu 0x1900>,
               <&anoc2_smmu 0x1901>;
      qcom,snoc-host-cap-8bit-quirk;
      vdd-0.8-cx-mx-supply = <&vreg_l5a_0p8>;
      vdd-1.8-xo-supply = <&vreg_l7a_1p8>;
      vdd-1.3-rfa-supply = <&vreg_l17a_1p3>;
      vdd-3.3-ch0-supply = <&vreg_l25a_3p3>;
      vdd-3.3-ch1-supply = <&vreg_l23a_3p3>;

      wifi-firmware {
        iommus = <&apps_smmu 0x1c02 0x1>;
      };
    };

  # AHB
  - |
    #include <dt-bindings/clock/qcom,gcc-ipq4019.h>

    wifi@a000000 {
        compatible = "qcom,ipq4019-wifi";
        reg = <0xa000000 0x200000>;
        resets = <&gcc WIFI0_CPU_INIT_RESET>,
                 <&gcc WIFI0_RADIO_SRIF_RESET>,
                 <&gcc WIFI0_RADIO_WARM_RESET>,
                 <&gcc WIFI0_RADIO_COLD_RESET>,
                 <&gcc WIFI0_CORE_WARM_RESET>,
                 <&gcc WIFI0_CORE_COLD_RESET>;
        reset-names = "wifi_cpu_init",
                      "wifi_radio_srif",
                      "wifi_radio_warm",
                      "wifi_radio_cold",
                      "wifi_core_warm",
                      "wifi_core_cold";
        clocks = <&gcc GCC_WCSS2G_CLK>,
                 <&gcc GCC_WCSS2G_REF_CLK>,
                 <&gcc GCC_WCSS2G_RTC_CLK>;
        clock-names = "wifi_wcss_cmd",
                      "wifi_wcss_ref",
                      "wifi_wcss_rtc";
        interrupts = <GIC_SPI 32 IRQ_TYPE_EDGE_RISING>,
                     <GIC_SPI 33 IRQ_TYPE_EDGE_RISING>,
                     <GIC_SPI 34 IRQ_TYPE_EDGE_RISING>,
                     <GIC_SPI 35 IRQ_TYPE_EDGE_RISING>,
                     <GIC_SPI 36 IRQ_TYPE_EDGE_RISING>,
                     <GIC_SPI 37 IRQ_TYPE_EDGE_RISING>,
                     <GIC_SPI 38 IRQ_TYPE_EDGE_RISING>,
                     <GIC_SPI 39 IRQ_TYPE_EDGE_RISING>,
                     <GIC_SPI 40 IRQ_TYPE_EDGE_RISING>,
                     <GIC_SPI 41 IRQ_TYPE_EDGE_RISING>,
                     <GIC_SPI 42 IRQ_TYPE_EDGE_RISING>,
                     <GIC_SPI 43 IRQ_TYPE_EDGE_RISING>,
                     <GIC_SPI 44 IRQ_TYPE_EDGE_RISING>,
                     <GIC_SPI 45 IRQ_TYPE_EDGE_RISING>,
                     <GIC_SPI 46 IRQ_TYPE_EDGE_RISING>,
                     <GIC_SPI 47 IRQ_TYPE_EDGE_RISING>,
                     <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>;
        interrupt-names =  "msi0",
                           "msi1",
                           "msi2",
                           "msi3",
                           "msi4",
                           "msi5",
                           "msi6",
                           "msi7",
                           "msi8",
                           "msi9",
                           "msi10",
                           "msi11",
                           "msi12",
                           "msi13",
                           "msi14",
                           "msi15",
                           "legacy";
        ieee80211-freq-limit = <5470000 5875000>;
      };
