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