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

title: Qualcomm Technologies ath11k wireless devices (PCIe)

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

description: |
  Qualcomm Technologies IEEE 802.11ax PCIe devices

properties:
  compatible:
    enum:
      - pci17cb,1103  # WCN6855

  reg:
    maxItems: 1

  qcom,ath11k-calibration-variant:
    $ref: /schemas/types.yaml#/definitions/string
    description: |
      string to uniquely identify variant of the calibration data for designs
      with colliding bus and device ids

required:
  - compatible
  - reg

additionalProperties: false

examples:
  - |
    pcie {
        #address-cells = <3>;
        #size-cells = <2>;

        pcie@0 {
            device_type = "pci";
            reg = <0x0 0x0 0x0 0x0 0x0>;
            #address-cells = <3>;
            #size-cells = <2>;
            ranges;

            bus-range = <0x01 0xff>;

            wifi@0 {
                compatible = "pci17cb,1103";
                reg = <0x10000 0x0 0x0 0x0 0x0>;

                qcom,ath11k-calibration-variant = "LE_X13S";
            };
        };
    };
