u-boot/include/dwc3-omap-uboot.h
Marek Vasut 4d15898089 usb: udc: dwc3: Fold board dm_usb_gadget_handle_interrupts() into DWC3 gadget
The dm_usb_gadget_handle_interrupts() has no place in board code. Move
this into DWC3 driver. The OMAP implementation is special, add new weak
dwc3_uboot_interrupt_status() function to decide whether DWC3 interrupt
handling should be called, and override it in OMAP DWC3 code, to repair
the special OMAP interrupt handling code until OMAP gets switched over
to DM UDC proper.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Caleb Connolly <caleb.connolly@linaro.org>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Tested-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> # vim3
Tested-by: Caleb Connolly <caleb.connolly@linaro.org> # qcom sdm845
Link: https://lore.kernel.org/r/20240317044357.547037-1-marek.vasut+renesas@mailbox.org
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
2024-04-02 09:08:07 +02:00

30 lines
682 B
C

/* SPDX-License-Identifier: GPL-2.0 */
/* include/dwc3_omap_uboot.h
*
* Copyright (c) 2015 Texas Instruments Incorporated - https://www.ti.com
*
* Designware SuperSpeed OMAP Glue uboot init
*/
#ifndef __DWC3_OMAP_UBOOT_H_
#define __DWC3_OMAP_UBOOT_H_
#include <linux/usb/dwc3-omap.h>
enum omap_dwc3_vbus_id_status {
OMAP_DWC3_ID_FLOAT,
OMAP_DWC3_ID_GROUND,
OMAP_DWC3_VBUS_OFF,
OMAP_DWC3_VBUS_VALID,
};
struct dwc3_omap_device {
void *base;
int index;
enum dwc3_omap_utmi_mode utmi_mode;
enum omap_dwc3_vbus_id_status vbus_id_status;
};
int dwc3_omap_uboot_init(struct dwc3_omap_device *dev);
void dwc3_omap_uboot_exit(int index);
#endif /* __DWC3_OMAP_UBOOT_H_ */