This property is already documented in the bindings and supported by Linux. As on i.MX25 the HW default is active high and up to now barebox didn't force this to low (which is the default for e.g. i.MX6), add the property to barebox' imx25.dtsi to keep existing behaviour. If on a board the OC pin is active low, you need to add /delete-property/ over-current-active-high; in the board.dts. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> --- arch/arm/dts/imx25.dtsi | 8 ++++++++ drivers/usb/imx/chipidea-imx.c | 4 ++++ 2 files changed, 12 insertions(+) diff --git a/arch/arm/dts/imx25.dtsi b/arch/arm/dts/imx25.dtsi index 13fbcc4f8da6..2e069e6f0314 100644 --- a/arch/arm/dts/imx25.dtsi +++ b/arch/arm/dts/imx25.dtsi @@ -29,3 +29,11 @@ &usbmisc { status = "okay"; }; + +&usbotg { + over-current-active-high; +}; + +&usbhost1 { + over-current-active-high; +}; diff --git a/drivers/usb/imx/chipidea-imx.c b/drivers/usb/imx/chipidea-imx.c index 309d5353037c..5f6988540fcb 100644 --- a/drivers/usb/imx/chipidea-imx.c +++ b/drivers/usb/imx/chipidea-imx.c @@ -160,6 +160,10 @@ static int imx_chipidea_probe_dt(struct imx_chipidea *ci) "disable-over-current", NULL)) ci->flags |= MXC_EHCI_DISABLE_OVERCURRENT; + else if (!of_find_property(ci->dev->device_node, + "over-current-active-high", NULL)) + ci->flags |= MXC_EHCI_OC_PIN_ACTIVE_LOW; + return 0; } -- 2.11.0 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox