blob: 1a370e0e86b5abf6addd39596e181f1f8a976db5 [file] [log] [blame]
Lukasz Majewskiac3c8312011-10-27 10:36:46 +02001/*
Marek Vasutf1be9cb2015-12-04 02:51:20 +01002 * drivers/usb/gadget/dwc2_udc.h
Marek Vasut4a7629a2015-12-04 02:55:37 +01003 * Designware DWC2 on-chip full/high speed USB device controllers
Lukasz Majewskiac3c8312011-10-27 10:36:46 +02004 * Copyright (C) 2005 for Samsung Electronics
5 *
Wolfgang Denkd79de1d2013-07-08 09:37:19 +02006 * SPDX-License-Identifier: GPL-2.0+
Lukasz Majewskiac3c8312011-10-27 10:36:46 +02007 */
8
Marek Vasutf1be9cb2015-12-04 02:51:20 +01009#ifndef __DWC2_USB_GADGET
10#define __DWC2_USB_GADGET
Lukasz Majewskiac3c8312011-10-27 10:36:46 +020011
Lukasz Majewskiac3c8312011-10-27 10:36:46 +020012#define PHY0_SLEEP (1 << 5)
13
Marek Vasut6939aca2015-12-04 02:23:29 +010014struct dwc2_plat_otg_data {
Xu Ziyuan1ecf3e42016-07-14 14:52:32 +080015 void *priv;
16 int phy_of_node;
Lukasz Majewskiac3c8312011-10-27 10:36:46 +020017 int (*phy_control)(int on);
18 unsigned int regs_phy;
Philipp Tomsichd2a5af82017-06-06 15:42:29 +020019 uintptr_t regs_otg;
Lukasz Majewskiac3c8312011-10-27 10:36:46 +020020 unsigned int usb_phy_ctrl;
21 unsigned int usb_flags;
Marek Vasut80300882014-11-04 04:23:25 +010022 unsigned int usb_gusbcfg;
Xu Ziyuanb729dc02016-07-14 14:52:33 +080023 unsigned int rx_fifo_sz;
24 unsigned int np_tx_fifo_sz;
25 unsigned int tx_fifo_sz;
Lukasz Majewskiac3c8312011-10-27 10:36:46 +020026};
Marek Vasut0b907502015-12-04 01:36:36 +010027
Marek Vasut01b61fa2015-12-04 02:26:33 +010028int dwc2_udc_probe(struct dwc2_plat_otg_data *pdata);
Marek Vasut0b907502015-12-04 01:36:36 +010029
Marek Vasutf1be9cb2015-12-04 02:51:20 +010030#endif /* __DWC2_USB_GADGET */