blob: c1ce5a0a652ecbbbb9e61b251b6d41eaad52433f [file] [log] [blame]
Jagan Tekifa944d72018-05-09 11:35:51 +05301Allwinner sun4i USB PHY
2-----------------------
3
4Required properties:
5- compatible : should be one of
6 * allwinner,sun4i-a10-usb-phy
7 * allwinner,sun5i-a13-usb-phy
8 * allwinner,sun6i-a31-usb-phy
9 * allwinner,sun7i-a20-usb-phy
10 * allwinner,sun8i-a23-usb-phy
11 * allwinner,sun8i-a33-usb-phy
12 * allwinner,sun8i-a83t-usb-phy
13 * allwinner,sun8i-h3-usb-phy
14 * allwinner,sun8i-v3s-usb-phy
15 * allwinner,sun50i-a64-usb-phy
16- reg : a list of offset + length pairs
17- reg-names :
18 * "phy_ctrl"
19 * "pmu0" for H3, V3s and A64
20 * "pmu1"
21 * "pmu2" for sun4i, sun6i, sun7i, sun8i-a83t or sun8i-h3
22 * "pmu3" for sun8i-h3
23- #phy-cells : from the generic phy bindings, must be 1
24- clocks : phandle + clock specifier for the phy clocks
25- clock-names :
26 * "usb_phy" for sun4i, sun5i or sun7i
27 * "usb0_phy", "usb1_phy" and "usb2_phy" for sun6i
28 * "usb0_phy", "usb1_phy" for sun8i
29 * "usb0_phy", "usb1_phy", "usb2_phy" and "usb2_hsic_12M" for sun8i-a83t
30 * "usb0_phy", "usb1_phy", "usb2_phy" and "usb3_phy" for sun8i-h3
31- resets : a list of phandle + reset specifier pairs
32- reset-names :
33 * "usb0_reset"
34 * "usb1_reset"
35 * "usb2_reset" for sun4i, sun6i, sun7i, sun8i-a83t or sun8i-h3
36 * "usb3_reset" for sun8i-h3
37
38Optional properties:
39- usb0_id_det-gpios : gpio phandle for reading the otg id pin value
40- usb0_vbus_det-gpios : gpio phandle for detecting the presence of usb0 vbus
41- usb0_vbus_power-supply: power-supply phandle for usb0 vbus presence detect
42- usb0_vbus-supply : regulator phandle for controller usb0 vbus
43- usb1_vbus-supply : regulator phandle for controller usb1 vbus
44- usb2_vbus-supply : regulator phandle for controller usb2 vbus
45- usb3_vbus-supply : regulator phandle for controller usb3 vbus
46
47Example:
48 usbphy: phy@01c13400 {
49 #phy-cells = <1>;
50 compatible = "allwinner,sun4i-a10-usb-phy";
51 /* phy base regs, phy1 pmu reg, phy2 pmu reg */
52 reg = <0x01c13400 0x10 0x01c14800 0x4 0x01c1c800 0x4>;
53 reg-names = "phy_ctrl", "pmu1", "pmu2";
54 clocks = <&usb_clk 8>;
55 clock-names = "usb_phy";
56 resets = <&usb_clk 0>, <&usb_clk 1>, <&usb_clk 2>;
57 reset-names = "usb0_reset", "usb1_reset", "usb2_reset";
58 pinctrl-names = "default";
59 pinctrl-0 = <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>;
60 usb0_id_det-gpios = <&pio 7 19 GPIO_ACTIVE_HIGH>; /* PH19 */
61 usb0_vbus_det-gpios = <&pio 7 22 GPIO_ACTIVE_HIGH>; /* PH22 */
62 usb0_vbus-supply = <&reg_usb0_vbus>;
63 usb1_vbus-supply = <&reg_usb1_vbus>;
64 usb2_vbus-supply = <&reg_usb2_vbus>;
65 };