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.

TDA4VM: Why emmc boot does not take effect?

Part Number: TDA4VM


my disk partition is:

mmcblk0 179:0 0 14.8G 0 disk
|-mmcblk0p1 179:1 0 128M 0 part /run/media/mmcblk0p1
`-mmcblk0p2 179:2 0 14.7G 0 part /run/media/mmcblk0p2
mmcblk0boot0 179:32 0 31.5M 1 disk
mmcblk0boot1 179:64 0 31.5M 1 disk
mmcblk1 179:96 0 59.5G 0 disk
|-mmcblk1p1 179:97 0 128M 0 part /run/media/mmcblk1p1
`-mmcblk1p2 179:98 0 59.4G 0 part /

I copy the boot content from /run/media/mmcblk1p1 to /run/media/mmcblk0p1,

set the bootenv:

mmc partconf 0 1 1 1

mmc bootbus 0 2 0 0

setenv mmcdev 0

setenv bootpart 0:2

saveenv

and set boot mode to:

emmc(boot0) sw8 1000_0000 sw9 0100_0000

or emmc(user) sw8 1000_0000 sw9 0000_0000

 

But i cannot see the uart output. How to make it boot from emmc? And what's mmcblk0boot0? Maybe i should write boot content to it?

  • Hi,

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/886980/faq-processor-sdk-dra8x-tda4x-boot-uboot-from-emmc

    Please follow the above FAQ. You need to burn the bootloader images to eMMC boot partition.

    Best Regards,
    Keerthy

  • I boot from emmc,but it print:

    MMC: no card present
    mmc_init: -123, time 2002
    SD/MMC found on device 1
    MMC: no card present
    mmc_init: -123, time 2002
    MMC: no card present
    mmc_init: -123, time 2002
    MMC: no card present
    mmc_init: -123, time 2002
    MMC: no card present
    mmc_init: -123, time 2002
    MMC: no card present
    mmc_init: -123, time 2002
    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!

    and entered to uboot mode,then i set again:

    set bootpart 0:2
    set mmcdev 0
    saveenv
    boot

    It can enter the filesystem,but the next reboot it still occur this scene.

  • the setting output:

    => set bootpart 0:2
    => set mmcdev 0
    => saveenv
    Saving Environment to FAT... MMC: no card present
    mmc_init: -123, time 2002
    Failed (1)

  • Hi,

    That is because I assume you have not inserted the SD card & by default the environment is configured to be saved in MMD-SD.

    If you want to save the environment in eMMC:

    In the U-Boot repo:

    File: configs/j721e_evm_a72_defconfig


    @@ -80,10 +80,11 @@ CONFIG_OF_LIST="k3-j721e-common-proc-board k3-j721e-tps65917-proc-board k3-j721e
     CONFIG_SPL_MULTI_DTB_FIT=y
     CONFIG_SPL_MULTI_DTB_FIT_NO_COMPRESSION=y
     CONFIG_ENV_OVERWRITE=y
    +CONFIG_ENV_IS_IN_MMC=y
     CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
     CONFIG_SYS_RELOC_GD_ENV_ADDR=y
    +CONFIG_SYS_MMC_ENV_PART=1
    -CONFIG_ENV_IS_NOWHERE=y
    -CONFIG_ENV_IS_IN_FAT=y
    -CONFIG_ENV_FAT_DEVICE_AND_PART="1:1"
     CONFIG_NET_RANDOM_ETHADDR=y
     CONFIG_DM=y
     CONFIG_SPL_DM=y
    diff --git a/configs/j721e_evm_r5_defconfig b/configs/j721e_evm_r5_defconfig
    index 01dadb98bf..f6620698dd 100644
    --- a/configs/j721e_evm_r5_defconfig
    +++ b/configs/j721e_evm_r5_defconfig
    @@ -68,6 +68,7 @@ CONFIG_SPL_MULTI_DTB_FIT=y
     CONFIG_SPL_OF_LIST="k3-j721e-r5-common-proc-board k3-j721e-r5-eaik"
     CONFIG_SPL_MULTI_DTB_FIT_NO_COMPRESSION=y
     CONFIG_ENV_OVERWRITE=y
    -CONFIG_ENV_IS_NOWHERE=y
     CONFIG_SYS_RELOC_GD_ENV_ADDR=y
     CONFIG_DM=y
     CONFIG_SPL_DM=y

    Try the above diff. Basically changing from MMC to eMMC.

    - Keerthy

  • I leave sd card plug in. It can reboot success. I tried the diff codes following "docs/linux/Foundational_Components/U-Boot/UG-General-Info.html",build the GP option,but missing tispl.bin from <output directory>/a72. How to build tispl.bin?

  • I leave sd card plug in. It can reboot success

    Yes that is as explained earlier. The environment gets saved in the SD card. Now if you want to save that to eMMC the above changes should help.

    Did you try the command 'make u-boot' from the $PSDK_Install directory. That takes care of building all the required boot images including tispl.bin.

    - Keerthy