xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/phy/qcom,usb-8x16-phy.txt (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunQualcomm's APQ8016/MSM8916 USB transceiver controller
2*4882a593Smuzhiyun
3*4882a593Smuzhiyun- compatible:
4*4882a593Smuzhiyun    Usage: required
5*4882a593Smuzhiyun    Value type: <string>
6*4882a593Smuzhiyun    Definition: Should contain "qcom,usb-8x16-phy".
7*4882a593Smuzhiyun
8*4882a593Smuzhiyun- reg:
9*4882a593Smuzhiyun    Usage: required
10*4882a593Smuzhiyun    Value type: <prop-encoded-array>
11*4882a593Smuzhiyun    Definition: USB PHY base address and length of the register map
12*4882a593Smuzhiyun
13*4882a593Smuzhiyun- clocks:
14*4882a593Smuzhiyun    Usage: required
15*4882a593Smuzhiyun    Value type: <prop-encoded-array>
16*4882a593Smuzhiyun    Definition: See clock-bindings.txt section "consumers". List of
17*4882a593Smuzhiyun                two clock specifiers for interface and core controller
18*4882a593Smuzhiyun                clocks.
19*4882a593Smuzhiyun
20*4882a593Smuzhiyun- clock-names:
21*4882a593Smuzhiyun    Usage: required
22*4882a593Smuzhiyun    Value type: <string>
23*4882a593Smuzhiyun    Definition: Must contain "iface" and "core" strings.
24*4882a593Smuzhiyun
25*4882a593Smuzhiyun- vddcx-supply:
26*4882a593Smuzhiyun    Usage: required
27*4882a593Smuzhiyun    Value type: <phandle>
28*4882a593Smuzhiyun    Definition: phandle to the regulator VDCCX supply node.
29*4882a593Smuzhiyun
30*4882a593Smuzhiyun- v1p8-supply:
31*4882a593Smuzhiyun    Usage: required
32*4882a593Smuzhiyun    Value type: <phandle>
33*4882a593Smuzhiyun    Definition: phandle to the regulator 1.8V supply node.
34*4882a593Smuzhiyun
35*4882a593Smuzhiyun- v3p3-supply:
36*4882a593Smuzhiyun    Usage: required
37*4882a593Smuzhiyun    Value type: <phandle>
38*4882a593Smuzhiyun    Definition: phandle to the regulator 3.3V supply node.
39*4882a593Smuzhiyun
40*4882a593Smuzhiyun- resets:
41*4882a593Smuzhiyun    Usage: required
42*4882a593Smuzhiyun    Value type: <prop-encoded-array>
43*4882a593Smuzhiyun    Definition: See reset.txt section "consumers". PHY reset specifier.
44*4882a593Smuzhiyun
45*4882a593Smuzhiyun- reset-names:
46*4882a593Smuzhiyun    Usage: required
47*4882a593Smuzhiyun    Value type: <string>
48*4882a593Smuzhiyun    Definition: Must contain "phy" string.
49*4882a593Smuzhiyun
50*4882a593Smuzhiyun- switch-gpio:
51*4882a593Smuzhiyun    Usage: optional
52*4882a593Smuzhiyun    Value type: <prop-encoded-array>
53*4882a593Smuzhiyun    Definition: Some boards are using Dual SPDT USB Switch, witch is
54*4882a593Smuzhiyun                controlled by GPIO to de/multiplex D+/D- USB lines
55*4882a593Smuzhiyun                between connectors.
56*4882a593Smuzhiyun
57*4882a593SmuzhiyunExample:
58*4882a593Smuzhiyun	usb_phy: phy@78d9000 {
59*4882a593Smuzhiyun		compatible = "qcom,usb-8x16-phy";
60*4882a593Smuzhiyun		reg = <0x78d9000 0x400>;
61*4882a593Smuzhiyun
62*4882a593Smuzhiyun		vddcx-supply = <&pm8916_s1_corner>;
63*4882a593Smuzhiyun		v1p8-supply = <&pm8916_l7>;
64*4882a593Smuzhiyun		v3p3-supply = <&pm8916_l13>;
65*4882a593Smuzhiyun
66*4882a593Smuzhiyun		clocks = <&gcc GCC_USB_HS_AHB_CLK>,
67*4882a593Smuzhiyun			     <&gcc GCC_USB_HS_SYSTEM_CLK>;
68*4882a593Smuzhiyun		clock-names = "iface", "core";
69*4882a593Smuzhiyun
70*4882a593Smuzhiyun		resets = <&gcc GCC_USB2A_PHY_BCR>;
71*4882a593Smuzhiyun		reset-names = "phy";
72*4882a593Smuzhiyun
73*4882a593Smuzhiyun		// D+/D- lines: 1 - Routed to HUB, 0 - Device connector
74*4882a593Smuzhiyun		switch-gpio = <&pm8916_gpios 4 GPIO_ACTIVE_HIGH>;
75*4882a593Smuzhiyun	};
76*4882a593Smuzhiyun
77