1# SPDX-License-Identifier: GPL-2.0-only
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/phy/qcom,usb-hs-phy.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Qualcomm's USB HS PHY
8
9maintainers:
10  - Bjorn Andersson <bjorn.andersson@linaro.org>
11
12if:
13  properties:
14    compatible:
15      contains:
16        enum:
17          - qcom,usb-hs-phy-apq8064
18          - qcom,usb-hs-phy-msm8960
19then:
20  properties:
21    resets:
22      maxItems: 1
23
24    reset-names:
25      const: por
26
27else:
28  properties:
29    resets:
30      minItems: 2
31      maxItems: 2
32
33    reset-names:
34      items:
35        - const: phy
36        - const: por
37
38properties:
39  compatible:
40    items:
41      - enum:
42          - qcom,usb-hs-phy-apq8064
43          - qcom,usb-hs-phy-msm8226
44          - qcom,usb-hs-phy-msm8916
45          - qcom,usb-hs-phy-msm8960
46          - qcom,usb-hs-phy-msm8974
47      - const: qcom,usb-hs-phy
48
49  clocks:
50    minItems: 2
51    maxItems: 2
52
53  clock-names:
54    maxItems: 2
55    contains:
56      items:
57        - const: ref
58        - const: sleep
59
60  resets: true
61
62  reset-names: true
63
64  v1p8-supply: true
65
66  v3p3-supply: true
67
68  extcon: true
69
70  "#phy-cells":
71    const: 0
72
73  qcom,init-seq:
74    $ref: /schemas/types.yaml#/definitions/uint8-matrix
75    description: >
76      Sequence of ULPI address and value pairs to
77      program into the ULPI_EXT_VENDOR_SPECIFIC area.
78      This is related to Device Mode Eye Diagram test.
79    maxItems: 32 # no hard limit
80    items:
81      items:
82        - description: >
83            the address is offset from the ULPI_EXT_VENDOR_SPECIFIC address
84        - description: value
85
86required:
87  - clocks
88  - clock-names
89  - resets
90  - reset-names
91  - "#phy-cells"
92
93additionalProperties: false
94
95examples:
96  - |
97    otg: usb-controller {
98      #reset-cells = <1>;
99
100      ulpi {
101        phy {
102          compatible = "qcom,usb-hs-phy-msm8974", "qcom,usb-hs-phy";
103          #phy-cells = <0>;
104          clocks = <&clk 0>, <&clk 258>;
105          clock-names = "ref", "sleep";
106          resets = <&gcc 10>, <&otg 0>;
107          reset-names = "phy", "por";
108          v3p3-supply = <&pm8941_l24>;
109          v1p8-supply = <&pm8941_l6>;
110          extcon = <&smbb>;
111          qcom,init-seq = /bits/ 8 <0x1 0x63>;
112        };
113      };
114    };
115