[U-Boot] i.MX53 USB Client not working
Matthew Starr
mstarr at hedonline.com
Fri May 15 00:39:57 CEST 2015
It appears that setting CONFIG_MXC_USB_PORT to 0 then loads the OTG port on the i.MX53. The code appears to be in drivers/usb/host/ehci-mx5.c. The problem then is that the USB host port is then not usable since my i.MX53 board dedicates the OTG port to USB client functionality only.
Now I am trying to get both USB Host port 1 and USB OTG port 0 working at the same time. Does u-boot allow using multiple USB controller ports at the same time?
Best regards,
Matthew Starr
> -----Original Message-----
> From: U-Boot [mailto:u-boot-bounces at lists.denx.de] On Behalf Of Matthew
> Starr
> Sent: Thursday, May 14, 2015 9:37 AM
> To: u-boot at lists.denx.de
> Subject: [U-Boot] i.MX53 USB Client not working
>
> I have a custom board loosely based off the i.MX53 QSB with a dedicated USB
> client port and separate dedicated USB host port. I am trying to get USB
> client functionality working in mainline u-boot 2015.04. I have verified that
> USB client/gadget functionality works when booted into Linux on the board.
> In u-boot I have tried testing USB client with USB Mass Storage, DFU, and
> FastBoot and none of them seem to work.
>
> Here is my USB client #defines from my config header file:
> #define CONFIG_CI_UDC
> #define CONFIG_USBD_HS
> #define CONFIG_USB_GADGET_DUALSPEED
> #define CONFIG_USB_GADGET
> #define CONFIG_CMD_USB_MASS_STORAGE
> #define CONFIG_USB_GADGET_MASS_STORAGE
> #define CONFIG_USBDOWNLOAD_GADGET
> #define CONFIG_USB_GADGET_VBUS_DRAW 2
> #define CONFIG_USB_ETHER
> #define CONFIG_USB_ETH_CDC
> #define CONFIG_G_DNL_VENDOR_NUM 0x0525
> #define CONFIG_G_DNL_PRODUCT_NUM 0xa4a5
> #define CONFIG_G_DNL_MANUFACTURER "FSL"
> #define CONFIG_SYS_CACHELINE_SIZE 64
>
> Additionally here are my #defines for the USB host functionality:
> /* USB Host Configs */
> #define CONFIG_CMD_USB
> #define CONFIG_USB_EHCI
> #define CONFIG_USB_EHCI_MX5
> #define CONFIG_USB_STORAGE
> #define CONFIG_USB_HOST_ETHER
> #define CONFIG_USB_ETHER_ASIX
> #define CONFIG_USB_ETHER_MCS7830
> #define CONFIG_USB_ETHER_SMSC95XX
> #define CONFIG_MXC_USB_PORT 1
> #define CONFIG_MXC_USB_PORTSC (PORT_PTS_UTMI | PORT_PTS_PTW)
> #define CONFIG_MXC_USB_FLAGS 0
>
> Here is my board file content related to USB:
> #ifdef CONFIG_USB_EHCI_MX5
> static void setup_usb(void)
> {
> imx_iomux_v3_setup_pad(MX53_PAD_GPIO_0__GPIO1_0);
> }
>
> int board_ehci_hcd_init(int port)
> {
> /* Enable USB_H1_VBUS power with GPIO1_0 */
> gpio_direction_output(IMX_GPIO_NR(1, 0), 1);
> return 0;
> }
> #endif
>
> int board_usb_phy_mode(int port)
> {
> if (port == 1)
> return USB_INIT_HOST;
> else
> return USB_INIT_DEVICE;
> }
>
> Then later on in board_init(), I have:
> #ifdef CONFIG_USB_EHCI_MX5
> setup_usb();
> #endif
>
> When I run the 'ums 0 mmc 0' command, I get the following:
> UMS: disk start sector: 0x0, count: 0xe88000 and then I get an infinite
> spinning progress indicator. At this point when I connect the USB cable to a
> Host PC, I see nothing on the host PC side (Windows or Liunx).
>
> Any ideas on what I am missing to get USB client working or any hints on how
> to debug this further.
>
> Best regards,
> Matthew Starr
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot
More information about the U-Boot
mailing list