提交 f5c30c1b 编写于 作者: S Stefan Herbrechtsmeier 提交者: Tom Rini

omap3: overo: Add usb host support

Signed-off-by: NStefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
上级 4ed914a2
......@@ -25,6 +25,11 @@
#include <asm/mach-types.h>
#include "overo.h"
#ifdef CONFIG_USB_EHCI
#include <usb.h>
#include <asm/ehci-omap.h>
#endif
DECLARE_GLOBAL_DATA_PTR;
#define TWL4030_I2C_BUS 0
......@@ -474,3 +479,32 @@ int board_mmc_init(bd_t *bis)
return omap_mmc_init(0, 0, 0, -1, -1);
}
#endif
#if defined(CONFIG_USB_EHCI) && !defined(CONFIG_SPL_BUILD)
static struct omap_usbhs_board_data usbhs_bdata = {
.port_mode[0] = OMAP_USBHS_PORT_MODE_UNUSED,
.port_mode[1] = OMAP_EHCI_PORT_MODE_PHY,
.port_mode[2] = OMAP_USBHS_PORT_MODE_UNUSED
};
#define GUMSTIX_GPIO_USBH_CPEN 168
int ehci_hcd_init(int index, enum usb_init_type init,
struct ehci_hccr **hccr, struct ehci_hcor **hcor)
{
/* Enable USB power */
if (!gpio_request(GUMSTIX_GPIO_USBH_CPEN, "usbh_cpen"))
gpio_direction_output(GUMSTIX_GPIO_USBH_CPEN, 1);
return omap_ehci_hcd_init(index, &usbhs_bdata, hccr, hcor);
}
int ehci_hcd_stop(void)
{
/* Disable USB power */
gpio_set_value(GUMSTIX_GPIO_USBH_CPEN, 0);
gpio_free(GUMSTIX_GPIO_USBH_CPEN);
return omap_ehci_hcd_stop();
}
#endif /* CONFIG_USB_EHCI */
......@@ -35,6 +35,13 @@
/* TWL4030 LED */
#define CONFIG_TWL4030_LED
/* USB EHCI */
#define CONFIG_USB_EHCI
#define CONFIG_USB_EHCI_OMAP
#define CONFIG_USB_STORAGE
#define CONFIG_OMAP_EHCI_PHY1_RESET_GPIO 183
#define CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS 3
/* Initialize GPIOs by default */
#define CONFIG_OMAP3_GPIO_2 /* GPIO32..63 is in GPIO Bank 2 */
#define CONFIG_OMAP3_GPIO_3 /* GPIO64..95 is in GPIO Bank 3 */
......@@ -44,6 +51,7 @@
/* commands to include */
#define CONFIG_CMD_CACHE
#define CONFIG_CMD_USB
#undef CONFIG_CMD_FPGA /* FPGA configuration Support */
#undef CONFIG_CMD_IMI /* iminfo */
#undef CONFIG_CMD_NFS /* NFS support */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册