Tom Rini | 10e4779 | 2018-05-06 17:58:06 -0400 | [diff] [blame] | 1 | /* SPDX-License-Identifier: GPL-2.0+ */ |
Lukasz Majewski | ac3c831 | 2011-10-27 10:36:46 +0200 | [diff] [blame] | 2 | /* |
Marek Vasut | f1be9cb | 2015-12-04 02:51:20 +0100 | [diff] [blame] | 3 | * drivers/usb/gadget/dwc2_udc.h |
Marek Vasut | 4a7629a | 2015-12-04 02:55:37 +0100 | [diff] [blame] | 4 | * Designware DWC2 on-chip full/high speed USB device controllers |
Lukasz Majewski | ac3c831 | 2011-10-27 10:36:46 +0200 | [diff] [blame] | 5 | * Copyright (C) 2005 for Samsung Electronics |
Lukasz Majewski | ac3c831 | 2011-10-27 10:36:46 +0200 | [diff] [blame] | 6 | */ |
| 7 | |
Marek Vasut | f1be9cb | 2015-12-04 02:51:20 +0100 | [diff] [blame] | 8 | #ifndef __DWC2_USB_GADGET |
| 9 | #define __DWC2_USB_GADGET |
Lukasz Majewski | ac3c831 | 2011-10-27 10:36:46 +0200 | [diff] [blame] | 10 | |
Lukasz Majewski | ac3c831 | 2011-10-27 10:36:46 +0200 | [diff] [blame] | 11 | #define PHY0_SLEEP (1 << 5) |
Patrice Chotard | 00f3fc6 | 2019-03-29 15:42:20 +0100 | [diff] [blame] | 12 | #define DWC2_MAX_HW_ENDPOINTS 16 |
Lukasz Majewski | ac3c831 | 2011-10-27 10:36:46 +0200 | [diff] [blame] | 13 | |
Marek Vasut | 6939aca | 2015-12-04 02:23:29 +0100 | [diff] [blame] | 14 | struct dwc2_plat_otg_data { |
Xu Ziyuan | 1ecf3e4 | 2016-07-14 14:52:32 +0800 | [diff] [blame] | 15 | void *priv; |
| 16 | int phy_of_node; |
Lukasz Majewski | ac3c831 | 2011-10-27 10:36:46 +0200 | [diff] [blame] | 17 | int (*phy_control)(int on); |
Philipp Tomsich | 32dfa5d | 2018-12-06 01:26:39 +0100 | [diff] [blame] | 18 | uintptr_t regs_phy; |
Philipp Tomsich | d2a5af8 | 2017-06-06 15:42:29 +0200 | [diff] [blame] | 19 | uintptr_t regs_otg; |
Lukasz Majewski | ac3c831 | 2011-10-27 10:36:46 +0200 | [diff] [blame] | 20 | unsigned int usb_phy_ctrl; |
| 21 | unsigned int usb_flags; |
Marek Vasut | 8030088 | 2014-11-04 04:23:25 +0100 | [diff] [blame] | 22 | unsigned int usb_gusbcfg; |
Xu Ziyuan | b729dc0 | 2016-07-14 14:52:33 +0800 | [diff] [blame] | 23 | unsigned int rx_fifo_sz; |
| 24 | unsigned int np_tx_fifo_sz; |
| 25 | unsigned int tx_fifo_sz; |
Patrice Chotard | 00f3fc6 | 2019-03-29 15:42:20 +0100 | [diff] [blame] | 26 | unsigned int tx_fifo_sz_array[DWC2_MAX_HW_ENDPOINTS]; |
| 27 | unsigned char tx_fifo_sz_nb; |
Patrick Delaunay | 0c42d1d | 2019-03-29 15:42:17 +0100 | [diff] [blame] | 28 | bool force_b_session_valid; |
Patrick Delaunay | e014cb6 | 2019-03-29 15:42:21 +0100 | [diff] [blame] | 29 | bool activate_stm_id_vb_detection; |
Lukasz Majewski | ac3c831 | 2011-10-27 10:36:46 +0200 | [diff] [blame] | 30 | }; |
Marek Vasut | 0b90750 | 2015-12-04 01:36:36 +0100 | [diff] [blame] | 31 | |
Marek Vasut | 01b61fa | 2015-12-04 02:26:33 +0100 | [diff] [blame] | 32 | int dwc2_udc_probe(struct dwc2_plat_otg_data *pdata); |
Marek Vasut | 0b90750 | 2015-12-04 01:36:36 +0100 | [diff] [blame] | 33 | |
Patrick Delaunay | e2ad779 | 2019-03-29 15:42:18 +0100 | [diff] [blame] | 34 | int dwc2_udc_B_session_valid(struct udevice *dev); |
| 35 | |
Marek Vasut | f1be9cb | 2015-12-04 02:51:20 +0100 | [diff] [blame] | 36 | #endif /* __DWC2_USB_GADGET */ |