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.

AM4377: USB1 Mass Storage boot fails

Part Number: AM4377

I am using the TI am4377 and trying to perform a boot of the processor via USB#1 using u-boot.

I have placed the MLO (which works ok on SD-card boot) into a USB (FAT32, active primary partition).

USB pen drive is 1GB, so not too large. MLO is only 64KB.

I have selected the SYSBOOT[4:0] settings as 10101b which should select USB-1 as primary boot source and USB-0 as secondary.

On power up, I see the LED on the USB blink for a short period then stay solid on, however there is no console debug produced from the MLO.

My processor silicon version is 1.2 so Mass storage USB boot should work.

I have run out of options to determine what is wrong. 

I don't have JTAG to be able to GDB and test whether the MLO is attempted to be executed, but given there is no output on debug I suspect it is not!.

Also if I get u-boot to boot from the SD-card I can use the u-boot commands to see the USB drive, so I know the USB is operating correctly at that point. I just cat get it to boot the MLO directly from USB#1. 

Any help from someone who has managed to get USB#1 boot of the processor working would be appreciated.

PS. booting via SD-card or eMMC works fine, so it shouldn't be an issue with U-boot, at least not until I can get the MLO booting correctly.

 

 

  • Hi,

    The requirements for booting from an USB MS device are given in section 5.2.6.8 from the AM437x TRM Rev. F. One thing to check is your setting for SYSBOOT[16]. Also check if everything on the pen drive is as required in section 5.2.6.8.5.
  • Thanks for the quick reply.

    I did follow the guidelines in the TRM for USB preparation for booting.

    My USB is a 1GB FAT32 with a single primary active partition containing the MLO.

    The usb also does work (i.e. I can read from the usb) once the processor is booted from the SD card, which suggests that the usb hardware and its signals are correct. 

    The "connection" led on the usb also blinks rapidly at power on, which suggests the processor is at least attempting to "read/boot" from it.

    I did try your suggestion of switching SYSBOOT[16], but it didn't work, and I guess as the usb works after boot up, the data polarity is set correctly.

    With SYSBOOT[16] set inverted I do not see the led blink rapidly on startup which also suggests the non inverted setting is correct.

    Is there a size limit on the usb or partition that can be booted from the device?

    Do you have examples of how to prepare a usb for booting, in case there is a "trick" that I have missed?

    Do you have a working MLO that will at least output some debug on startup that I can use to check the hardware is working correctly?

    I know the MLO I am using works via SD boot, and I have put debug into it, as early as setup_early_clocks() in early_system_init(), and I don't see any of this debug when booting from usb, so I dont think the MLO is executed at all.

    Thanks for your help.

     

  • Thanks for these additional details Colin. I have forwarded this to the factory experts. They will respond here.
  • Colin,

    Have you tried a different thumb drive?

  • Yes. Have tried a different manufacturer usb formatted via linux with the same results. The 1st usb was formatted under windows diskpart.

    Do you have any special instructions for preparing the usb?

    Any known issues with the mass stargae boot function, other than not supported on v1.1 silicon?

    Note that we are using custom hardware, but given the usb works correctly when booted by alternative source SDCARD, it would seem that usb hardware is correct.

    Also the fact that the usb led blinks rapidly for 1-2 sec at power on suggests the processor is attempting to boot from it.

    We dont have jtag to be able to read boot failure registers, not sure if any other way to isolate the failure?

    Thanks in advance

  • hi, TI expert:
    I also encountered the same problem. Why ti has not solved this problem yet?
  • Colin,

    Colin Smith said:
    I have placed the MLO (which works ok on SD-card boot) into a USB (FAT32, active primary partition).

    The MLO which works for SD-card boot cannot be used for USB1 host boot. Please rebuild uboot with 'am43xx_evm_usbhost_boot_defconfig' defconfig.