USB Host Controller Driver
6 Dec 2024
Read time: 1 minute(s)
相关模块 | 源码路径 |
---|---|
EHCI |
source\linux-5.10\drivers\usb\host\ehci-aic.c source\linux-5.10\drivers\usb\host\ehci-hcd.c source\linux-5.10\drivers\usb\host\ehci-mem.c source\linux-5.10\drivers\usb\host\ehci-q.c source\linux-5.10\drivers\usb\host\ehci-timer.c source\linux-5.10\drivers\usb\host\ehci-hub.c |
从 Host Controller Driver (HCD) 的框架图中可以看到,HCD 主要提供了两大功能:
-
普通 URB 数据收发功能。
将 USB Class Driver 下发的 URB,按照硬件控制器要求的格式,按分类发送到硬件 List 当中。
-
RootHub URB 的处理功能。
对于 RootHub Driver 下发的 ep0 控制命令 URB,系统不会发送到硬件控制器之上,而是转发给 HCD 使用软件来模拟执行。
对于 RootHub Driver 下发的端口状态查询 URB,通过响应中断进行上报。