USB Device Controller Driver
6 Dec 2024
Read time: 1 minute(s)
相关模块 | 源码路径 |
---|---|
AIC UDC |
source\linux-5.10\drivers\usb\gadget\udc\aic_udc.c source\linux-5.10\drivers\usb\gadget\udc\aic_udc.h |
从上述 Device Controller Driver (DCD) 的框架图中可以看到,DCD 主要提供了两大功能:
-
普通 ep 的 usb request 处理。
DCD 提供了一个 endpoint 资源池,Gadget Function Driver 可以在这个资源池中分配需要的 endpoint,这部分的 endpoint 就称为 普通 ep。
-
ep0 的 usb request 处理。
因为 DCD 对外呈现为一个 USB Device,USB Device 的 ep0 是管理通道是需要特殊处理的。对 ep0 传达过来的 control 数据需要在 DCD 层开始解析。