0001
0002
0003
0004
0005
0006 #ifndef __DRIVER_USB_CHIPIDEA_CI_HDRC_IMX_H
0007 #define __DRIVER_USB_CHIPIDEA_CI_HDRC_IMX_H
0008
0009 struct imx_usbmisc_data {
0010 struct device *dev;
0011 int index;
0012
0013 unsigned int disable_oc:1;
0014
0015
0016 unsigned int oc_pol_active_low:1;
0017
0018
0019 unsigned int oc_pol_configured:1;
0020
0021 unsigned int pwr_pol:1;
0022 unsigned int evdo:1;
0023 unsigned int ulpi:1;
0024 unsigned int hsic:1;
0025 unsigned int ext_id:1;
0026 unsigned int ext_vbus:1;
0027 struct usb_phy *usb_phy;
0028 enum usb_dr_mode available_role;
0029 int emp_curr_control;
0030 int dc_vol_level_adjust;
0031 };
0032
0033 int imx_usbmisc_init(struct imx_usbmisc_data *data);
0034 int imx_usbmisc_init_post(struct imx_usbmisc_data *data);
0035 int imx_usbmisc_set_wakeup(struct imx_usbmisc_data *data, bool enabled);
0036 int imx_usbmisc_hsic_set_connect(struct imx_usbmisc_data *data);
0037 int imx_usbmisc_hsic_set_clk(struct imx_usbmisc_data *data, bool on);
0038 int imx_usbmisc_charger_detection(struct imx_usbmisc_data *data, bool connect);
0039
0040 #endif