From 74cd48e1323658fc79f03b442bb9869ca56c0226 Mon Sep 17 00:00:00 2001
From: Adam Ford <aford173@gmail.com>
Date: Sun, 13 Aug 2017 07:36:14 -0500
Subject: [PATCH] omap3: omap3_logic: Finish enabling fastboot on MUSB

Either the USB and Fastboot were never finished, or somehow it got
lost.  This puts enough hooks back into omap3logic to enable
fastboot and hopefully prepare it for Kconfig conversion.

Signed-off-by: Adam Ford <aford173@gmail.com>
---
 board/logicpd/omap3som/omap3logic.c | 31 +++++++++++++++++++++++++++++
 configs/omap3_logic_defconfig       |  3 ++-
 2 files changed, 33 insertions(+), 1 deletion(-)

diff --git a/board/logicpd/omap3som/omap3logic.c b/board/logicpd/omap3som/omap3logic.c
index fe3f9e664f9..40783c86a37 100644
--- a/board/logicpd/omap3som/omap3logic.c
+++ b/board/logicpd/omap3som/omap3logic.c
@@ -33,6 +33,10 @@
 #include <linux/usb/gadget.h>
 #include <linux/usb/musb.h>
 #include "omap3logic.h"
+#ifdef CONFIG_USB_EHCI_HCD
+#include <usb.h>
+#include <asm/ehci-omap.h>
+#endif
 
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -139,6 +143,33 @@ static struct musb_hdrc_platform_data musb_plat = {
 };
 #endif
 
+#if defined(CONFIG_USB_EHCI_HCD) && !defined(CONFIG_SPL_BUILD)
+/* Call usb_stop() before starting the kernel */
+void show_boot_progress(int val)
+{
+	if (val == BOOTSTAGE_ID_RUN_OS)
+		usb_stop();
+}
+
+static struct omap_usbhs_board_data usbhs_bdata = {
+	.port_mode[0] = OMAP_EHCI_PORT_MODE_PHY,
+	.port_mode[1] = OMAP_EHCI_PORT_MODE_PHY,
+	.port_mode[2] = OMAP_USBHS_PORT_MODE_UNUSED
+};
+
+int ehci_hcd_init(int index, enum usb_init_type init,
+		struct ehci_hccr **hccr, struct ehci_hcor **hcor)
+{
+	return omap_ehci_hcd_init(index, &usbhs_bdata, hccr, hcor);
+}
+
+int ehci_hcd_stop(int index)
+{
+	return omap_ehci_hcd_stop();
+}
+
+#endif /* CONFIG_USB_EHCI_HCD */
+
 
 /*
  * Routine: misc_init_r
diff --git a/configs/omap3_logic_defconfig b/configs/omap3_logic_defconfig
index 8d0a4d48e41..b8f25883d8d 100644
--- a/configs/omap3_logic_defconfig
+++ b/configs/omap3_logic_defconfig
@@ -26,7 +26,6 @@ CONFIG_CMD_SPL_NAND_OFS=0x240000
 # CONFIG_CMD_FPGA is not set
 CONFIG_CMD_NAND=y
 CONFIG_CMD_NAND_LOCK_UNLOCK=y
-# CONFIG_CMD_USB is not set
 CONFIG_CMD_CACHE=y
 CONFIG_CMD_UBI=y
 CONFIG_ISO_PARTITION=y
@@ -43,7 +42,9 @@ CONFIG_SYS_NAND_U_BOOT_OFFS=0x80000
 CONFIG_SYS_NS16550=y
 CONFIG_OMAP3_SPI=y
 CONFIG_USB=y
+CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_MUSB_GADGET=y
+CONFIG_USB_STORAGE=y
 CONFIG_USB_GADGET=y
 CONFIG_USB_GADGET_DOWNLOAD=y
 CONFIG_G_DNL_MANUFACTURER="TI"
-- 
GitLab