Edit online

USB Device Controller Driver

6 Dec 2024
Read time: 1 minute(s)
1. 源码说明
相关模块 源码路径
AIC UDC

source\linux-5.10\drivers\usb\gadget\udc\aic_udc.c

source\linux-5.10\drivers\usb\gadget\udc\aic_udc.h


image4

从上述 Device Controller Driver (DCD) 的框架图中可以看到,DCD 主要提供了两大功能:

  1. 普通 ep 的 usb request 处理。

    DCD 提供了一个 endpoint 资源池,Gadget Function Driver 可以在这个资源池中分配需要的 endpoint,这部分的 endpoint 就称为 普通 ep。

  2. ep0 的 usb request 处理。

    因为 DCD 对外呈现为一个 USB Device,USB Device 的 ep0 是管理通道是需要特殊处理的。对 ep0 传达过来的 control 数据需要在 DCD 层开始解析。