diff --git a/board/logicpd/omap3som/omap3logic.c b/board/logicpd/omap3som/omap3logic.c index fe3f9e6..40783c8 100644 --- a/board/logicpd/omap3som/omap3logic.c +++ b/board/logicpd/omap3som/omap3logic.c @@ -33,6 +33,10 @@ #include #include #include "omap3logic.h" +#ifdef CONFIG_USB_EHCI_HCD +#include +#include +#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 8d0a4d4..b8f2588 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"