USB
芯片名称与内核版本
- 芯片名称:RK3576
- 内核版本:Linux-6.1
前言
本指南提供RK3576 USB模块的开发指南,目的是让开发者理解RK3576 USB控制器和PHY的硬件电路设计和软件DTS配置,以便根据产品的USB应用需求进行灵活设计和快速开发。本指南适用于技术支持工程师、软件开发工程师和硬件开发工程师。
1.RK3576 USB控制器和PHY简介
RK3576支持2个独立的USB 3.1 OTG控制器、2个独立的USB 2.0 PHY、1个USB 3.1/DP Combo PHY和1个USB 3.1/SATA/PCIe Combo PHY。详细特性请参考RK3576 TRM。
RK3576 USB 新增如下功能:
- OTG0/1支持MMU,允许USB控制器硬件访问超过4G的内存空间。
- OTG1支持CCI保证Cache一致性,OTG0不支持。
- OTG0 DP/DM支持与UART/JTAG复用,默认使能,需结合RK USB to DEBUG转接板使用。
Note:
- USB 3.1 Gen1物理层传输速率为5Gbps,USB 2.0物理层传输速率为480Mbps。
- USB 3.1/DP Combo PHY支持4 x lanes,可同时支持USB 3.1 + DP 2 x lanes。
- USB 3.1/SATA/PCIe Combo PHY在同一时刻只能支持一种工作模式,USB 3.1与SATA/PCIe接口互斥。
表1 RK3576 USB控制器和PHY的连 接关系
USB接口名称(原理图) | USB控制器 | USB PHY |
---|---|---|
USB OTG0 | OTG0 (DWC3&xHCI) | USB3.1/DP ComboPHY + USB2.0 PHY0 |
USB OTG1 | OTG1 (DWC3&xHCI) | USB3.1/SATA/PCie ComboPHY1 + USB2.0 PHY1 |
RK3576 USB 控制器和芯片端 USB 传输数据的 pin 脚的对应关系如下表 2 所示。
表2 RK3576 USB控制器和USB pin脚的对应关系
USB控制器/Pin脚 | RK3576 USB data pin |
---|---|
USB 3.1 OTG0 | USB2_OTG0_DP/USB2_OTG0_DM, USB3_OTG0_SSRX1P/USB3_OTG0_SSRX1N, USB3_OTG0_SSTX1P/USB3_OTG0_SSTX1N, USB3_OTG0_SSRX2P/USB3_OTG0_SSRX2N, USB3_OTG0_SSTX2P/USB3_OTG0_SSTX2N |
USB 3.1 OTG1 | USB2_OTG1_DP/USB2_OTG1_DM, USB3_OTG1_SSTXP/USB3_OTG1_SSTXN, USB3_OTG1_SSRXP/USB3_OTG1_SSRXN |
RK3576 USB 控制器和 PHY 的内部连接关系,以及对应的常见 USB 物理接口如下图 1 所示 图1 RK3576 USB控制器和PHY的连接示意图
Note:
- RK3576 USB 支持的接口类型并不局限于图 1 所描述的 Type-C/A USB 接口类型,还可以支持所有 常见的 USB 接口,包括 Type-C USB 2.0/3.1,Type-A USB 2.0/3.1,Micro USB 2.0/3.1 等。为了 适配不同的 USB 电路设计和接口类型,Linux-6.1 内核 USB 驱动已经做了软件兼容,开发者只需要 根据产品的 USB 硬件电路,对 Linux USB DTS 进行正确配置,即可使能对应的 USB 接口功能。详 细的 USB DTS 配置方法,请参考 RK3576 USB DTS 配置。
- 特殊使用限制:OTG1/PCIe1/SATA1 控制器访问总线互斥,如果硬件电路设计上已使用了PCIe1或 者SATA1,则 OTG1 USB2 和 USB3 功能都无法使用。
2.RK3576 USB Config Map
RK3576 的 2 个独立的 USB 控制器可以支持如下图 2 ~ 4 所列出的配置方式构成不同的产品形态。 USB OTG0 可以支持 5 种硬件电路设计: Config0: Type-C0 USB3.1 OTG0 with DP function Config1: USB 2.0 OTG0 + DP 4 x Lane (Swap off) Config2: USB 2.0 OTG0 + DP 4 x Lane (Swap on) Config3: USB 3.1 OTG0 + DP 2 x Lane (Swap on) Config4: USB 3.1 OTG0 + DP 2 x Lane (Swap off) USB OTG1 支持的 2 种硬件电路设计: Config0: USB 2.0 only OTG1 Config1: USB 3.1 OTG1 如果要了解更详细的 USB 配置表,请参考 RK3576 SDK EVB 参考原理图章节 USB/DP Configure Map。 Note:
- USB 2.0/3.1 OTG1 都不能与 PCIe1/SATA1 同时使用
- USBDP Swap on/off 两种配置的 Lanes 对应关系如下: Swap off:Lane0/1/2/3 TxData mapping to Lane0/1/2/3_TXDP/N Swap on: Lane0/1/2/3 TxData mapping to Lane2/3/0/1_TXDP/N
图2 RK3576 USB Path Map
图3 RK3576 OTG0 USBDP Path Map
图4 RK3576 OTG1 MULTI PHY Path Map