summaryrefslogtreecommitdiff
path: root/board/logicpd
diff options
context:
space:
mode:
authorAdam Ford <aford173@gmail.com>2017-08-13 07:36:14 -0500
committerTom Rini <trini@konsulko.com>2017-09-13 09:24:25 -0400
commit74cd48e1323658fc79f03b442bb9869ca56c0226 (patch)
treef2f17eb974d879f9eac1aac3241fc381ea6d3fc5 /board/logicpd
parent3e9f8f2f5101ee66804c29683fba90b8e307a314 (diff)
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>
Diffstat (limited to 'board/logicpd')
-rw-r--r--board/logicpd/omap3som/omap3logic.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/board/logicpd/omap3som/omap3logic.c b/board/logicpd/omap3som/omap3logic.c
index fe3f9e664f..40783c86a3 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