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.
Yes. It is possible to boot from boot1 partition of eMMC. By default the SDK chooses the boot0 partition.
The above is determined by the EXT_CSD register of eMMC.
So the only change that one needs to do switch to boot0 partition is to tweak the third parameter of partconf command from U-Boot prompt.
For boot0 partition the SDK documentation covers as below: https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-jacinto7/08_01_00_07/exports/docs/linux/Foundational_Components/U-Boot/UG-Memory.html
mmc partconf 0 1 1 1
Details of the partconf command:
mmc partconf dev [boot_ack boot_partition partition_access]
- Show or change the bits of the PARTITION_CONFIG field of the specified device
So to boot from the boot0 partition we need change the third parameter for partconf command from 1 --> 2.
boot_partition 1 --> boot0 partition
boot_partition 2 --> boot1 partition
So from the U-Boot prompt:
mmc partconf 0 1 2 1
The above enabled booting from boot1 partition.
To validate first erase the boot0 partition. Boot to U-boot prompt:
mmc dev 0 1 mmc erase 0x0 0x2000
Followed by the regular eMMC write commands for J721e/DRA829/TDA4VM:
mmc dev 0 2 fatload mmc 1 ${loadaddr} tiboot3.bin mmc write ${loadaddr} 0x0 0x400 fatload mmc 1 ${loadaddr} tispl.bin mmc write ${loadaddr} 0x400 0x1000 fatload mmc 1 ${loadaddr} u-boot.img mmc write ${loadaddr} 0x1400 0x2000 fatload mmc 1 ${loadaddr} sysfw.itb mmc write ${loadaddr} 0x3600 0x800
For J7200/DRA821
mmc dev 0 2 fatload mmc 1 ${loadaddr} tiboot3.bin mmc write ${loadaddr} 0x0 0x800 fatload mmc 1 ${loadaddr} tispl.bin mmc write ${loadaddr} 0x800 0x1000 fatload mmc 1 ${loadaddr} u-boot.img mmc write ${loadaddr} 0x1800 0x2000