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

title: Qualcomm M31 eUSB2 phy

maintainers:
  - Wesley Cheng <quic_wcheng@quicinc.com>

description:
  M31 based eUSB2 controller, which supports LS/FS/HS usb connectivity
  on Qualcomm chipsets.  It is paired with a eUSB2 repeater.

properties:
  compatible:
    oneOf:
      - items:
          - enum:
              - qcom,glymur-m31-eusb2-phy
              - qcom,kaanapali-m31-eusb2-phy
          - const: qcom,sm8750-m31-eusb2-phy
      - const: qcom,sm8750-m31-eusb2-phy

  reg:
    maxItems: 1

  "#phy-cells":
    const: 0

  clocks:
    items:
      - description: reference clock

  clock-names:
    items:
      - const: ref

  resets:
    maxItems: 1

  phys:
    maxItems: 1
    description:
      Phandle to eUSB2 repeater

  vdd-supply:
    description:
      Phandle to 0.88V regulator supply to PHY digital circuit.

  vdda12-supply:
    description:
      Phandle to 1.2V regulator supply to PHY refclk pll block.

required:
  - compatible
  - reg
  - "#phy-cells"
  - clocks
  - clock-names
  - resets
  - vdd-supply
  - vdda12-supply

additionalProperties: false

examples:
  - |
    usb_1_hsphy: phy@88e3000 {
        compatible = "qcom,sm8750-m31-eusb2-phy";
        reg = <0x88e3000 0x29c>;

        clocks = <&tcsrcc_usb2_clkref_en>;
        clock-names = "ref";

        resets = <&gcc_qusb2phy_prim_bcr>;

        #phy-cells = <0>;

        vdd-supply = <&vreg_l2d_0p88>;
        vdda12-supply = <&vreg_l3g_1p2>;
    };
