From d896276d27bf688cdd3be9c76bff7efc4e4d80b6 Mon Sep 17 00:00:00 2001
From: Soeren Moch <smoch@web.de>
Date: Tue, 5 May 2015 23:09:18 +0200
Subject: [PATCH] tbs2910: support for usb otg host mode

Add support for USB OTG host mode. Only high speed devices supported so far
(e.g. usb 2.0 hub required to connect a keyboard).

Signed-off-by: Soeren Moch <smoch@web.de>
---
 board/tbs/tbs2910/tbs2910.c | 10 ++++++++++
 include/configs/tbs2910.h   |  1 +
 2 files changed, 11 insertions(+)

diff --git a/board/tbs/tbs2910/tbs2910.c b/board/tbs/tbs2910/tbs2910.c
index 42b166d47e..0b509b6dd9 100644
--- a/board/tbs/tbs2910/tbs2910.c
+++ b/board/tbs/tbs2910/tbs2910.c
@@ -372,6 +372,12 @@ static const struct boot_mode board_boot_modes[] = {
 };
 #endif
 
+#ifdef CONFIG_USB_EHCI_MX6
+static iomux_v3_cfg_t const usb_otg_pads[] = {
+	MX6_PAD_ENET_RX_ER__USB_OTG_ID | MUX_PAD_CTRL(NO_PAD_CTRL),
+};
+#endif
+
 int board_init(void)
 {
 	/* address of boot parameters */
@@ -390,6 +396,10 @@ int board_init(void)
 #endif
 #ifdef CONFIG_CMD_BMODE
 	add_board_boot_modes(board_boot_modes);
+#endif
+#ifdef CONFIG_USB_EHCI_MX6
+	imx_iomux_v3_setup_multiple_pads(
+		usb_otg_pads, ARRAY_SIZE(usb_otg_pads));
 #endif
 	return 0;
 }
diff --git a/include/configs/tbs2910.h b/include/configs/tbs2910.h
index 3a88f22bbf..d3f53f3147 100644
--- a/include/configs/tbs2910.h
+++ b/include/configs/tbs2910.h
@@ -163,6 +163,7 @@
 #define CONFIG_USB_EHCI
 #define CONFIG_USB_EHCI_MX6
 #define CONFIG_USB_MAX_CONTROLLER_COUNT 2
+#define CONFIG_EHCI_HCD_INIT_AFTER_RESET
 #define CONFIG_MXC_USB_PORTSC		(PORT_PTS_UTMI | PORT_PTS_PTW)
 #define CONFIG_USB_STORAGE
 #define CONFIG_CMD_USB_MASS_STORAGE
-- 
2.39.5