forked from Minki/linux
7c8e890941
To support imx HSIC, there are some special requirement: - The HSIC pad is 1.2v, it may need to supply from external - The data/strobe pin needs to be pulled down first, and after host mode is initialized, the strobe pin needs to be pulled up - During the USB suspend/resume, special setting is needed Reviewed-by: Frieder Schrempf <frieder.schrempf@kontron.de> Tested-by: Frieder Schrempf <frieder.schrempf@kontron.de> Signed-off-by: Peter Chen <peter.chen@nxp.com>
27 lines
908 B
C
27 lines
908 B
C
// SPDX-License-Identifier: GPL-2.0+
|
|
/*
|
|
* Copyright 2012 Freescale Semiconductor, Inc.
|
|
*/
|
|
|
|
#ifndef __DRIVER_USB_CHIPIDEA_CI_HDRC_IMX_H
|
|
#define __DRIVER_USB_CHIPIDEA_CI_HDRC_IMX_H
|
|
|
|
struct imx_usbmisc_data {
|
|
struct device *dev;
|
|
int index;
|
|
|
|
unsigned int disable_oc:1; /* over current detect disabled */
|
|
unsigned int oc_polarity:1; /* over current polarity if oc enabled */
|
|
unsigned int evdo:1; /* set external vbus divider option */
|
|
unsigned int ulpi:1; /* connected to an ULPI phy */
|
|
unsigned int hsic:1; /* HSIC controlller */
|
|
};
|
|
|
|
int imx_usbmisc_init(struct imx_usbmisc_data *data);
|
|
int imx_usbmisc_init_post(struct imx_usbmisc_data *data);
|
|
int imx_usbmisc_set_wakeup(struct imx_usbmisc_data *data, bool enabled);
|
|
int imx_usbmisc_hsic_set_connect(struct imx_usbmisc_data *data);
|
|
int imx_usbmisc_hsic_set_clk(struct imx_usbmisc_data *data, bool on);
|
|
|
|
#endif /* __DRIVER_USB_CHIPIDEA_CI_HDRC_IMX_H */
|