第一部分是UDC驱动核心层,在drivers/usb/gadget/udc/core.c文件中实现,该层是一个兼容层,将USB Function驱动和具体的USB gadget驱动隔离开,抽象了统一的接口和数据结构,向USB Function驱动提供了统一且稳定的接口,同时完成USB Function驱动和USB gadget驱动的匹配。第二部分是gadget driver层,负责驱动硬件工作,和具体...
DWC3(DesignWare USB 3.0 Controller)和XHCI(eXtensible Host Controller Interface)都是与USB控制器相关的技术,但它们的作用和实现层次有所不同。 1.DWC3(DesignWare USB 3.0 Controller) 芯片级别的USB控制器:DWC3是由Synopsys设计的USB控制器IP,用于集成到SoC(系统级芯片)中。它是一个硬件IP模块,提供了USB 3.0...
在设备树里面,将dwc3 USB控制器配置成peripheral模式,系统启动的时候会将USB控制器设置为设备模式,并初始化gadget相关资源,若配置成了otg模式,则只会初始化gadget相关资源,不会将dwc3控制器切换为设备模式,此时dwc3控制器处于otg模式,需要切换为设备模式(只有处于otg模式才可以切换为主机或设备)。 // 切换为otg模式e...
};extcon_dwc3: extcon_dwc3 {compatible ="linux,extcon-usb-gpio"; id-gpio = <&porta 1 0>; }; dr_mode可以配置为otg、host或者peripheral。 1.2 drd driver usb/dwc3/core.c: static struct platform_driver dwc3_driver = {.probe= dwc3_probe,.remove= dwc3_remove,.driver= {.name="dwc3"...
dwc3 usb debugfs(otg switch) 正文 回到顶部 1. driver driver/usb/dwc3/debugfs.c dwc3 probe ->dwc3 debugfs init() 回到顶部 2. enable debugfs mount -t debugfs none /sys/kernel/debug 回到顶部 3. user space path #Is /sys/kernel/debug/300000.dwc3/...
位于drivers/usb/dwc3/dwc3-rockchip.c文件中,主要初始化和CPU紧密相关的内容,如时钟、复位、电源、extcon(用于USB模式切换),另一个在synopsys提供的驱动中初始化,位于drivers/usb/dwc3/core.c文件中,这部分和USB3.0控制器密切相关,如USB3.0控制器内部寄存器地址、USB3.0的PHY、中断等。
synopsys dwc3的USB3.0控制器IP synopsys dwc3的USB3.0控制器IP Linux内核USB3.0控制器初始化代码分析 - 知乎 (zhihu.com) Synopsys :新思科技
DWC3 is a SuperSpeed (SS) USB 3.0 Dual-Role-Device (DRD) from Synopsys. Main features of DWC3: The SuperSpeed USB controller features: Dual-role device (DRD) capability: Same programming model for SuperSpeed (SS), High-Speed (HS), Full-Speed (FS), and Low-...
1: USB disconnect, device number 3FWIW, I've moved to 6.7.0.rc2 and the mainline USB ...
CONFIG_USB_DWC3=y # CONFIG_USB_DWC3_GADGET is not set CONFIG_USB_DWC3_GENERIC=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_DWC2_OTG=y CONFIG_SPL_TINY_MEMSET=y 2 changes: 2 additions & 0 deletions 2 configs/nanopi-r2c-rk3328_defconfig Original file line numberDiff line numberDiff line ...