hc
2024-08-14 865dc85cff0c170305dc18e865d2cb0b537a47ec
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/*
 * 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
 
#define PHY0_SLEEP              (1 << 5)
#define DWC2_MAX_HW_ENDPOINTS    16
 
struct dwc2_plat_otg_data {
   void        *priv;
   int        phy_of_node;
   int        (*phy_control)(int on);
   unsigned int    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        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 */