diff options
Diffstat (limited to 'include/usb/dwc2_udc.h')
-rw-r--r-- | include/usb/dwc2_udc.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/include/usb/dwc2_udc.h b/include/usb/dwc2_udc.h new file mode 100644 index 00000000000..aa37e957b47 --- /dev/null +++ b/include/usb/dwc2_udc.h @@ -0,0 +1,39 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * drivers/usb/gadget/dwc2_udc.h + * Designware DWC2 on-chip full/high speed USB device controllers + * Copyright (C) 2005 for Samsung Electronics + */ + +#ifndef __DWC2_USB_GADGET +#define __DWC2_USB_GADGET + +#include <dm/ofnode.h> + +#define PHY0_SLEEP (1 << 5) +#define DWC2_MAX_HW_ENDPOINTS 16 + +struct dwc2_plat_otg_data { + void *priv; + ofnode phy_of_node; + int (*phy_control)(int on); + uintptr_t regs_phy; + uintptr_t regs_otg; + unsigned int usb_phy_ctrl; + unsigned int usb_flags; + unsigned int usb_gusbcfg; + unsigned int rx_fifo_sz; + unsigned int np_tx_fifo_sz; + unsigned int tx_fifo_sz; + unsigned int tx_fifo_sz_array[DWC2_MAX_HW_ENDPOINTS]; + unsigned char tx_fifo_sz_nb; + bool force_b_session_valid; + bool force_vbus_detection; + bool activate_stm_id_vb_detection; +}; + +int dwc2_udc_probe(struct dwc2_plat_otg_data *pdata); + +int dwc2_udc_B_session_valid(struct udevice *dev); + +#endif /* __DWC2_USB_GADGET */ |