This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TI SDK U-Boot USB issue

Hello, I'm using the u-boot from the AM335x SDK on a custom board. I have USB support compiled in, but whenever I issue the "usb start" command, it will basically act as a blocking command that sits there and waits for a device to appear. I verified that the SK board does the exact same thing, so this is not a hardware issue. If I insert a thumb drive, it will continue and detect the drive on that USB port, otherwise it will hang until it eventually times out.


On other versions of u-boot that I have seen with different processors, the usb start command will detect the USB controller itself for each one, even if there isn't a specific device attached. I'm wondering if this is just the way the u-boot USB driver is written for the AM335x. Is there anyway around this? If I want to write a script that will scan all boot sources upon starting u-boot, it would hang at the usb start command for 10 seconds if there was no drive inserted.

  • In the u-boot MUSB driver, 'usb start' command polls a MUSB register bit to detect if any USB device is plugged in. You can change the polling timeout if the default value is too long. The timeout is defined in drivers/usb/musb-new/musb_uboot.c as

    #define MUSB_HOST_TIMEOUT       0x3ffffff

    Please note that the polling must last for at least 100ms.