Merge tag 'u-boot-atmel-fixes-2021.01-b' of https://gitlab.denx.de/u-boot/custodians...
[platform/kernel/u-boot.git] / include / usb / dwc2_udc.h
index 302e9a3..aa37e95 100644 (file)
@@ -1,25 +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
- *
- * SPDX-License-Identifier:    GPL-2.0+
  */
 
 #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);
-       unsigned int    regs_phy;
-       unsigned int    regs_otg;
+       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 */