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

title: Qualcomm USB HSIC PHY Controller

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

properties:
  compatible:
    items:
      - enum:
          - qcom,usb-hsic-phy-mdm9615
          - qcom,usb-hsic-phy-msm8974
      - const: qcom,usb-hsic-phy

  clocks:
    maxItems: 3

  clock-names:
    items:
      - const: phy
      - const: cal
      - const: cal_sleep

  "#phy-cells":
    const: 0

  pinctrl-0: true
  pinctrl-1: true

  pinctrl-names:
    items:
      - const: init
      - const: default

required:
  - compatible
  - clocks
  - clock-names
  - "#phy-cells"
  - pinctrl-0
  - pinctrl-1
  - pinctrl-names

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/qcom,gcc-msm8974.h>

    phy {
        compatible = "qcom,usb-hsic-phy-msm8974",
                     "qcom,usb-hsic-phy";
        clocks = <&gcc GCC_USB_HSIC_CLK>,
                 <&gcc GCC_USB_HSIC_IO_CAL_CLK>,
                 <&gcc GCC_USB_HSIC_IO_CAL_SLEEP_CLK>;
        clock-names = "phy", "cal", "cal_sleep";
        #phy-cells = <0>;
        pinctrl-names = "init", "default";
        pinctrl-0 = <&hsic_sleep>;
        pinctrl-1 = <&hsic_default>;
    };