Hi Marek and Mattijs, On 2025-01-07 13:48, Mattijs Korpershoek wrote: > Hi Marek, > > On dim., janv. 05, 2025 at 20:29, Marek Vasut <[email protected]> wrote: > >> On 6/18/24 9:15 AM, Mattijs Korpershoek wrote: >>> Hi Jonas, >> >> Hello all, >> >>> On sam., mars 02, 2024 at 14:00, Jonas Karlman <[email protected]> wrote: >>> >>> [...] >>> >>>>> >>>>> I will keep you posted. >>>> >>>> Thanks, much appreciated! >>>> >>>> Please also keep in mind that changing the interrupt handling probably >>>> only fixes the second of the two build errors reported and fixed by this >>>> patch. >>>> >>>> Trying to build with following will trigger the first build error, and >>>> should not change because use of dm_usb_gadget_handle_interrupts() is >>>> reworked. >>>> >>>> CONFIG_DM_USB_GADGET=y >>>> CONFIG_USB_DWC3=y >>>> # CONFIG_USB_DWC3_GADGET is not set >>>> CONFIG_USB_DWC3_GENERIC=y >>>> CONFIG_USB_GADGET=y >>>> >>>> E.g to only include host part of dwc3 and gadget from another driver, >>>> to i.e. save on binary size, produce following build error: >>>> >>>> aarch64-linux-gnu-ld.bfd: drivers/usb/dwc3/dwc3-generic.o: in function >>>> `dm_usb_gadget_handle_interrupts': >>>> drivers/usb/dwc3/dwc3-generic.c:201:(.text.dm_usb_gadget_handle_interrupts+0x10): >>>> undefined reference to `dwc3_gadget_uboot_handle_interrupt' >>>> >>>> I guess force select USB_DWC3_GADGET for USB_DWC3_GENERIC would make >>>> that build error disappear, and increase binary size as a result. >>>> >>>> For my RK3328 series [1] I will just revert to use USB_XHCI_DWC3 instead >>>> of using USB_DWC3_GENERIC on boards that enable peripheral use of otg >>>> port. >>>> >>>> [1] https://patchwork.ozlabs.org/patch/1904779/ >>> >>> Marek ended up doing this rework. >>> It's available for review here, if you want to have a look: >>> https://lore.kernel.org/all/[email protected]/ >> This should be upstream in some form now, is this thread still an open >> topic or is this solved now ? > > The thread reported 2 problems: > > Using khadas-vim3_android_defconfig, I tried: > 1. DM_USB_GADGET is enabled and USB_DWC3_GADGET is disabled > $ grep -e DM_USB_GADGET -e USB_DWC3_GADGET .config > CONFIG_DM_USB_GADGET=y > # CONFIG_USB_DWC3_GADGET is not set > > 2. USB_GADGET_DWC2_OTG + DM_USB_GADGET is enabled and USB_DWC3_GADGET is > disabled. > $ grep -e USB_GADGET_DWC2_OTG -e DM_USB_GADGET -e USB_DWC3_GADGET .config > CONFIG_DM_USB_GADGET=y > # CONFIG_USB_DWC3_GADGET is not set > CONFIG_USB_GADGET_DWC2_OTG=y > # CONFIG_USB_GADGET_DWC2_OTG_PHY is not set > CONFIG_USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8=y > > In both case, I could build succesfully on master with commit 6d41f0a39d64 > ("Prepare v2025.01") > > So I think this is solved now. I'll let Jonas confirm.
Correct, this patch can now be ignored, this issue has been resolved and I was able to complete the move to use USB_DWC3_GENERIC with DWC2 GADGET for RK3328 in [2]. [2] https://patchwork.ozlabs.org/project/uboot/patch/[email protected]/ Please also take a look at an old unmerged cleanup patch at [3] :-) https://patchwork.ozlabs.org/project/uboot/patch/[email protected]/ Regards, Jonas

