configs: rpi: set NR_DRAM_BANKS to four
[oweals/u-boot.git] / include / usb / dwc2_udc.h
1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * drivers/usb/gadget/dwc2_udc.h
4  * Designware DWC2 on-chip full/high speed USB device controllers
5  * Copyright (C) 2005 for Samsung Electronics
6  */
7
8 #ifndef __DWC2_USB_GADGET
9 #define __DWC2_USB_GADGET
10
11 #include <dm/ofnode.h>
12
13 #define PHY0_SLEEP              (1 << 5)
14 #define DWC2_MAX_HW_ENDPOINTS   16
15
16 struct dwc2_plat_otg_data {
17         void            *priv;
18         ofnode          phy_of_node;
19         int             (*phy_control)(int on);
20         uintptr_t       regs_phy;
21         uintptr_t       regs_otg;
22         unsigned int    usb_phy_ctrl;
23         unsigned int    usb_flags;
24         unsigned int    usb_gusbcfg;
25         unsigned int    rx_fifo_sz;
26         unsigned int    np_tx_fifo_sz;
27         unsigned int    tx_fifo_sz;
28         unsigned int    tx_fifo_sz_array[DWC2_MAX_HW_ENDPOINTS];
29         unsigned char   tx_fifo_sz_nb;
30         bool            force_b_session_valid;
31         bool            activate_stm_id_vb_detection;
32 };
33
34 int dwc2_udc_probe(struct dwc2_plat_otg_data *pdata);
35
36 int dwc2_udc_B_session_valid(struct udevice *dev);
37
38 #endif  /* __DWC2_USB_GADGET */