xref: /freebsd/sys/contrib/device-tree/Bindings/phy/qcom,usb-hs-phy.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel VadotQualcomm's USB HS PHY
2*c66ec88fSEmmanuel Vadot
3*c66ec88fSEmmanuel VadotPROPERTIES
4*c66ec88fSEmmanuel Vadot
5*c66ec88fSEmmanuel Vadot- compatible:
6*c66ec88fSEmmanuel Vadot    Usage: required
7*c66ec88fSEmmanuel Vadot    Value type: <string>
8*c66ec88fSEmmanuel Vadot    Definition: Should contain "qcom,usb-hs-phy" and more specifically one of the
9*c66ec88fSEmmanuel Vadot                following:
10*c66ec88fSEmmanuel Vadot
11*c66ec88fSEmmanuel Vadot                        "qcom,usb-hs-phy-apq8064"
12*c66ec88fSEmmanuel Vadot                        "qcom,usb-hs-phy-msm8916"
13*c66ec88fSEmmanuel Vadot                        "qcom,usb-hs-phy-msm8974"
14*c66ec88fSEmmanuel Vadot
15*c66ec88fSEmmanuel Vadot- #phy-cells:
16*c66ec88fSEmmanuel Vadot    Usage: required
17*c66ec88fSEmmanuel Vadot    Value type: <u32>
18*c66ec88fSEmmanuel Vadot    Definition: Should contain 0
19*c66ec88fSEmmanuel Vadot
20*c66ec88fSEmmanuel Vadot- clocks:
21*c66ec88fSEmmanuel Vadot    Usage: required
22*c66ec88fSEmmanuel Vadot    Value type: <prop-encoded-array>
23*c66ec88fSEmmanuel Vadot    Definition: Should contain clock specifier for the reference and sleep
24*c66ec88fSEmmanuel Vadot                clocks
25*c66ec88fSEmmanuel Vadot
26*c66ec88fSEmmanuel Vadot- clock-names:
27*c66ec88fSEmmanuel Vadot    Usage: required
28*c66ec88fSEmmanuel Vadot    Value type: <stringlist>
29*c66ec88fSEmmanuel Vadot    Definition: Should contain "ref" and "sleep" for the reference and sleep
30*c66ec88fSEmmanuel Vadot                clocks respectively
31*c66ec88fSEmmanuel Vadot
32*c66ec88fSEmmanuel Vadot- resets:
33*c66ec88fSEmmanuel Vadot    Usage: required
34*c66ec88fSEmmanuel Vadot    Value type: <prop-encoded-array>
35*c66ec88fSEmmanuel Vadot    Definition: Should contain the phy and POR resets
36*c66ec88fSEmmanuel Vadot
37*c66ec88fSEmmanuel Vadot- reset-names:
38*c66ec88fSEmmanuel Vadot    Usage: required
39*c66ec88fSEmmanuel Vadot    Value type: <stringlist>
40*c66ec88fSEmmanuel Vadot    Definition: Should contain "phy" and "por" for the phy and POR resets
41*c66ec88fSEmmanuel Vadot                respectively
42*c66ec88fSEmmanuel Vadot
43*c66ec88fSEmmanuel Vadot- v3p3-supply:
44*c66ec88fSEmmanuel Vadot    Usage: required
45*c66ec88fSEmmanuel Vadot    Value type: <phandle>
46*c66ec88fSEmmanuel Vadot    Definition: Should contain a reference to the 3.3V supply
47*c66ec88fSEmmanuel Vadot
48*c66ec88fSEmmanuel Vadot- v1p8-supply:
49*c66ec88fSEmmanuel Vadot    Usage: required
50*c66ec88fSEmmanuel Vadot    Value type: <phandle>
51*c66ec88fSEmmanuel Vadot    Definition: Should contain a reference to the 1.8V supply
52*c66ec88fSEmmanuel Vadot
53*c66ec88fSEmmanuel Vadot- extcon:
54*c66ec88fSEmmanuel Vadot    Usage: optional
55*c66ec88fSEmmanuel Vadot    Value type: <prop-encoded-array>
56*c66ec88fSEmmanuel Vadot    Definition: Should contain the vbus extcon
57*c66ec88fSEmmanuel Vadot
58*c66ec88fSEmmanuel Vadot- qcom,init-seq:
59*c66ec88fSEmmanuel Vadot    Usage: optional
60*c66ec88fSEmmanuel Vadot    Value type: <u8 array>
61*c66ec88fSEmmanuel Vadot    Definition: Should contain a sequence of ULPI address and value pairs to
62*c66ec88fSEmmanuel Vadot                program into the ULPI_EXT_VENDOR_SPECIFIC area. This is related
63*c66ec88fSEmmanuel Vadot                to Device Mode Eye Diagram test. The addresses are offsets
64*c66ec88fSEmmanuel Vadot                from the ULPI_EXT_VENDOR_SPECIFIC address, for example,
65*c66ec88fSEmmanuel Vadot                <0x1 0x53> would mean "write the value 0x53 to address 0x81".
66*c66ec88fSEmmanuel Vadot
67*c66ec88fSEmmanuel VadotEXAMPLE
68*c66ec88fSEmmanuel Vadot
69*c66ec88fSEmmanuel Vadototg: usb-controller {
70*c66ec88fSEmmanuel Vadot	ulpi {
71*c66ec88fSEmmanuel Vadot		phy {
72*c66ec88fSEmmanuel Vadot			compatible = "qcom,usb-hs-phy-msm8974", "qcom,usb-hs-phy";
73*c66ec88fSEmmanuel Vadot			#phy-cells = <0>;
74*c66ec88fSEmmanuel Vadot			clocks = <&xo_board>, <&gcc GCC_USB2A_PHY_SLEEP_CLK>;
75*c66ec88fSEmmanuel Vadot			clock-names = "ref", "sleep";
76*c66ec88fSEmmanuel Vadot			resets = <&gcc GCC_USB2A_PHY_BCR>, <&otg 0>;
77*c66ec88fSEmmanuel Vadot			reset-names = "phy", "por";
78*c66ec88fSEmmanuel Vadot			v3p3-supply = <&pm8941_l24>;
79*c66ec88fSEmmanuel Vadot			v1p8-supply = <&pm8941_l6>;
80*c66ec88fSEmmanuel Vadot			extcon = <&smbb>;
81*c66ec88fSEmmanuel Vadot			qcom,init-seq = /bits/ 8 <0x1 0x63>;
82*c66ec88fSEmmanuel Vadot		};
83*c66ec88fSEmmanuel Vadot	};
84*c66ec88fSEmmanuel Vadot};
85