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.

TMDSEVM437X: EMAC boot

Part Number: TMDSEVM437X

Hello,

Is it possible to use SYSBOOT [01110] - USB MS, EMAC with u-boot 2018 ?

I was trying to use the above boot option, primarily from network along with an USB override.
Unable to get the SPL running properly.

Trial and error method has narrowed down the problem to the following config option
CONFIG_ISW_ENTRY_ADDR=0x40300350

The above option seems to be needed for successful USB Storage booting.
However, network booting fails with the above address.

Is there a way to use one u-boot-spl binary for both USB and ethernet based booting ?

Thanks

  • Hello,

    After any reset, the boot ROM on the AM43XX SOC searches the boot media for a valid boot image. For non-XIP devices, the ROM then copies the image into internal memory. For all boot modes, after the ROM processes the boot image it eventually computes the entry point address depending on the device type (secure/non-secure), boot media (xip/non-xip) and image headers. (Reference:  <u-boot_dir>/arch/arm/mach-omap2/am33xx/Kconfig)

    By default, the entry point address is 0x402F4000 but for USB the address is 0x40300350.

    Regards,
    Krunal

  • Hello Krunal,

    Thank you for your efforts to reply.

    Sorry that I could not follow your reply. Pardon my ignorance. 

    If the ROM could take this value based on device type, boot media and image headers,
    what is the need to hard code this value for USB booting alone?

    Is there any way or patch to avoid this USB booting specific value?

    This is affecting our ability to have common binary between USB and other media like uSD / eMMC / TFTP etc.

    Your suggestion to avoid this fixed value in config file would be helpful.

    Looking forward for your reply,

    Thanks

  • Hello,

    Unfortunately, USB host boot is not functional as of now. However, I took the SD boot config "am43xx_evm_defconfig" and added the following line of code "CONFIG_ISW_ENTRY_ADDR=0x40300350". I was able to boot from SD card without any problems. 

    Regards,
    Krunal

  • Krunal,

    Were you able to boot from network with this config?

    The original problem description and the subject is the conflict between network and USB boot.

    I have not tried USB host boot due to USB NDIS driver requirements.
    My observations are based on ethernet based network.

    Thanks

  • Hello,

    Based on my debugging, during network boot, the ROM code is loading the image into the address 0x402F4000 (cannot be changed). With regards to USB boot, the TRM mentions the following "If ROM boots using USB_MS boot mode, then the image can reside only from 0x40300000. This limits the maximum image size while using USB_MS boot mode to 220KB." Due to the previously mentioned limitation, we cannot have  a single config file for USB and cpsw boot.

    Regards,
    Krunal

     

  • Hi,

    I just wanted to chime in to be clear that USB Device Network via RNDIS and Ethernet (via CPSW) should be compatible in the same defconfig. In fact, our EVM defconfig has both of these enabled. Therefore, our prebuilt binaries provided with the SDK should boot over both RNDIS (USB) and Ethernet on a TI EVM.

    I hope this is clear. Thanks.