summaryrefslogtreecommitdiff
path: root/include/usb/dwc2_udc.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/usb/dwc2_udc.h')
-rw-r--r--include/usb/dwc2_udc.h39
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 */