RK3568 USB功能配置
rk3568支持1路usb3.0otg,支持1路usb3.0host,支持2路usb2.0host
usb版本 | 引脚 | 引脚 | 引脚 | 引脚 | 引脚 | 引脚 | 引脚 | 引脚 | 引脚 | 引脚 |
---|---|---|---|---|---|---|---|---|---|---|
usb2.0 | vcc | gnd | dp | dm | ||||||
usb3.0-host | vcc | gnd | dp | dm | sstx_p | sstx_n | ssrx_p | ssrx_n | ||
usb3.0-otg | vcc | gnd | dp | dm | sstx_p | sstx_n | ssrx_p | ssrx_n | vbusdet | id |
OHCI、EHCI、DWC3和xHCI都是USB控制器的标准,用于管理计算机和USB设备之间的数据传输。
OHCI(Open Host Controller Interface)是USB 1.1标准的主机控制器接口,提供低速(1.5 Mbps)和全速(12 Mbps)两种数据传输率。OHCI通常与USB 1.1 PHY配合使用,只支持最多127个低、全速USB设备,并只能使用中断传输方式。
EHCI(Enhanced Host Controller Interface)是USB 2.0标准的主机控制器接口,提供高速(480 Mbps)数据传输率。EHCI通常与USB 2.0 PHY配合使用,可支持最多127个USB设备,并具有高速(Bulk)、等时(Isochronous)和中断(Interrupt)三种数据传输方式。
xHCI(eXtensible Host Controller Interface)是USB 3.0标准的主机控制器接口,提供超速、高速、全速和低速四种数据传输速率,兼容USB 2.0和USB 1.1标准,并支持最多255个USB设备。xHCI具有更高的带宽和更好的能耗管理性能,同时引入了事件轮询(Event Ring)和命令环(Command Ring)的概念,以提高USB数据传输的效率。
DWC3(DesignWare USB 3.0 Controller)是Synopsys公司开发的USB 3.0控制器IP核,支持超速(5 Gbps)、高速、全速和低速四种数据传输速率,同时兼容USB 2.0和USB 1.1标准。DWC3通常与USB 3.0 PHY配合使用,可支持最多127个USB设备,并具有高速、等时、中断和异步(Bulk)四种数据传输方式。
/* USB 3.0 OTG/SATA Combo PHY_0 */
combphy0_us
/* USB 3.0 Host/SATA/QSGMII Combo PHY_1 */
combphy1_usq
/* USB OTG/USB Host_1 USB 2.0 Comb PHY_0 */
usb2phy0
/* USB Host_1/USB Host_2 USB 2.0 Comb PHY_0 */
usb2phy1
/* USB 3.0 OTG controller */
usbdrd30
usbdrd_dwc3子节点
/* USB 3.0 Host_1 controller */
usbhost30
usbhost_dwc3子节点
/* USB 2.0 Host_2 EHCI controller for high speed */
usb_host0_ehci
/* USB 2.0 Host_2 OHCI controller for full/low speed */
usb_host0_ohci
/* USB 2.0 Host_3 EHCI controller for high speed */
usb_host1_ehci
/* USB 2.0 Host_3 OHCI controller for full/low speed */
usb_host1_ohci
配置USB 3.0 OTG功能
&usbdrd_dwc3 {
dr_mode = "otg";
status = "okay";
};
&usbdrd30 {
status = "okay";
};
//usb与sata0共用combphy0_us这个phy节点
&combphy0_us {
status = "okay";
};
HOST1配置为USB 3.0 Host功能
&usbhost30 {
status = "okay";
};
&usbhost_dwc3 {
status = "okay";
};
&combphy1_usq {
status = "okay";
};
HOST1配置成usb2.0host
&usbhost30 {
status = "okay";
};
&usbhost_dwc3 {
phys = <&u2phy0_host>;
phy-names = "usb2-phy";
maximum-speed = "high-speed";
status = "okay";
};
&combphy1_usq {
rockchip,dis-u3otg1-port;
/*HOST1、SATA1 和 QSGMII都没有使用combphy1_usq,则此处disabled */
status = "okay";
};
&usb2phy0 {
status = "okay";
};
&u2phy0_host {
phy-supply = <&vcc5v0_host>;
status = "okay";
};
USB3.0 OTG主从切换命令
切换成主模式
echo host > /sys/devices/platform/fe8a0000.usb2-phy/otg_mode
切换成从模式
echo peripheral > /sys/devices/platform/fe8a0000.usb2-phy/otg_mode
切换成otg模式
echo otg > /sys/devices/platform/fe8a0000.usb2-phy/otg_mode