diff options
author | Tom Rini <trini@konsulko.com> | 2024-04-02 22:37:23 -0400 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2024-04-02 22:37:23 -0400 |
commit | cdfcc37428e06f4730ab9a17cc084eeb7676ea1a (patch) | |
tree | c5e0e9ced139a372a222ed46d6c652947f9ec826 /drivers/usb/dwc3/core.c | |
parent | 72b089bcaac5be5c8c570db725cda8cf22154929 (diff) | |
parent | 12ac51cdb788b9f8e50cbc4fa3681102882ade33 (diff) |
Merge tag 'u-boot-dfu-next-20240402' of https://source.denx.de/u-boot/custodians/u-boot-dfu
u-boot-dfu-next-20240402
- Implement Qualcomm wrapper for dwc3
- Multiple sector size support for UMS
- CDC ACM gadget initialization fix
- Refactor board code from dwc3 to prepare better interrupt support
- Bugfix for for qcom-smmu when compiling with -DDEBUG
Diffstat (limited to 'drivers/usb/dwc3/core.c')
-rw-r--r-- | drivers/usb/dwc3/core.c | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c index 4b4fcd8a22e..96e850b7170 100644 --- a/drivers/usb/dwc3/core.c +++ b/drivers/usb/dwc3/core.c @@ -983,18 +983,32 @@ void dwc3_uboot_exit(int index) } } +MODULE_ALIAS("platform:dwc3"); +MODULE_AUTHOR("Felipe Balbi <balbi@ti.com>"); +MODULE_LICENSE("GPL v2"); +MODULE_DESCRIPTION("DesignWare USB3 DRD Controller Driver"); + +#if !CONFIG_IS_ENABLED(DM_USB_GADGET) +__weak int dwc3_uboot_interrupt_status(struct udevice *dev) +{ + return 1; +} + /** - * dwc3_uboot_handle_interrupt - handle dwc3 core interrupt + * dm_usb_gadget_handle_interrupts - handle dwc3 core interrupt * @dev: device of this controller * * Invokes dwc3 gadget interrupts. * * Generally called from board file. */ -void dwc3_uboot_handle_interrupt(struct udevice *dev) +int dm_usb_gadget_handle_interrupts(struct udevice *dev) { struct dwc3 *dwc = NULL; + if (!dwc3_uboot_interrupt_status(dev)) + return 0; + list_for_each_entry(dwc, &dwc3_list, list) { if (dwc->dev != dev) continue; @@ -1002,12 +1016,10 @@ void dwc3_uboot_handle_interrupt(struct udevice *dev) dwc3_gadget_uboot_handle_interrupt(dwc); break; } -} -MODULE_ALIAS("platform:dwc3"); -MODULE_AUTHOR("Felipe Balbi <balbi@ti.com>"); -MODULE_LICENSE("GPL v2"); -MODULE_DESCRIPTION("DesignWare USB3 DRD Controller Driver"); + return 0; +} +#endif #if CONFIG_IS_ENABLED(PHY) && CONFIG_IS_ENABLED(DM_USB) int dwc3_setup_phy(struct udevice *dev, struct phy_bulk *phys) |