xref: /linux/drivers/usb/chipidea/ci_hdrc_imx.h (revision 7c8e8909417eb6342ac487dc5ab3076d46718f71)
15fd54aceSGreg Kroah-Hartman // SPDX-License-Identifier: GPL-2.0+
28e22978cSAlexander Shishkin /*
38e22978cSAlexander Shishkin  * Copyright 2012 Freescale Semiconductor, Inc.
48e22978cSAlexander Shishkin  */
58e22978cSAlexander Shishkin 
6292abc90SRahul Bedarkar #ifndef __DRIVER_USB_CHIPIDEA_CI_HDRC_IMX_H
7292abc90SRahul Bedarkar #define __DRIVER_USB_CHIPIDEA_CI_HDRC_IMX_H
8292abc90SRahul Bedarkar 
905986ba9SSascha Hauer struct imx_usbmisc_data {
10f40017e0SStefan Agner 	struct device *dev;
118e22978cSAlexander Shishkin 	int index;
128e22978cSAlexander Shishkin 
138e22978cSAlexander Shishkin 	unsigned int disable_oc:1; /* over current detect disabled */
149dba516eSLi Jun 	unsigned int oc_polarity:1; /* over current polarity if oc enabled */
158e22978cSAlexander Shishkin 	unsigned int evdo:1; /* set external vbus divider option */
16d13631bbSFabien Lahoudere 	unsigned int ulpi:1; /* connected to an ULPI phy */
17*7c8e8909SPeter Chen 	unsigned int hsic:1; /* HSIC controlller */
188e22978cSAlexander Shishkin };
198e22978cSAlexander Shishkin 
20*7c8e8909SPeter Chen int imx_usbmisc_init(struct imx_usbmisc_data *data);
21*7c8e8909SPeter Chen int imx_usbmisc_init_post(struct imx_usbmisc_data *data);
22*7c8e8909SPeter Chen int imx_usbmisc_set_wakeup(struct imx_usbmisc_data *data, bool enabled);
23*7c8e8909SPeter Chen int imx_usbmisc_hsic_set_connect(struct imx_usbmisc_data *data);
24*7c8e8909SPeter Chen int imx_usbmisc_hsic_set_clk(struct imx_usbmisc_data *data, bool on);
25292abc90SRahul Bedarkar 
26292abc90SRahul Bedarkar #endif /* __DRIVER_USB_CHIPIDEA_CI_HDRC_IMX_H */
27