diff options
author | Uwe Kleine-König <u.kleine-koenig@pengutronix.de> | 2018-12-04 09:31:29 +0100 |
---|---|---|
committer | Peter Chen <peter.chen@nxp.com> | 2018-12-11 02:13:09 +0100 |
commit | a82bf696aa39b08c0dfce5569525e61368c6827f (patch) | |
tree | d0ba4531a37914d623c79d9d1f6730518519ac44 /drivers/usb/chipidea/ci_hdrc_imx.h | |
parent | doc: usb: ci-hdrc-usb2: Add pinctrl properties for HSIC pin groups (diff) | |
download | linux-a82bf696aa39b08c0dfce5569525e61368c6827f.tar.xz linux-a82bf696aa39b08c0dfce5569525e61368c6827f.zip |
usb: chipidea: imx: support configuring for active low oc signal
The status quo on i.MX6 is that if "over-current-active-high" is
specified in the device tree this is configured as expected. If
the property is missing polarity isn't changed and so the
polarity is kept as setup by the bootloader. Reset default is
active high, so active low can only be used with help by the
bootloader. On i.MX7 it is similar, but there disabling of
over current detection has a similar inconsistency.
This patch introduces a new property that allows to explicitly
configure for active low over current detection and consistently
sets this up. In the absence of an explicit configuration the
bit is kept as is. On i.MX7 over current detection is used unless
disabled in the device tree.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Diffstat (limited to 'drivers/usb/chipidea/ci_hdrc_imx.h')
-rw-r--r-- | drivers/usb/chipidea/ci_hdrc_imx.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/usb/chipidea/ci_hdrc_imx.h b/drivers/usb/chipidea/ci_hdrc_imx.h index fcecab478934..7cc53e2ce564 100644 --- a/drivers/usb/chipidea/ci_hdrc_imx.h +++ b/drivers/usb/chipidea/ci_hdrc_imx.h @@ -11,7 +11,13 @@ struct imx_usbmisc_data { int index; unsigned int disable_oc:1; /* over current detect disabled */ - unsigned int oc_polarity:1; /* over current polarity if oc enabled */ + + /* true if over-current polarity is active low */ + unsigned int oc_pol_active_low:1; + + /* true if dt specifies polarity */ + unsigned int oc_pol_configured:1; + unsigned int evdo:1; /* set external vbus divider option */ unsigned int ulpi:1; /* connected to an ULPI phy */ unsigned int hsic:1; /* HSIC controlller */ |