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