1155aaa853f6e008024d12cf066138aaf6b840dc
[firefly-linux-kernel-4.4.55.git] / Documentation / devicetree / bindings / phy / phy-rockchip-inno-usb2.txt
1 ROCKCHIP USB2.0 PHY WITH INNO IP BLOCK
2
3 Required properties (phy (parent) node):
4  - compatible : should be one of the listed compatibles:
5         * "rockchip,rk3366-usb2phy"
6         * "rockchip,rk3399-usb2phy"
7  - reg : the address offset of grf for usb-phy configuration.
8  - #clock-cells : should be 0.
9  - clock-output-names : specify the 480m output clock name.
10
11 Optional properties:
12  - clocks : phandle + phy specifier pair, for the input clock of phy.
13  - clock-names : input clock name of phy, must be "phyclk".
14
15 Required nodes : a sub-node is required for each port the phy provides.
16                  The sub-node name is used to identify host or otg port,
17                  and shall be the following entries:
18         * "otg-port" : the name of otg port.
19         * "host-port" : the name of host port.
20
21 Required properties (port (child) node):
22  - #phy-cells : must be 0. See ./phy-bindings.txt for details.
23  - interrupts : specify an interrupt for each entry in interrupt-names.
24  - interrupt-names : a list which shall be the following entries:
25         * "otg-id" : for the otg id interrupt.
26         * "otg-bvalid" : for the otg vbus interrupt.
27         * "linestate" : for the host/otg linestate interrupt.
28
29 Optional properties:
30  - phy-supply : phandle to a regulator that provides power to VBUS.
31                 See ./phy-bindings.txt for details.
32  - rockchip,utmi-avalid : when set, the usb2 phy will use avalid
33                 status bit to get vbus status. If not, it will use
34                 bvalid status bit to get vbus status by default.
35
36 Example:
37
38 grf: syscon@ff770000 {
39         compatible = "rockchip,rk3366-grf", "syscon", "simple-mfd";
40         #address-cells = <1>;
41         #size-cells = <1>;
42
43 ...
44
45         u2phy: usb2-phy@700 {
46                 compatible = "rockchip,rk3366-usb2phy";
47                 reg = <0x700 0x2c>;
48                 #clock-cells = <0>;
49                 clock-output-names = "sclk_otgphy0_480m";
50
51                 u2phy_otg: otg-port {
52                         #phy-cells = <0>;
53                         interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>,
54                                      <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>,
55                                      <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
56                         interrupt-names = "otg-id", "otg-bvalid", "linestate";
57                         status = "okay";
58                 };
59
60                 u2phy_host: host-port {
61                         #phy-cells = <0>;
62                         interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
63                         interrupt-names = "linestate";
64                         status = "okay";
65                 };
66         };
67 };