Hi Mattijs, On 07/01/2025 10:47, Mattijs Korpershoek wrote: > Hi Junhui, > > On sam., janv. 04, 2025 at 11:37, Junhui Liu <junhui....@pigmoral.tech> wrote: > >> 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 > > When applying this series on top of master (commit 6d41f0a39d64 ("Prepare > v2025.01")) > And building with khadas-vim3_android_ab_defconfig, I see: > > drivers/usb/gadget/dwc2_udc_otg.c:1209:33: error: invalid use of undefined > type 'struct dwc2_core_reg' > 1209 | return readl(&usbotg_reg->global_regs.gotgctl) & > GOTGCTL_BSESVLD; > | ^~ > > Full build logs: > https://paste.debian.net/1343304/ > > It seems that at some places, we use: > struct dwc2_core_reg > > instead of: > struct dwc2_core_regs > > Could that be fixed for v4, please? > > I think this typo is in "usb: dwc2: Align macros with Linux kernel > definitions" but missed it during review, sorry.
Thanks for pointing it out, sorry about the missing check, I'll fix it in the next version. > >> >> --- >> Changes in v3: >> - Handled warnings from checkpatch.pl (add spaces around '<<' and >> replace 'x' with '(x)' for macro argument). >> - Add return ret; when timeout happens. >> - Link to v2: >> https://lore.kernel.org/r/20241230-dwc2-dev-v2-3-12cd9b8a2...@outlook.com >> >> 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 (1): >> usb: dwc2: Fix incorrect ULPI_UTMI_SEL bit setting >> >> Kongyang Liu (7): >> usb: dwc2: Extract register definitions to common header file >> 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 | 115 +++++ >> drivers/usb/common/dwc2_core.h | 560 +++++++++++++++++++++ >> drivers/usb/gadget/dwc2_udc_otg.c | 125 ++--- >> drivers/usb/gadget/dwc2_udc_otg_regs.h | 293 ++--------- >> 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, 1137 insertions(+), 1508 deletions(-) >> --- >> base-commit: e7713a78829250b925d6377ee26c7b0745727feb >> change-id: 20241218-dwc2-dev-955c21a81118 >> >> Best regards, >> -- Best regards, Junhui Liu