summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Krummenacher <max.krummenacher@toradex.com>2015-11-12 19:10:42 +0100
committerMax Krummenacher <max.krummenacher@toradex.com>2016-02-17 10:54:08 +0100
commit8635eff778ceadc82f17339659cfb02bf456583b (patch)
tree28ad7ab1d1b47a39e28911b21742b1ecdcd0605b
parent479e347b289500d7d3fdafb1ca9f95f272c88a24 (diff)
colibri_imx7.c: adapt USB
-rw-r--r--board/toradex/colibri_imx7/colibri_imx7.c24
1 files changed, 23 insertions, 1 deletions
diff --git a/board/toradex/colibri_imx7/colibri_imx7.c b/board/toradex/colibri_imx7/colibri_imx7.c
index 5bccad0023..262b0538af 100644
--- a/board/toradex/colibri_imx7/colibri_imx7.c
+++ b/board/toradex/colibri_imx7/colibri_imx7.c
@@ -564,19 +564,23 @@ iomux_v3_cfg_t const usb_otg1_pads[] = {
};
iomux_v3_cfg_t const usb_otg2_pads[] = {
- MX7D_PAD_UART3_CTS_B__USB_OTG2_PWR | MUX_PAD_CTRL(NO_PAD_CTRL),
+ MX7D_PAD_UART3_CTS_B__GPIO4_IO7 | MUX_PAD_CTRL(NO_PAD_CTRL),
};
+#define USBH_PWR IMX_GPIO_NR(4, 7)
int board_ehci_hcd_init(int port)
{
switch (port) {
case 0:
+#if 0 /* TODO make this a USB device */
imx_iomux_v3_setup_multiple_pads(usb_otg1_pads,
ARRAY_SIZE(usb_otg1_pads));
+#endif
break;
case 1:
imx_iomux_v3_setup_multiple_pads(usb_otg2_pads,
ARRAY_SIZE(usb_otg2_pads));
+ gpio_direction_output(USBH_PWR , 1);
break;
default:
printf("MXC USB port %d not yet supported\n", port);
@@ -584,6 +588,24 @@ int board_ehci_hcd_init(int port)
}
return 0;
}
+
+int board_ehci_power(int port, int on)
+{
+ switch (port) {
+ case 0:
+ break;
+ case 1:
+ imx_iomux_v3_setup_multiple_pads(usb_otg2_pads,
+ ARRAY_SIZE(usb_otg2_pads));
+ gpio_direction_output(USBH_PWR , !on);
+ break;
+ default:
+ printf("MXC USB port %d not yet supported\n", port);
+ return 1;
+ }
+ return 0;
+}
+
#endif
#ifdef CONFIG_FASTBOOT