Other Parts Discussed in Thread: CSD
I would like to boot AM654X_EVM from eMMC as primary with SDCard as backup boot device. I've set BOOTMODE[18:0] = 0x2004D = 010_0000_0000_0100_1101b using SW2,SW3. I've followed the instructions relating to eMMC given at ti-processor-sdk-linux-rt-am65xx-evm-07_00_01_07/board-support/u-boot-2020.01+gitAUTOINC+f9b0d030d3-gf9b0d030d3/board/ti/am65x/README. I believe it is trying to boot from eMMC because it takes noticeably longer to boot presumably from timing out the primary boot and going to the fallback SDCard. I was able to boot linux from eMMC using the UDA (user data) part of the eMMC by setting up a partition and copying a rootFS to is, but the low-level boot still came from the SDCard. I also set up a dos partition on the eMMC UDA with the appropriate files without success. I've also tried setting up a fat FS on the BootPartition 0 of the eMMC, because I read in the TRM (SPRUID7E) Table 4-1 page 1325 and Table 4-7 page 1334 that eMMC boot has the note "Boot from boot partition with auto-fall back to file system".
In the README is says to issue the command to u-boot: mmc partconf 0 1 1 1 which should set the eMMC part to use boot ACK, boot partition 1, and allow partition access. Checking the value immediately after setting it shows partition access is allowed:
=> mmc partconf 0
EXT_CSD[179], PARTITION_CONFIG:
BOOT_ACK: 0x1
BOOT_PARTITION_ENABLE: 0x1
PARTITION_ACCESS: 0x1
=>
However, after power cycle or reset, partition access reverts back to 0:
Hit any key to stop autoboot: 0
=> mmc partconf 0
EXT_CSD[179], PARTITION_CONFIG:
BOOT_ACK: 0x1
BOOT_PARTITION_ENABLE: 0x1
PARTITION_ACCESS: 0x0
=>
and this is part of the JEDEC spec JESD84-B51 in the description of the extended CSR register. So the ROM boot must set this if it expects to boot from eMMC?
Note that I haven't used the mmc hwpartition or mmc rst-function command since these are write once operations.
Can you tell me how to fix this issue? How to debug this? Is there a com port somewhere that shows what the ROM is doing?