linux/drivers/usb/chipidea/ci_hdrc_imx.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0+ */
   2/*
   3 * Copyright 2012 Freescale Semiconductor, Inc.
   4 */
   5
   6#ifndef __DRIVER_USB_CHIPIDEA_CI_HDRC_IMX_H
   7#define __DRIVER_USB_CHIPIDEA_CI_HDRC_IMX_H
   8
   9struct imx_usbmisc_data {
  10        struct device *dev;
  11        int index;
  12
  13        unsigned int disable_oc:1; /* over current detect disabled */
  14
  15        /* true if over-current polarity is active low */
  16        unsigned int oc_pol_active_low:1;
  17
  18        /* true if dt specifies polarity */
  19        unsigned int oc_pol_configured:1;
  20
  21        unsigned int pwr_pol:1; /* power polarity */
  22        unsigned int evdo:1; /* set external vbus divider option */
  23        unsigned int ulpi:1; /* connected to an ULPI phy */
  24        unsigned int hsic:1; /* HSIC controlller */
  25        unsigned int ext_id:1; /* ID from exteranl event */
  26        unsigned int ext_vbus:1; /* Vbus from exteranl event */
  27        struct usb_phy *usb_phy;
  28        enum usb_dr_mode available_role; /* runtime usb dr mode */
  29        int emp_curr_control;
  30        int dc_vol_level_adjust;
  31};
  32
  33int imx_usbmisc_init(struct imx_usbmisc_data *data);
  34int imx_usbmisc_init_post(struct imx_usbmisc_data *data);
  35int imx_usbmisc_set_wakeup(struct imx_usbmisc_data *data, bool enabled);
  36int imx_usbmisc_hsic_set_connect(struct imx_usbmisc_data *data);
  37int imx_usbmisc_hsic_set_clk(struct imx_usbmisc_data *data, bool on);
  38int imx_usbmisc_charger_detection(struct imx_usbmisc_data *data, bool connect);
  39
  40#endif /* __DRIVER_USB_CHIPIDEA_CI_HDRC_IMX_H */
  41