dwc3 linux usb3.0 driver架构:
1. DRD driver
DRD驱动在usb/dwc3
1.1 dts
dwc3@44000000 {
/* Compatible ID used by the Linux driver for this kind of device */
compatible = "snps,dwc3";
/* Register bank location: AddressMSB, AddressLSB, SizeMSB, SizeLSB */
reg = <0x0 0x44000000 0x0 0x100000>;
interrupts = <0 8 4>;
dr_mode = "otg";
extcon = ;
};
extcon_dwc3: extcon_dwc3 {
compatible = "linux,extcon-usb-gpio";
id-gpio = ;
};
dr_mode可以配置为otg、host或者peripheral。
1.2 drd driver
usb/dwc3/core.c:
static struct platform_driver dwc3_driver = {