下图是RK3399 SOC的框图。RK3399包含了2个USB2.0 Host控制器;两个USB3.0 OTG控制器,同时兼容USB2.0。USB3.0使用的是Synopsys公司的IP,驱动也使用Synopsys的dwc3 USB驱动。
USB3.0 OTG控制器可以作为主机(Host)、设备(Device),或者根据从USB2.0 PHY和DFP/UFP/Data Role Swap输入的ID状态确定是USB2.0/3.0 OTG A设备和B设备。可以以Super-Speed/High-Speed/Full-Speed/Low-Speed的速度在主机与设备之间进行数据传输。USB3.0 OTG控制器支持如下的特性:
1)通用特性
(2)应用程序接口特性
(3)USB3.0设备特性
(4)USB特定类设备特性
(4)USB3.0 xHCI控制器特性
(5)USB 3.0 Dual-Role Device (DRD) 特性
从下面的硬件框图中可以看出,USB3.0 OTG控制器内部的USB2.0和USB3.0的PHY和MAC是独立的,各自使用自己的硬件。因此USB2.0和USB3.0的带宽也是独立计算的,USB2.0的带宽并不会占用USB3.0的带宽。USB3.0 OTG控制器由以下几部分组成: