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.

Linux/PROCESSOR-SDK-AM437X: Boot from eMMC boot partition

Part Number: PROCESSOR-SDK-AM437X
Other Parts Discussed in Thread: CSD

Tool/software: Linux

Hello there,

I have a device with AM437x and eMMC flash. If I load u-boot MLO into eMMC user area, the CPU can load MLO and boot without any issues.

Now I want to put the MLO inside the eMMC boot area and let CPU load MLO from there. But so far I have no success. In my understanding, something needs to be configured in both eMMC side and CPU side.

In eMMC side, I enabled BOOT_PARTITION_ENABLE and BOOT_ACK bit in eMMC Extended CSD Register Byte 179. They are non-volatile bits.

Then in CPU side, I got very confused by section "17.3.13 Card Boot Mode Management", page 2582 of TI document AM437x Sitara Processors Technical Reference Manual (Rev. F). It talked about configuring SD_CON[BOOT_CF0], SD_CON[BOOT_ACK] and SD_BLK etc. But in my understanding, SD_CON and SD_BLK registers are all volatile. That is, their value is set back to zero after CPU reset.

How on the earth can user configure them so that AM437x ROM code gets these settings? I would expect these values being set in something like eFuse or some non-volatile area accessible by the AM437x ROM code for eMMC initialization.

TI please help me how to configure AM437x so that it can load MLO from boot area of the eMMC flash.

Many thanks.