aboutsummaryrefslogtreecommitdiff
path: root/board/logicpd/omap3som
diff options
context:
space:
mode:
authorAdam Ford2017-08-13 07:36:14 -0500
committerTom Rini2017-09-13 09:24:25 -0400
commit74cd48e1323658fc79f03b442bb9869ca56c0226 (patch)
treef2f17eb974d879f9eac1aac3241fc381ea6d3fc5 /board/logicpd/omap3som
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/omap3som')
-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 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