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