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.

Reply via email to