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

title: Qualcomm Synopsis eUSB2 to USB 2.0 repeater

maintainers:
  - Abel Vesa <abel.vesa@linaro.org>

description:
  eUSB2 repeater converts between eUSB2 and USB 2.0 signaling levels and
  allows a eUSB2 PHY to connect to legacy USB 2.0 products

properties:
  compatible:
    oneOf:
      - items:
          - enum:
              - qcom,pm7550ba-eusb2-repeater
          - const: qcom,pm8550b-eusb2-repeater
      - enum:
          - qcom,pm8550b-eusb2-repeater
          - qcom,smb2360-eusb2-repeater

  reg:
    maxItems: 1

  "#phy-cells":
    const: 0

  vdd18-supply: true

  vdd3-supply: true

  qcom,tune-usb2-disc-thres:
    $ref: /schemas/types.yaml#/definitions/uint8
    description: High-Speed disconnect threshold
    minimum: 0
    maximum: 7
    default: 0

  qcom,tune-usb2-amplitude:
    $ref: /schemas/types.yaml#/definitions/uint8
    description: High-Speed transmit amplitude
    minimum: 0
    maximum: 15
    default: 8

  qcom,tune-usb2-preem:
    $ref: /schemas/types.yaml#/definitions/uint8
    description: High-Speed TX pre-emphasis tuning
    minimum: 0
    maximum: 7
    default: 5

required:
  - compatible
  - reg
  - "#phy-cells"

additionalProperties: false

examples:
  - |
    #include <dt-bindings/spmi/spmi.h>

    pmic@7 {
      reg = <0x7 SPMI_USID>;
      #address-cells = <1>;
      #size-cells = <0>;

      pm8550b_eusb2_repeater: phy@fd00 {
        compatible = "qcom,pm8550b-eusb2-repeater";
        reg = <0xfd00>;
        #phy-cells = <0>;
      };
    };
...
