Merge tag 'iomap-4.21-merge-3' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux
[sfrench/cifs-2.6.git] / Documentation / devicetree / bindings / phy / sun4i-usb-phy.txt
1 Allwinner sun4i USB PHY
2 -----------------------
3
4 Required 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-r40-usb-phy
15   * allwinner,sun8i-v3s-usb-phy
16   * allwinner,sun50i-a64-usb-phy
17   * allwinner,sun50i-h6-usb-phy
18 - reg : a list of offset + length pairs
19 - reg-names :
20   * "phy_ctrl"
21   * "pmu0" for H3, V3s, A64 or H6
22   * "pmu1"
23   * "pmu2" for sun4i, sun6i, sun7i, sun8i-a83t or sun8i-h3
24   * "pmu3" for sun8i-h3 or sun50i-h6
25 - #phy-cells : from the generic phy bindings, must be 1
26 - clocks : phandle + clock specifier for the phy clocks
27 - clock-names :
28   * "usb_phy" for sun4i, sun5i or sun7i
29   * "usb0_phy", "usb1_phy" and "usb2_phy" for sun6i
30   * "usb0_phy", "usb1_phy" for sun8i
31   * "usb0_phy", "usb1_phy", "usb2_phy" and "usb2_hsic_12M" for sun8i-a83t
32   * "usb0_phy", "usb1_phy", "usb2_phy" and "usb3_phy" for sun8i-h3
33   * "usb0_phy" and "usb3_phy" for sun50i-h6
34 - resets : a list of phandle + reset specifier pairs
35 - reset-names :
36   * "usb0_reset"
37   * "usb1_reset"
38   * "usb2_reset" for sun4i, sun6i, sun7i, sun8i-a83t or sun8i-h3
39   * "usb3_reset" for sun8i-h3 and sun50i-h6
40
41 Optional properties:
42 - usb0_id_det-gpios : gpio phandle for reading the otg id pin value
43 - usb0_vbus_det-gpios : gpio phandle for detecting the presence of usb0 vbus
44 - usb0_vbus_power-supply: power-supply phandle for usb0 vbus presence detect
45 - usb0_vbus-supply : regulator phandle for controller usb0 vbus
46 - usb1_vbus-supply : regulator phandle for controller usb1 vbus
47 - usb2_vbus-supply : regulator phandle for controller usb2 vbus
48 - usb3_vbus-supply : regulator phandle for controller usb3 vbus
49
50 Example:
51         usbphy: phy@01c13400 {
52                 #phy-cells = <1>;
53                 compatible = "allwinner,sun4i-a10-usb-phy";
54                 /* phy base regs, phy1 pmu reg, phy2 pmu reg */
55                 reg = <0x01c13400 0x10 0x01c14800 0x4 0x01c1c800 0x4>;
56                 reg-names = "phy_ctrl", "pmu1", "pmu2";
57                 clocks = <&usb_clk 8>;
58                 clock-names = "usb_phy";
59                 resets = <&usb_clk 0>, <&usb_clk 1>, <&usb_clk 2>;
60                 reset-names = "usb0_reset", "usb1_reset", "usb2_reset";
61                 pinctrl-names = "default";
62                 pinctrl-0 = <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>;
63                 usb0_id_det-gpios = <&pio 7 19 GPIO_ACTIVE_HIGH>; /* PH19 */
64                 usb0_vbus_det-gpios = <&pio 7 22 GPIO_ACTIVE_HIGH>; /* PH22 */
65                 usb0_vbus-supply = <&reg_usb0_vbus>;
66                 usb1_vbus-supply = <&reg_usb1_vbus>;
67                 usb2_vbus-supply = <&reg_usb2_vbus>;
68         };