xref: /rk3399_rockchip-uboot/include/usb/dwc2_udc.h (revision 6187c346516df218f85a906c8a8d58f3e5ed34d5)
15d5716eeSMarek Vasut /*
25d5716eeSMarek Vasut  * drivers/usb/gadget/dwc2_udc.h
35d5716eeSMarek Vasut  * Designware DWC2 on-chip full/high speed USB device controllers
45d5716eeSMarek Vasut  * Copyright (C) 2005 for Samsung Electronics
55d5716eeSMarek Vasut  *
65d5716eeSMarek Vasut  * SPDX-License-Identifier:	GPL-2.0+
75d5716eeSMarek Vasut  */
85d5716eeSMarek Vasut 
95d5716eeSMarek Vasut #ifndef __DWC2_USB_GADGET
105d5716eeSMarek Vasut #define __DWC2_USB_GADGET
115d5716eeSMarek Vasut 
125d5716eeSMarek Vasut #define PHY0_SLEEP              (1 << 5)
13*6187c346SPatrice Chotard #define DWC2_MAX_HW_ENDPOINTS	16
145d5716eeSMarek Vasut 
155d5716eeSMarek Vasut struct dwc2_plat_otg_data {
16fab33579SXu Ziyuan 	void		*priv;
17fab33579SXu Ziyuan 	int		phy_of_node;
185d5716eeSMarek Vasut 	int		(*phy_control)(int on);
195d5716eeSMarek Vasut 	unsigned int	regs_phy;
2092693b5aSPhilipp Tomsich 	uintptr_t	regs_otg;
215d5716eeSMarek Vasut 	unsigned int    usb_phy_ctrl;
225d5716eeSMarek Vasut 	unsigned int    usb_flags;
235d5716eeSMarek Vasut 	unsigned int	usb_gusbcfg;
2447117882SXu Ziyuan 	unsigned int	rx_fifo_sz;
2547117882SXu Ziyuan 	unsigned int	np_tx_fifo_sz;
2647117882SXu Ziyuan 	unsigned int	tx_fifo_sz;
27*6187c346SPatrice Chotard 	unsigned int	tx_fifo_sz_array[DWC2_MAX_HW_ENDPOINTS];
28*6187c346SPatrice Chotard 	unsigned char   tx_fifo_sz_nb;
295c4beedbSPatrick Delaunay 	bool		force_b_session_valid;
305d5716eeSMarek Vasut };
315d5716eeSMarek Vasut 
325d5716eeSMarek Vasut int dwc2_udc_probe(struct dwc2_plat_otg_data *pdata);
335d5716eeSMarek Vasut 
343015f8beSPatrick Delaunay int dwc2_udc_B_session_valid(struct udevice *dev);
353015f8beSPatrick Delaunay 
365d5716eeSMarek Vasut #endif	/* __DWC2_USB_GADGET */
37