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