Other Parts Discussed in Thread: CSD
Tool/software:
We are booting our am64x device from either SD card or from eMMC, and have realised that we are possibly not using the bootmode pins correct.
For SD boot, we set BOOTMODE[9:3] = 1011000; and for eMMC boot we set BOOTMODE[9:3] = 0011000.
With this setting, we are able to boot in either fs *or* raw mode, and in the raw mode, the 'backup' area is used if there is an error in the 'primary' read.
We think this applies to both SD and eMMC boot, though we tend to use fs mode on the SD card and raw mode on the eMMC.
However, "Table 4-4. Primary Boot Mode Selection" plus "4.4.4 eMMC Boot" in the TRM seem to suggest that we ought to also be changing BOOTMODE[7] to explicitly select 'raw' mode when using the eMMC.
So is there an 'auto-sense' kind of logic in the ROM code that first tries 'fs' mode, and then tries' raw' mode - or have we confused ourselves ?
We have also tried configuring the eMMC device to use the boot0 and boot1 partitions are boot sectors, expecting to find that the am64x would still boot with fallback to the 'backup' offset on error, but that is not happening (again, we may be making mistakes on our end) - but without knowing more about the ROM interaction with the eMMC, we are guessing what the 'correct' behaviour should be.
Regards,
David