usb: chipidea: imx: allow to configure oc polarity on i.MX25
Up to now the polarity of the over current pin was hard coded to active high. Use the already defined device tree properties to configure polarity on i.MX25, too. In difference to i.MX6/7 use active high behavior if the polarity is unspecified to keep compatibility to existing device trees. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Peter Chen <peter.chen@nxp.com>
This commit is contained in:
parent
1bf4743f64
commit
9049fce897
1 changed files with 15 additions and 0 deletions
|
@ -136,6 +136,14 @@ static int usbmisc_imx25_init(struct imx_usbmisc_data *data)
|
|||
val &= ~(MX25_OTG_SIC_MASK | MX25_OTG_PP_BIT);
|
||||
val |= (MX25_EHCI_INTERFACE_DIFF_UNI & MX25_EHCI_INTERFACE_MASK) << MX25_OTG_SIC_SHIFT;
|
||||
val |= (MX25_OTG_PM_BIT | MX25_OTG_OCPOL_BIT);
|
||||
|
||||
/*
|
||||
* If the polarity is not configured assume active high for
|
||||
* historical reasons.
|
||||
*/
|
||||
if (data->oc_pol_configured && data->oc_pol_active_low)
|
||||
val &= ~MX25_OTG_OCPOL_BIT;
|
||||
|
||||
writel(val, usbmisc->base);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -145,6 +153,13 @@ static int usbmisc_imx25_init(struct imx_usbmisc_data *data)
|
|||
val |= (MX25_H1_PM_BIT | MX25_H1_OCPOL_BIT | MX25_H1_TLL_BIT |
|
||||
MX25_H1_USBTE_BIT | MX25_H1_IPPUE_DOWN_BIT);
|
||||
|
||||
/*
|
||||
* If the polarity is not configured assume active high for
|
||||
* historical reasons.
|
||||
*/
|
||||
if (data->oc_pol_configured && data->oc_pol_active_low)
|
||||
val &= ~MX25_H1_OCPOL_BIT;
|
||||
|
||||
writel(val, usbmisc->base);
|
||||
|
||||
break;
|
||||
|
|
Loading…
Reference in a new issue