# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/phy/qcom,msm8996-qmp-pcie-phy.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm QMP PHY controller (MSM8996 PCIe)

maintainers:
  - Vinod Koul <vkoul@kernel.org>

description:
  QMP PHY controller supports physical layer functionality for a number of
  controllers on Qualcomm chipsets, such as, PCIe, UFS, and USB.

properties:
  compatible:
    const: qcom,msm8996-qmp-pcie-phy

  reg:
    items:
      - description: serdes

  "#address-cells":
    enum: [ 1, 2 ]

  "#size-cells":
    enum: [ 1, 2 ]

  ranges: true

  clocks:
    maxItems: 3

  clock-names:
    items:
      - const: aux
      - const: cfg_ahb
      - const: ref

  resets:
    maxItems: 3

  reset-names:
    items:
      - const: phy
      - const: common
      - const: cfg

  vdda-phy-supply: true

  vdda-pll-supply: true

  vddp-ref-clk-supply: true

patternProperties:
  "^phy@[0-9a-f]+$":
    type: object
    description: one child node per PHY provided by this block
    properties:
      reg:
        items:
          - description: TX
          - description: RX
          - description: PCS

      clocks:
        items:
          - description: PIPE clock

      clock-names:
        deprecated: true
        items:
          - enum:
              - pipe0
              - pipe1
              - pipe2

      resets:
        items:
          - description: PHY reset

      reset-names:
        deprecated: true
        items:
          - enum:
              - lane0
              - lane1
              - lane2

      "#clock-cells":
        const: 0

      clock-output-names:
        maxItems: 1

      "#phy-cells":
        const: 0

    required:
      - reg
      - clocks
      - resets
      - "#clock-cells"
      - clock-output-names
      - "#phy-cells"

    additionalProperties: false

required:
  - compatible
  - reg
  - "#address-cells"
  - "#size-cells"
  - ranges
  - clocks
  - clock-names
  - resets
  - reset-names
  - vdda-phy-supply
  - vdda-pll-supply

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/qcom,gcc-msm8996.h>
    pcie_phy: phy-wrapper@34000 {
        compatible = "qcom,msm8996-qmp-pcie-phy";
        reg = <0x34000 0x488>;
        #address-cells = <1>;
        #size-cells = <1>;
        ranges = <0x0 0x34000 0x4000>;

        clocks = <&gcc GCC_PCIE_PHY_AUX_CLK>,
                 <&gcc GCC_PCIE_PHY_CFG_AHB_CLK>,
                 <&gcc GCC_PCIE_CLKREF_CLK>;
        clock-names = "aux", "cfg_ahb", "ref";

        resets = <&gcc GCC_PCIE_PHY_BCR>,
                 <&gcc GCC_PCIE_PHY_COM_BCR>,
                 <&gcc GCC_PCIE_PHY_COM_NOCSR_BCR>;
        reset-names = "phy", "common", "cfg";

        vdda-phy-supply = <&vreg_l28a_0p925>;
        vdda-pll-supply = <&vreg_l12a_1p8>;

        pciephy_0: phy@1000 {
            reg = <0x1000 0x130>,
                  <0x1200 0x200>,
                  <0x1400 0x1dc>;

            clocks = <&gcc GCC_PCIE_0_PIPE_CLK>;
            resets = <&gcc GCC_PCIE_0_PHY_BCR>;

            #clock-cells = <0>;
            clock-output-names = "pcie_0_pipe_clk_src";

            #phy-cells = <0>;
        };

        pciephy_1: phy@2000 {
            reg = <0x2000 0x130>,
                  <0x2200 0x200>,
                  <0x2400 0x1dc>;

            clocks = <&gcc GCC_PCIE_1_PIPE_CLK>;
            resets = <&gcc GCC_PCIE_1_PHY_BCR>;

            #clock-cells = <0>;
            clock-output-names = "pcie_1_pipe_clk_src";

            #phy-cells = <0>;
        };

        pciephy_2: phy@3000 {
            reg = <0x3000 0x130>,
                  <0x3200 0x200>,
                  <0x3400 0x1dc>;

            clocks = <&gcc GCC_PCIE_2_PIPE_CLK>;
            resets = <&gcc GCC_PCIE_2_PHY_BCR>;

            #clock-cells = <0>;
            clock-output-names = "pcie_2_pipe_clk_src";

            #phy-cells = <0>;
        };
    };
