[PATCH] usb: imx: implement support for "over-current-active-high" property

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux