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

title: Qualcomm Technologies ath12k wireless devices (PCIe)

maintainers:
  - Jeff Johnson <quic_jjohnson@quicinc.com>
  - Kalle Valo <kvalo@kernel.org>

description:
  Qualcomm Technologies IEEE 802.11be PCIe devices.

properties:
  compatible:
    enum:
      - pci17cb,1107  # WCN7850

  reg:
    maxItems: 1

  vddaon-supply:
    description: VDD_AON supply regulator handle

  vddwlcx-supply:
    description: VDD_WLCX supply regulator handle

  vddwlmx-supply:
    description: VDD_WLMX supply regulator handle

  vddrfacmn-supply:
    description: VDD_RFA_CMN supply regulator handle

  vddrfa0p8-supply:
    description: VDD_RFA_0P8 supply regulator handle

  vddrfa1p2-supply:
    description: VDD_RFA_1P2 supply regulator handle

  vddrfa1p8-supply:
    description: VDD_RFA_1P8 supply regulator handle

  vddpcie0p9-supply:
    description: VDD_PCIE_0P9 supply regulator handle

  vddpcie1p8-supply:
    description: VDD_PCIE_1P8 supply regulator handle

required:
  - compatible
  - reg
  - vddaon-supply
  - vddwlcx-supply
  - vddwlmx-supply
  - vddrfacmn-supply
  - vddrfa0p8-supply
  - vddrfa1p2-supply
  - vddrfa1p8-supply
  - vddpcie0p9-supply
  - vddpcie1p8-supply

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/qcom,rpmh.h>
    #include <dt-bindings/gpio/gpio.h>
    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,1107";
                reg = <0x10000 0x0 0x0 0x0 0x0>;

                vddaon-supply = <&vreg_pmu_aon_0p59>;
                vddwlcx-supply = <&vreg_pmu_wlcx_0p8>;
                vddwlmx-supply = <&vreg_pmu_wlmx_0p85>;
                vddrfacmn-supply = <&vreg_pmu_rfa_cmn>;
                vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
                vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
                vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>;
                vddpcie0p9-supply = <&vreg_pmu_pcie_0p9>;
                vddpcie1p8-supply = <&vreg_pmu_pcie_1p8>;
            };
        };
    };
