Rockchip
USB 开发指南
发布版本:1.0
日期:2016.07
Rockchip USB 开发指南 前 言
前言
概述
产品版本
芯片名称
RK3399
读者对象
软件工程师,硬件工程师,FAE
内核版本
Linux4.4
修订记录
日期
2016-07-04
版本
v1.0
作者
WLF
WMC
修改说明
本文档适用范围:
RK3399 芯片。运行 Android 6.0,Linux Kernel4.4 及以上系统。
Copyright 2016 @Fuzhou Rockchip Electronics Co., Ltd.
I
Rockchip USB 开发指南 目 录
目录
插图目录 ................................................................................................................... IV
表格目录 .................................................................................................................... V
1 概述 ................................................................................................................. 1-1
2 硬件电路及信号 ................................................................................................... 2-1
2.1 USB HOST 控制器硬件电路 ............................................................................ 2-1
2.1.1 USB2.0 HOST 控制器硬件电路 .................................................................. 2-1
2.2 USB OTG 控制器硬件电路 .............................................................................. 2-2
2.2.1 USB2.0 OTG 控制器硬件电路 .................................................................... 2-2
2.2.2 USB3.0 OTG 控制器硬件电路 .................................................................... 2-2
3 Kernel 模块配置 .................................................................................................. 3-1
3.1 USB PHY 相关配置 ...................................................................................... 3-1
3.2 USB HOST 相关配置 .................................................................................... 3-1
3.3 USB OTG 相关配置 ...................................................................................... 3-2
3.4 USB Gadget 配置 ....................................................................................... 3-2
3.5 USB 其它模块配置 ....................................................................................... 3-3
3.5.1 Mass Storage Class(MSC) .................................................................. 3-3
3.5.2 USB Serial Converter............................................................................ 3-3
3.5.3 USB HID ............................................................................................. 3-4
3.5.4 USB Net ............................................................................................. 3-4
3.5.5 USB Camera ....................................................................................... 3-4
3.5.6 USB Audio .......................................................................................... 3-5
3.5.7 USB HUB ............................................................................................ 3-5
3.5.8 其他 USB 设备配置 .............................................................................. 3-5
4 Device Tree 开发 ................................................................................................ 4-1
4.1 USB PHY DTS ........................................................................................... 4-1
4.1.1 USB2.0 PHY DTS ................................................................................. 4-1
4.1.2 USB3.0 PHY DTS ................................................................................. 4-2
4.2 USB2.0 Controller DTS ............................................................................... 4-3
4.2.1 USB2.0 HOST Controller DTS ................................................................. 4-3
4.3 USB3.0 Controller DTS ............................................................................... 4-4
4.3.1 USB3.0 HOST Controller DTS ................................................................. 4-4
4.3.2 USB3.0 OTG Controller DTS .................................................................. 4-4
5 驱动开发 ........................................................................................................... 5-1
5.1 USB PHY drivers ........................................................................................ 5-1
5.1.1 USB2.0 PHY driver ............................................................................... 5-1
5.1.2 USB3.0 PHY driver ............................................................................... 5-2
5.2 USB3.0 OTG drivers .................................................................................. 5-2
6 Android Gadget 配置 ........................................................................................... 6-1
6.1 Gadget 驱动配置 ......................................................................................... 6-1
6.2 BOOT IMG 配置 ......................................................................................... 6-1
7 常见问题分析 ...................................................................................................... 7-1
Copyright 2016 @Fuzhou Rockchip Electronics Co., Ltd.
II
Rockchip USB 开发指南 目 录
7.1 设备枚举日志 .............................................................................................. 7-1
7.1.1 USB2.0 OTG 正常开机日志 ...................................................................... 7-1
7.1.2 USB2.0 Device 连接 .............................................................................. 7-1
7.1.3 USB2.0 Device 断开连接 ......................................................................... 7-1
7.1.4 USB2.0 HOST-LS 设备 ........................................................................... 7-1
7.1.5 USB2.0 HOST-FS 设备 ........................................................................... 7-2
7.1.6 USB2.0 HOST-HS 设备 .......................................................................... 7-2
7.1.7 USB2.0 HOST-LS/FS/HS 设备断开 log ....................................................... 7-2
7.1.8 USB3.0 Device 连接 .............................................................................. 7-2
7.1.9 USB3.0 HOST-SS 设备........................................................................... 7-2
7.2 USB 常见问题分析....................................................................................... 7-3
7.2.1 软件配置 ........................................................................................... 7-3
7.2.2 硬件电路 ........................................................................................... 7-3
7.2.3 Device 功能异常分析 .............................................................................. 7-3
7.2.4 Host 功能异常分析 ............................................................................... 7-4
7.2.5 USB Camera 异常分析 ............................................................................ 7-5
7.2.6 USB 充电检测 ....................................................................................... 7-5
7.3 PC 驱动问题 ............................................................................................... 7-7
8 USB 信号测试 ..................................................................................................... 8-1
Copyright 2016 @Fuzhou Rockchip Electronics Co., Ltd.
III
Rockchip USB 开发指南 表格目录
插图目录
图 1-1 USB2.0 Host Controller Block Diagram ........................................................ 1-1
图 1-2 USB2.0 USB2.0 PHY Block Diagram ............................................................ 1-2
图 1-3 USB3.0 OTG Block Diagram ....................................................................... 1-3
图 1-4 TypC PHY Block Diagram ........................................................................... 1-3
图 2-1 USB 2.0 HOST SoC 信号引脚 ....................................................................... 2-1
图 2-2 USB 2.0 HOST VBUS GPIO 控制脚 ............................................................... 2-1
图 2-3 HSIC 控制器硬件电路 .................................................................................. 2-2
图 2-4 HSIC 硬件电路 .......................................................................................... 2-2
图 2-5 Type-C 接口定义 ....................................................................................... 2-3
图 2-6 USB3 OTG 控制器 SoC 信号引脚 ................................................................... 2-3
图 2-7 USB3 OTG Type-C 接口 ............................................................................. 2-4
图 2-8 USB3 Type-C pd/cc 电路(FUSB302) ......................................................... 2-4
图 2-9 USB3 VBUS 控制电路-1(GPIO 控制电路输出 5V) ............................................ 2-5
图 2-10 USB3 VBUS 控制电路-2(RK818 控制电路输出 5V) ........................................ 2-5
图 3-1 USB PHY Driver 配置示意图 ......................................................................... 3-1
图 3-2 Host Driver 内核的配置选项 ......................................................................... 3-2
图 3-3 USB3 OTG 内核配置选项 ............................................................................. 3-2
图 3-4 USB Gadget Driver 配置示意图 .................................................................... 3-2
图 3-5 SCSI 配置 ................................................................................................ 3-3
图 3-6 MSC 配置 ................................................................................................ 3-3
图 4-1 USB2.0 PHY DTSI 配置示意图 ...................................................................... 4-1
图 4-2 USB2.0 PHY DTS 配置示意图 ....................................................................... 4-2
图 4-3 USB2.0 PHY VBUS Regulator 配置示意图 ....................................................... 4-2
图 4-4 USB2.0 PHY VBUS Pinctrl 配置示意图 ............................................................ 4-2
图 4-5 USB3 Type-phy dts 配置 ............................................................................ 4-3
图 4-6 EHCI DTS 配置示意图 ................................................................................. 4-3
图 4-7 EHCI DTS 配置示意图 ................................................................................. 4-4
图 4-8 USB3 OTG dts 配置 ................................................................................... 4-4
图 5-1 RK3399 USB2.0 PHY host-port 配置 ............................................................. 5-1
图 5-2 RK3399 USB2.0 otg-port phy 配置 .............................................................. 5-2
图 6-1 Android Gadget init.rk30board.usb.rc ......................................................... 6-2
图 7-1 USB 充电检测流程 ...................................................................................... 7-6
图 7-2 SDP 检测波形 ........................................................................................... 7-6
图 7-3 DCP 检测波形 ........................................................................................... 7-7
Copyright 2016 @Fuzhou Rockchip Electronics Co., Ltd.
IV
Rockchip USB 开发指南 表格目录
表 1-1 RK3399 平台 USB 控制器列表 ....................................................................... 1-1
表格目录
Copyright 2016 @Fuzhou Rockchip Electronics Co., Ltd.
V
Rockchip USB 开发指南
1 概述
1 概述
Rockchip SOC 通常内置多个 USB 控制器,不同控制器互相独立,请在芯片 TRM 中获取详细
信息。由于部分 USB 控制器有使用限制,所以请务必明确方案的需求及控制器限制后,再确定 USB
的使用方案。RK3399 芯片内置的 USB 控制器如表 1-1 所示:
表 1-1 RK3399 平台 USB 控制器列表
控制器
芯片
USB2.0 HOST
(EHCI&OHCI)
USB HSIC
(EHCI)
USB2.0/3.0 OTG
(DWC3/XHCI)
RK3399
√
√
√
RK3399 SoC 包含 2 个 USB2.0 HOST 控制器,2 个 USB2.0/3.0 OTG 控制器,1 个 HSIC
控制器(只支持 USB2.0 speed),各个控制器及 USB PHY 的具体硬件信息说明如下:
USB Host2.0
Embedded 2 USB Host 2.0 interfaces
Compatible Specification
Universal Serial Bus Specification, Revision 2.0
Enhanced Host Controller Interface Specification(EHCI), Revision 1.0
Open Host Controller Interface Specification(OHCI), Revision 1.0a
Support high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps)
图 1-1 USB2.0 Host Controller Block Diagram
Copyright 2016 @Fuzhou Rockchip Electronics Co., Ltd.
1-1
Rockchip USB 开发指南
1 概述
图 1-2 USB2.0 USB2.0 PHY Block Diagram
USB2.0 PHY
Host Port: used for USB2.0 host controller
OTG Port: used for USB3.0 OTG controller with TypeC PHY to comprise as fully
feature TypeC
USB OTG3.0
Embedded 2 USB OTG3.0 interfaces
Compatible Specification
Universal Serial Bus 3.0 Specification, Revision 1.0
Universal Serial Bus Specification, Revision 2.0
eXtensible Host Controller Interface for Universal Serial Bus (xHCI), Revision 1.1
Support Control/Bulk(including stream)/Interrupt/Isochronous Transfer
Simultaneous IN and OUT transfer for USB3.0, up to 8Gbps bandwidth
Descriptor Caching and Data Pre-fetching
USB3.0 Device Features
Up to 7 IN endpoints, including control endpoint 0
Up to 6 OUT endpoints, including control endpoint 0
Up to 13 endpoint transfer resources, each one for each endpoint
Flexible endpoint configuration for multiple applications/USB set-configuration
modes
Hardware handles ERDY and burst
Stream-based bulk endpoints with controller automatically initiating data
movement
Isochronous endpoints with isochronous data in data buffers
Flexible Descriptor with rich set of features to support buffer interrupt moderation,
multiple transfers, isochronous, control, and scattered buffering support
USB 3.0 xHCI Host Features
Support up to 64 devices
Support 1 interrupter
Support 1 USB2.0 port and 1 Super-Speed port
Concurrent USB3.0/USB2.0 traffic, up to 8.48Gbps bandwidth
Support standard or open-source xHCI and class driver
Support xHCI Debug Capability
USB 3.0 Dual-Role Device (DRD) Features
Static Device operation
Copyright 2016 @Fuzhou Rockchip Electronics Co., Ltd.
1-2