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.

AM6441: eMMC boot A/B management

Part Number: AM6441

Tool/software:

Posting on behalf of a custome

In eMMC / SD boot source cases, there is a header that in raw mode, allows specifying a fixed pair of offsets for the boot data (it’s shown as 0x0 / 0x40000000 by default)… that’s good since it allows A/B type management of early boot data.  But how does that work with also presenting the storage partition table to Linux afterwards, which is also expected to exist at 0x0?  These offsets are already offset in the eMMC by a set amount?

  • This customer question is now updated to be:

    Is  the rom able to fall back automatically if the eMMC is configured to allow it, to use boot1 identically if boot0 fails for, eg, signature / hash checks?  If not, then what needs to be done to arrange a fallback?

  • Hello,

    The ROM boots the SBL/SPL from the different interfaces in the following sequence:

    1. Primary boot from Primary Bootmedia
    2. Redundant boot, if supported, from Primary Bootmedia
    3. Backup Bootmedia

    In the case of eMMC primary boot, the ROM only supports redundant boot from offset 0x400000 for UDA RAW bootmode. The ROM also does not support booting from the Boot1 partition if booting from the Boot0 partition fails.

    Now, if booting Linux OS, the UDA RAW bootmode and therefore redundant boot capability can't be leveraged because the partition table would need to be at offset 0x0 of UDA.

    In short, if booting Linux OS, leveraging redundant boot for eMMC is really not possible. However, the customer can still leverage the Backup Bootmedia.

    Taking into account all of the above, following are the different options:

    1) eMMC Alternate (Boot0 or Boot1 partition)

    • Primary boot => 0x0 offset of either Boot0 or Boot1 partition as configured in the EXTCSD register of eMMC.
    • Redundant boot => Not possible.
    • Backup boot => Can be anything according to the backup bootmodes supported as listed in the TRM.

    2) eMMC UDA RAW

    • Primary boot => 0x0 offset but not possible if booting OS which requires partition table at 0x0 offset.
    • Redundant boot => Possible with careful design. Reserve one partition that covers the offset 0x400000. Use this partition as RAW partition for flashing SBL/SPL at 0x400000.
    • Backup boot => Can be anything according to the backup bootmodes supported as listed in the TRM.

    3) eMMC UDA FS

    • Primary boot => tiboot3.bin image in the FAT partition
    • Redundant boot => Not possible
    • Backup boot => Can be anything according to the backup bootmodes supported as listed in the TRM.

    Regards,

    Prashant

  • Thanks, Prashant!