Because of the Thanksgiving holiday in the U.S., TI E2E™ design support forum responses may be delayed from November 25 through December 2. Thank you for your patience.

AM6422: explanation about eMMC boot partition

Part Number: AM6422

Tool/software:

eMMC boot and MMCSD boot can be used to boot AM64x from eMMC.

I would like to know clearly where I should flash binaries in each boot mode.

There are following partitions in eMMC.

brw-rw---- 1 root disk 179, 32 Jan 1 1970 /dev/mmcblk0boot0
brw-rw---- 1 root disk 179, 64 Jan 1 1970 /dev/mmcblk0boot1
brw-rw---- 1 root disk 179, 1 Jan 1 1970 /dev/mmcblk0p1
brw-rw---- 1 root disk 179, 2 Jan 1 1970 /dev/mmcblk0p2
crw------- 1 root root 240, 0 Jan 1 1970 /dev/mmcblk0rpmb

 

In all cases, I should flash rootfs to mmcblk0p2 formatted to ext4.

In eMMC boot mode, I should flash sbl_emmc_linux.tiimage, u-boot.img, linux.appimage to mmcblk0boot0 as raw data.

In MMCSD boot mode, in case of filesystem mode, I should flash tiboot3.bin, tospl.bin, u-boot.img to mmcblk0p1 formatted to FAT32.

In case of raw mode, I should tiboot3.bin, tospl.bin, u-boot.img to mmcblk0boot0 as raw data.

 

My questions are following.

  1. My above understanding is correct?
  2. What is different eMMC boot with MMCSD raw mode?
  3. eMMC boot and MMCSD raw mode can use both SBL and SPL?
  4. Which partition in eMMC mean UDA partition?

 

Best Regards,

Koji

  • Hello,

    The eMMC has three hardware partitions for booting: 1) Boot0, 2) Boot1, and 2) UDA.

    Accordingly, following are the different available eMMC bootmodes:

    1) eMMC Alternate (Boot0 or Boot1 partition)

    • The images are flashed at the defined offsets in the eMMC Boot0 or Boot1 partition.
    • The partition to boot from is configured in the EXTCSD register.
    • The ROM boots the raw image from offset 0x0.
    • SBL supports only booting from Boot0 partition while SPL supports booting from both partitions.
    • Next stage images are booted from their defined offsets.
    • Reference:

    2) eMMC UDA RAW

    • The images are flashed at the defined offsets in the eMMC UDA partition.
    • The ROM boots the raw image from offset 0x0 of this UDA partition.
    • SPL only supports this bootmode.
    • Next stage images are booted from their defined offsets.

    3) eMMC UDA FS

    • The images are present as files in a logical FAT bootable partition of the eMMC UDA partition.
    • The ROM boots the image named `tiboot3.bin` from this FAT partition.
    • SPL only supports this bootmode.
    • Next stage images are booted from their defined names (tispl.bin & u-boot.img).

    Regards,

    Prashant

  • Thank you Prashant,

    When eMMC partitions are shown like following, you mean UDA partition is mmcblk0p1?

    brw-rw---- 1 root disk 179, 32 Jan 1 1970 /dev/mmcblk0boot0
    brw-rw---- 1 root disk 179, 64 Jan 1 1970 /dev/mmcblk0boot1
    brw-rw---- 1 root disk 179, 1 Jan 1 1970 /dev/mmcblk0p1
    brw-rw---- 1 root disk 179, 2 Jan 1 1970 /dev/mmcblk0p2
    crw------- 1 root root 240, 0 Jan 1 1970 /dev/mmcblk0rpmb

     

    Best Regards,

    Koji

  • When eMMC partitions are shown like following, you mean UDA partition is mmcblk0p1?

    No.

    The `mmcblk0boot0`, `mmcblk0boot1`, and `mmcblk0` are the Boot0, Boot1, and UDA hardware partitions respectively.

    The `mmcblk0p1`, `mmcblk0p2`, ..., `mmcblk0p<n>` are just logical partitions managed by a partition table inside the UDA hardware partition.

  • Hi Prashant,

    In case of using eMMC UDA RAW, how do I flash rootfs?

    Is it necessary to format UDA as raw and ext4 partitions by fdisk?

     

    Best Regards,

    Koji

  • Hi,

    In case of using eMMC UDA RAW, how do I flash rootfs?

    If you are booting Linux then the eMMC UDA RAW bootmode cannot be leveraged as the MBR/GPT partition table needs to be at 0x0 offset which conflicts with the offset at which ROM expects the image to boot.

    Please see: e2e.ti.com/.../5443877