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.
AM4372: eMMC factory programming
Part Number: TMDSEVM437X
Is it possible to use SYSBOOT  - 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 optionCONFIG_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 ?
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.
We are glad that we were able to resolve this issue, and will now proceed to close this thread.
If you have further questions related to this thread, you may click "Ask a related question" below. The newly created question will be automatically linked to this question.
In reply to Krunal Bhargav34:
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,
In reply to HCRajan GopalSamy:
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.
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.
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.
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.
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.