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.

AM6548: Booting AM6548 IDK board from eMMC

Part Number: AM6548

Hi,

    I want to boot the AM6548 IDK board from eMMC . under eMMC I can see 4 partitions on eMMC as below.

I am using SDK 7.0.1.6 and Silicon Rev 2 chip

brw------- 1 root root 179, 0 Dec 31 1969 /dev/mmcblk0
brw------- 1 root root 179, 32 Dec 31 1969 /dev/mmcblk0boot0
brw------- 1 root root 179, 64 Dec 31 1969 /dev/mmcblk0boot1
crw------- 1 root root 240, 0 Dec 31 1969 /dev/mmcblk0rpmb

On which partition I can keep the uboot and other bsp binaries do let mw know.

Thanks,

Sarfaraz

  • Hi Sarfaraz,

    What you have listed are not GPT partitions. They are block devices of eMMC.
    There are two boot modes with in eMMC and both of these boot modes have different BOOTMODE pin settings.

    -1-
    You can partition the mmcblk0 to have similar partition table as SD card (a boot partition and rootfs partition) and copy the files to these partitions. This method is booting from UDA partition of eMMC.

    -2-
    Another boot method of eMMC is to boot from the boot0 partition, for this boot mode boot related binaries are flashed to boot0 partition in raw mode.
    https://software-dl.ti.com/processor-sdk-linux/esd/AM65X/latest/exports/docs/linux/Foundational_Components_U-Boot.html#booting-tiboot3-bin-tispl-bin-and-u-boot-img-from-emmc-boot-partition


    Regards,
    Vishal

  • Do we need to make any switch changes to boot IDK directly from eMMC and also do we need to make any changes in u-boot configuration. 

    I partitioned the /dev/mmcblk0 device similar to SD card partition 1 for uboot and 1 for rootfs but the board is not automatically booting from eMMC.

    New partitions in eMMC are as follows.

    mmcblk0 179:0 0 29.7G 0 disk
    |-mmcblk0p1 179:1 0 62M 0 part
    `-mmcblk0p2 179:2 0 29.6G 0 part
    mmcblk0boot0 179:32 0 31.5M 1 disk
    mmcblk0boot1 179:64 0 31.5M 1 disk

    Do I need to make any additional changes here ?

    Thanks,

    Sarfaraz

  • Hi Sarfaraz,

    Yes, DIP switch changes are needed to choose booting from eMMC UDA partition.
    No changes are needed in u-boot. 

    Regards,
    Vishal

  • You can check the BOOTMODE DIP switch settings in the EVM userguide.
    www.ti.com/.../spruim7.pdf

  • Thanks Vishal for the help, I changed the pins and tried to boot from eMMC. I created same partition for eMMC like that in SD card. I am able to load the u-boot but the linux kernel is not loading after that. I used default u-boot command to load the kernel. I used "boot" command in u-boot to load the kernel.

    But getting the below error.

    => boot
    SD/MMC found on device 1
    libfdt fdt_check_header(): FDT_ERR_BADMAGIC
    No FDT memory address configured. Please configure
    the FDT address via "fdt addr <address>" command.
    Aborting!
    Bad Linux ARM64 Image magic!
    

    as there is no sd card in the system, don't know why the uboot is still searching for the device 1. after running the ls command in uboot I found that all the files are correctly present in eMMC partition 0 and partition 1.

    => ls mmc 0:1
       266074   sysfw-am65x-evm.itb
       266078   sysfw-am65x_sr2-evm.itb
       266078   sysfw.itb
       141573   tiboot3.bin
       611812   tispl.bin
      1001592   u-boot.img
         1011   uEnv.txt
           15   version
    
    8 file(s), 0 dir(s)
    
    => ls mmc 0:2
    <DIR>       4096 .
    <DIR>       4096 ..
    <DIR>      16384 lost+found
    <DIR>       4096 bin
    <DIR>       4096 boot
    <DIR>       4096 dev
    <DIR>       4096 eds
    <DIR>       4096 etc
    <SYM>         11 flash
    <DIR>       4096 initlo
    <DIR>      12288 lib
    <SYM>          3 lib32
    <SYM>          3 lib64
    <DIR>       4096 libexec
                3722 linuxrc
    <DIR>       4096 mcl
    <DIR>       4096 proc
    <DIR>       4096 ro
    <DIR>       4096 run
    <DIR>       4096 sbin
    <DIR>       4096 share
    <DIR>       4096 sys
    <DIR>       4096 tmp
    <DIR>       4096 usr
    <DIR>       4096 var
    <DIR>       4096 www
    

    Are we missing any important step here ? With this same folder structure we were able to boot from SD card but eMMC is throwing errors.

    TIA.

  • On u-boot console, can you try changing below two environment variables and test?

    1) Do below commands in u-boot console.

    => setenv mmcdev 0
    => setenv bootpart 0:2
    => env save

    2) Reboot and test

  • Yes Vishal After using "setenv bootpart 0:2" I was able to boot from eMMC. Thanks for your help.