diff --git a/arch/arm/boards/ccxmx51/ccxmx51js.c b/arch/arm/boards/ccxmx51/ccxmx51js.c index 8c1d2dc..ae31caf 100644 --- a/arch/arm/boards/ccxmx51/ccxmx51js.c +++ b/arch/arm/boards/ccxmx51/ccxmx51js.c @@ -20,6 +20,8 @@ #include #include #include +#include +#include #include #include #include @@ -27,6 +29,8 @@ #include "ccxmx51.h" +#define CCXMX51JS_USBHOST1_RESET IMX_GPIO_NR(3, 8) + static iomux_v3_cfg_t ccxmx51js_pads[] = { /* SD1 */ MX51_PAD_SD1_CLK__SD1_CLK, @@ -74,6 +78,11 @@ .caps = MMC_MODE_4BIT | MMC_MODE_8BIT, }; +static struct imxusb_platformdata ccxmx51js_usbhost1_pdata = { + .flags = MXC_EHCI_MODE_ULPI | MXC_EHCI_ITC_NO_THRESHOLD, + .mode = IMX_USB_MODE_HOST, +}; + static int ccxmx51js_init(void) { mxc_iomux_v3_setup_multiple_pads(ccxmx51js_pads, ARRAY_SIZE(ccxmx51js_pads)); @@ -83,6 +92,12 @@ imx51_add_mmc2(&sdhc3_pdata); } + gpio_direction_output(CCXMX51JS_USBHOST1_RESET, 0); + mdelay(10); + gpio_set_value(CCXMX51JS_USBHOST1_RESET, 1); + mdelay(10); + imx51_add_usbh1(&ccxmx51js_usbhost1_pdata); + armlinux_set_architecture(ccxmx51_id->wless ? MACH_TYPE_CCWMX51JS : MACH_TYPE_CCMX51JS); return 0;