Because of the holidays, TI E2E™ design support forum responses will be delayed from Dec. 25 through Jan. 2. Thank you for your patience.

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.

[FAQ] CCS/TDA4VM: Custom TDA4VM Boot stuck at A72 SPL: "spl: mmc init failed with error: - 110"

Part Number: TDA4VM

Tool/software: Code Composer Studio

Trying to boot to u-boot prompt using PSDKLA & we see that A72 SPL hangs:

"spl: mmc init failed with error: - 110".

How to fix this and get to u-boot prompt.

  • The j7 boot flow is explained here: https://git.ti.com/gitweb?p=ti-u-boot/ti-u-boot.git;a=blob_plain;f=board/ti/j721e/README;hb=HEAD

    R5 SPL does not support UHS hence issues related to UHS do not occur at the R5 SPL stage.

    The error is because the A72 SPL supports UHS for SD cards. UHS stands for Ultra high speed.
    The UHS feature needs a switch of vqmmc supply voltage from 3.3V to 1.8V. In case the regulators
    are not populated the switch fails and hence the A72 SPL hangs at that stage.

    So we can disable the UHS feature to quickly get to u-boot prompt. By following steps:

    step 1: Make the following changes in the u-boot defconfig:

    diff --git a/configs/j721e_evm_a72_defconfig b/configs/j721e_evm_a72_defconfig
    index fa3d5bc439..a1d5040af8 100644
    --- a/configs/j721e_evm_a72_defconfig
    +++ b/configs/j721e_evm_a72_defconfig
    @@ -110,10 +110,10 @@ CONFIG_K3_SEC_PROXY=y
    CONFIG_MISC=y
    CONFIG_DM_MMC=y
    CONFIG_SUPPORT_EMMC_BOOT=y
    -CONFIG_MMC_IO_VOLTAGE=y
    -CONFIG_SPL_MMC_IO_VOLTAGE=y
    -CONFIG_MMC_UHS_SUPPORT=y
    -CONFIG_SPL_MMC_UHS_SUPPORT=y
    +#CONFIG_MMC_IO_VOLTAGE is not set
    +#CONFIG_SPL_MMC_IO_VOLTAGE is not set
    +#CONFIG_MMC_UHS_SUPPORT is not set
    +#CONFIG_SPL_MMC_UHS_SUPPORT is not set
    CONFIG_MMC_HS400_SUPPORT=y
    CONFIG_SPL_MMC_HS400_SUPPORT=y
    CONFIG_MMC_SDHCI=y
    

    Step 2: Make the following changes in u-boot device tree:

    diff --git a/arch/arm/dts/k3-j721e-common-proc-board.dts b/arch/arm/dts/k3-j721e-common-proc-board.dts
    index 15b33309a5..15594d728e 100644
    --- a/arch/arm/dts/k3-j721e-common-proc-board.dts
    +++ b/arch/arm/dts/k3-j721e-common-proc-board.dts
    @@ -162,8 +162,8 @@
            pinctrl-names = "default";
            pinctrl-0 = <&main_mmc1_pins_default>;
            ti,driver-strength-ohm = <50>;
    -       vmmc-supply = <&vdd_mmc1>;
    -       vqmmc-supply = <&vdd_sd_dv_alt>;
    +       no-1-8-v;
    +       sdhci-caps-mask = <0x8000000F 0x0>;
     };
     
    

    step 3: make u-boot

    Step 4: copy the tispl.bin u-boot.img to the boot partition of your SD card.

    This should avoid UHS feature from hanging and get us to u-boot prompt.