# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)

%YAML 1.2
---
$id: http://devicetree.org/schemas/phy/qcom,qusb2-phy.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm QUSB2 phy controller

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

description:
  QUSB2 controller supports LS/FS/HS usb connectivity on Qualcomm chipsets.

properties:
  compatible:
    oneOf:
      - items:
          - enum:
              - qcom,ipq6018-qusb2-phy
              - qcom,ipq8074-qusb2-phy
              - qcom,ipq9574-qusb2-phy
              - qcom,msm8953-qusb2-phy
              - qcom,msm8996-qusb2-phy
              - qcom,msm8998-qusb2-phy
              - qcom,qcm2290-qusb2-phy
              - qcom,sdm660-qusb2-phy
              - qcom,sm4250-qusb2-phy
              - qcom,sm6115-qusb2-phy
      - items:
          - enum:
              - qcom,sc7180-qusb2-phy
              - qcom,sdm670-qusb2-phy
              - qcom,sdm845-qusb2-phy
              - qcom,sm6350-qusb2-phy
          - const: qcom,qusb2-v2-phy
  reg:
    maxItems: 1

  "#phy-cells":
    const: 0

  clocks:
    minItems: 2
    items:
      - description: phy config clock
      - description: 19.2 MHz ref clk
      - description: phy interface clock (Optional)

  clock-names:
    minItems: 2
    items:
      - const: cfg_ahb
      - const: ref
      - const: iface

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

  vdda-pll-supply:
    description:
      Phandle to 1.8V regulator supply to PHY refclk pll block.

  vdda-phy-dpdm-supply:
    description:
      Phandle to 3.1V regulator supply to Dp/Dm port signals.

  resets:
    maxItems: 1
    description:
      Phandle to reset to phy block.

  nvmem-cells:
    maxItems: 1
    description:
      Phandle to nvmem cell that contains 'HS Tx trim'
      tuning parameter value for qusb2 phy.

  qcom,tcsr-syscon:
    description:
      Phandle to TCSR syscon register region.
    $ref: /schemas/types.yaml#/definitions/phandle

  qcom,imp-res-offset-value:
    description:
      It is a 6 bit value that specifies offset to be
      added to PHY refgen RESCODE via IMP_CTRL1 register. It is a PHY
      tuning parameter that may vary for different boards of same SOC.
    $ref: /schemas/types.yaml#/definitions/uint32
    minimum: 0
    maximum: 63
    default: 0

  qcom,bias-ctrl-value:
    description:
      It is a 6 bit value that specifies bias-ctrl-value. It is a PHY
      tuning parameter that may vary for different boards of same SOC.
    $ref: /schemas/types.yaml#/definitions/uint32
    minimum: 0
    maximum: 63
    default: 32

  qcom,charge-ctrl-value:
    description:
      It is a 2 bit value that specifies charge-ctrl-value. It is a PHY
      tuning parameter that may vary for different boards of same SOC.
    $ref: /schemas/types.yaml#/definitions/uint32
    minimum: 0
    maximum: 3
    default: 0

  qcom,hstx-trim-value:
    description:
      It is a 4 bit value that specifies tuning for HSTX
      output current.
      Possible range is - 15mA to 24mA (stepsize of 600 uA).
      See dt-bindings/phy/phy-qcom-qusb2.h for applicable values.
    $ref: /schemas/types.yaml#/definitions/uint32
    minimum: 0
    maximum: 15
    default: 3

  qcom,preemphasis-level:
    description:
      It is a 2 bit value that specifies pre-emphasis level.
      Possible range is 0 to 15% (stepsize of 5%).
      See dt-bindings/phy/phy-qcom-qusb2.h for applicable values.
    $ref: /schemas/types.yaml#/definitions/uint32
    minimum: 0
    maximum: 3
    default: 2

  qcom,preemphasis-width:
    description:
      It is a 1 bit value that specifies how long the HSTX
      pre-emphasis (specified using qcom,preemphasis-level) must be in
      effect. Duration could be half-bit of full-bit.
      See dt-bindings/phy/phy-qcom-qusb2.h for applicable values.
    $ref: /schemas/types.yaml#/definitions/uint32
    minimum: 0
    maximum: 1
    default: 0

  qcom,hsdisc-trim-value:
    description:
      It is a 2 bit value tuning parameter that control disconnect
      threshold and may vary for different boards of same SOC.
    $ref: /schemas/types.yaml#/definitions/uint32
    minimum: 0
    maximum: 3
    default: 0

required:
  - compatible
  - reg
  - "#phy-cells"
  - clocks
  - clock-names
  - vdd-supply
  - vdda-pll-supply
  - vdda-phy-dpdm-supply
  - resets

allOf:
  - if:
      not:
        properties:
          compatible:
            contains:
              const: qcom,qusb2-v2-phy
    then:
      properties:
        qcom,imp-res-offset-value: false
        qcom,bias-ctrl-value: false
        qcom,charge-ctrl-value: false
        qcom,hstx-trim-value: false
        qcom,preemphasis-level: false
        qcom,preemphasis-width: false
        qcom,hsdisc-trim-value: false

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/qcom,gcc-msm8996.h>
    hsusb_phy: phy@7411000 {
        compatible = "qcom,msm8996-qusb2-phy";
        reg = <0x7411000 0x180>;
        #phy-cells = <0>;

        clocks = <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
                 <&gcc GCC_RX1_USB2_CLKREF_CLK>;
        clock-names = "cfg_ahb", "ref";

        vdd-supply = <&pm8994_l28>;
        vdda-pll-supply = <&pm8994_l12>;
        vdda-phy-dpdm-supply = <&pm8994_l24>;

        resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>;
        nvmem-cells = <&qusb2p_hstx_trim>;
    };
