[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