ROCKCHIP USB2.0 PHY WITH INNO IP BLOCK
Required properties (phy (parent) node):
- - compatible: should contain:
+ - compatible : should be one of the listed compatibles:
+ * "rockchip,rk3328-usb2phy"
* "rockchip,rk3366-usb2phy"
- - #clock-cells: should be 0.
- - clock-names: specify the 480m output clk name.
+ * "rockchip,rk3368-usb2phy"
+ * "rockchip,rk3399-usb2phy"
+ - reg : the address offset of grf for usb-phy configuration.
+ - #clock-cells : should be 0.
+ - clock-output-names : specify the 480m output clock name.
Optional properties:
- - vbus_host-gpio: pull gpio high/low to control the host vbus power.
+ - clocks : phandle + phy specifier pair, for the input clock of phy.
+ - clock-names : input clock name of phy, must be "phyclk".
+ - assigned-clocks : phandle of usb 480m clock.
+ - assigned-clock-parents : parent of usb 480m clock, select between
+ usb-phy output 480m and xin24m.
+ Refer to clk/clock-bindings.txt for generic clock
+ consumer properties.
+ - rockchip,u2phy-tuning; when set, tuning u2phy to improve usb2 SI.
+ - otg-vbus-gpios : assign the gpio to control vbus of otg port.
-Required nodes: a sub-node is required for each port the phy provides.
- The sub-node name is used to identify host or otg port.
+Required nodes : a sub-node is required for each port the phy provides.
+ The sub-node name is used to identify host or otg port,
+ and shall be the following entries:
+ * "otg-port" : the name of otg port.
+ * "host-port" : the name of host port.
Required properties (port (child) node):
- - #phy-cells: must be 0. See ./phy-bindings.txt for details.
- - interrupts: irq number for host/otg port.
- - interrupt-names: interrupt name, in line with irq number.
+ - #phy-cells : must be 0. See ./phy-bindings.txt for details.
+ - interrupts : specify an interrupt for each entry in interrupt-names.
+ - interrupt-names : a list which shall be the following entries:
+ * "otg-id" : for the otg id interrupt.
+ * "otg-bvalid" : for the otg vbus interrupt.
+ * "linestate" : for the host/otg linestate interrupt.
+
+Optional properties:
+ - phy-supply : phandle to a regulator that provides power to VBUS.
+ See ./phy-bindings.txt for details.
+ - rockchip,utmi-avalid : when set, the usb2 phy will use avalid
+ status bit to get vbus status. If not, it will use
+ bvalid status bit to get vbus status by default.
+ - rockchip,vbus-always-on: when set, indicates that the otg vbus
+ is always powered on.
Example:
...
- u2phy: usb2-phy {
+ u2phy: usb2-phy@700 {
compatible = "rockchip,rk3366-usb2phy";
+ reg = <0x700 0x2c>;
#clock-cells = <0>;
clock-output-names = "sclk_otgphy0_480m";
u2phy_otg: otg-port {
#phy-cells = <0>;
- interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
- interrupt-names = "linestate";
+ interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "otg-id", "otg-bvalid", "linestate";
status = "okay";
};
};
};
};
+
+Required properties (usb2phy grf node):
+ - compatible : should be one of the listed compatibles:
+ "rockchip,rk3328-usb2phy-grf", "syscon", "simple-mfd";
+ - reg : the address offset of grf for usb-phy configuration.
+ - #address-cells : should be 1.
+ - #size-cells : should be 1.
+
+Required nodes : a sub-node is required for the phy provides.
+ The sub-node name is used to identify each phy,
+ and shall be the following entries:
+
+Example:
+
+usb2phy_grf: syscon@ff450000 {
+ compatible = "rockchip,rk3328-usb2phy-grf", "syscon",
+ "simple-mfd";
+ reg = <0x0 0xff450000 0x0 0x10000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ u2phy: usb2-phy@100 {
+ compatible = "rockchip,rk3328-usb2phy";
+ reg = <0x100 0x10>;
+ clocks = <&xin24m>;
+ clock-names = "phyclk";
+ #clock-cells = <0>;
+ assigned-clocks = <&cru USB480M>;
+ assigned-clock-parents = <&u2phy>;
+ clock-output-names = "usb480m_phy";
+ status = "disabled";
+
+ u2phy_host: host-port {
+ #phy-cells = <0>;
+ interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "linestate";
+ status = "disabled";
+ };
+ };
+};
+