1、Linux USB 子系统简介
在 Linux 系统中,提供了主机侧和设备侧视角的 USB 驱动框架及通用驱动程序。
-主机侧分为 USB Core、HOST 控制器驱动,HUB 驱动和各设备类驱动。
-设备侧分为 Gadget 框架、Devices 控制器驱动和各设备类 Function 驱动。
2、Rockchip SoC USB 控制器列表
3、
kernel 3.10
3.1 适用芯片
本章节介绍 Linux Kernel 3.10 初始化日志,主要适用于 RV1108、RK312X、RK3288、RK322X、RK322XH、RK3328、RK3368 等有运行 Kernel 3.10 SDK 的平台。
3.2 主机侧日志
3.2.1 USB CORE
01 [ 0.959817] usbcore: registered new interface driver usbfs
02 [ 0.959890] usbcore: registered new interface driver hub
03 [ 0.960070] usbcore: registered new device driver usb
以上是 Linux Kernel 3.10 启动阶段 USB 模块最早输出的 3 句 log。01 行表示注册 USB 文件系统,系统正常启动后,对应生成/sys/bus/usb/目录;02 行表示成功注册 USB HUB 驱动;03 行表明注册 USB通用设备驱动,即 usb_generic_driver。通常 USB 设备都是以设备的身份先与 usb_generic_driver 匹配,成功之后,会分裂出接口,当对接口调用 device_add()后,会引起接口和接口驱动的匹配。
3.2.2 设备类驱动
01 [ 1.234947] usbcore: registered new interface driver catc
02 [ 1.235015] usbcore: registered new interface driver kaweth
03 [ 1.235109] usbcore: registered new interface driver pegasus
04 [ 1.235180] usbcore: registered new interface driver rtl8150
05 [ 1.235246] usbcore: registered new interface driver r8152
06 [ 1.235379] usbcore: registered new interface driver hso
07 [ 1.235451] usbcore: registered new interface driver asix
08 [ 1.235515] usbcore: registered new interface driver ax88179_178a
09 [ 1.235586] usbcore: registered new interface driver cdc_ether
......
上面为主机侧设备类驱动,即各个 USB 设备 HOST 端的驱动程序,可通过 menuconfig 进行配置。
Location:
| -> Device Drivers
| -> USB support
| *** USB Device Class drivers ***
| < > xxx | < > xxx
3.2.3 Host 控制器驱动
3.2.3.1 EHCI
01 [ 1.243691] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
02 [ 1.243722] ehci-platform: EHCI generic platform driver
03 [ 1.244307] ehci-platform ff5c0000.usb: EHCI Host Controller
04 [ 1.244358] ehci-platform ff5c0000.usb: new USB bus registered, assigned bus number 3
......
更多详细内容请下载附件查看