This series improves the USB DWC2 driver by extracting register definitions into a common file for better readability and updating the reset method to reflect changes in version 4.20a, including the new GRSTCTL_CSFTRST_DONE bit for reset completion indication.
This series has been tested on two platforms: - MK808 with RK3066 SoC and dwc2 v2.91a, tested with USB flash drive and connected the board to the PC through the rockusb command. Test log [1]. - K230-CanMV with K230 SoC [2] and dwc2 v4.30a, tested with the onboard rtl8152 USB to net chip and an external rtl8152 adapter connected to the onboard USB-C interface via USB hub. Test log [3]. [1] https://gist.github.com/Judehahh/878ace2607d201dc49211f2c655f0fe0#file-mk808-md [2] https://developer.canaan-creative.com/k230/en/dev/CanMV_K230_Tutorial.html [3] https://gist.github.com/Judehahh/878ace2607d201dc49211f2c655f0fe0#file-k230-canmv-md --- Changes in v2: - Reorganized structures, renamed macros, and moved code for better clarity and maintainability. - Added a fix for the incorrect ULPI_UTMI_SEL bit setting. - Added a fix for incorrectly calculating HBstLen for external DMA mode. - Extend the changes that replace uint32 with u32 to also include u8 and u16. - Link to v1: https://lore.kernel.org/r/20240522142311.17351-1-seashell11234...@gmail.com --- Junhui Liu (8): usb: dwc2: Extract register definitions to common header file usb: dwc2: Fix incorrect ULPI_UTMI_SEL bit setting USB: dwc2: Fix HBstLen setting for external DMA mode usb: dwc2: Clean up with bitfield macros usb: dwc2: Align macros with Linux kernel definitions usb: dwc2: Extract macro definitions to common header usb: dwc2: Unify flush and reset logic with v4.20a support usb: dwc2: Replace uint<x>_t types with u<x> drivers/usb/common/Makefile | 2 + drivers/usb/common/dwc2_core.c | 103 ++++ drivers/usb/common/dwc2_core.h | 560 +++++++++++++++++++++ drivers/usb/gadget/dwc2_udc_otg.c | 125 ++--- drivers/usb/gadget/dwc2_udc_otg_regs.h | 289 ++--------- drivers/usb/gadget/dwc2_udc_otg_xfer_dma.c | 306 ++++++------ drivers/usb/host/dwc2.c | 494 ++++++++----------- drivers/usb/host/dwc2.h | 750 +---------------------------- 8 files changed, 1123 insertions(+), 1506 deletions(-) --- base-commit: cb7410257ac930a6fb05f1c63b291b7d399f19f2 change-id: 20241218-dwc2-dev-955c21a81118 Best regards, -- Junhui Liu <liujh2...@outlook.com>