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.

AM625: u-boot failed to boot when flashed in eMMC

Part Number: AM625

Tool/software:

Hello,

I build u-boot following the manual : https://software-dl.ti.com/processor-sdk-linux/esd/AM62X/10_00_07_04/exports/docs/linux/Foundational_Components/U-Boot/UG-General-Info.html#build-u-boot

I use a custom board based on the AM62x SK EVM design, this booard works fine with SDK 09.02 witht u-boot in eMMC.
I used the configuration am62x_evm_r5_ethboot_defconfig and
am62x_evm_a53_ethboot_defconfig.
I put the files tiboot3.bin, tispl.bin and u-boot.img in the tft server directory, and boot linux using nfs.
This is working fine.

But when the 3 files are copied in the partition mmcblk0boot0 partition it is not booting.
I also try to use the default configuration am62x_evm_r5_defconfig and
am62x_evm_a53_defconfig, and flashing it in mmcblk0boot0, but the result is the same.
The u-boot console doesn't print any log showing the boot sequence.

Could you clarify what has change between tisdk 09.02 and tisdk 10.00 that lead to make u-boot not booting in eMMC.

I try the tisdk 10.00.07 wic image download from ti website, but the u-boot failed with the following error:
k3_system_controller sysctrler: k3_sysctrler_start: Boot Notification response failed. ret = -110.
Firmware init failed on rproc (-110)

ressetting ...


It is a critical issue for us, because we need to deliver a working board at the end of the week.
Could you quickly give us a feedback ?

Regards,

Alexis.

  • Hello Prashan,

    As explain before the flashage process is correct because u-boot generated via SDK 09.02 is booting.

    But here is the method I use to flash.

    When

    Linux console:

    1- Set eMMC as writable
    # echo 0 > /sys/block/mmcblk0boot0/force_ro

    2- Copy boot files dd if=tiboot3.bin of=/dev/mmcblk0boot0 seek=0 dd if=tispl.bin of=/dev/mmcblk0boot0 seek=1024 dd if=u-boot.img of=/dev/mmcblk0boot0 seek=5120
    u-boot console:
    => mmc partconf 0 1 1 1
    => mmc bootbus 0 2 0 0
    => mmc rst-function 0 1

    By using the SD Card boot with the
    tisdk 10.00.07 wic image download from ti website I got this error.
    k3_system_controller sysctrler: k3_sysctrler_start: Boot Notification response failed. ret = -110.
    Firmware init failed on rproc (-110)
    I didn't try the same test by flashing this binaries in eMMC boot partition, but I assume the error will be the same.
    Could you clarify what is this error and what kind of issue produce it ?

    Regards,

    Alexis.
  • Hello,

    Could you read my previous messages, I can't loose time to tell things twice.

    The issue is not HSFS, nore eMMC flash, it is only related to the TISDK 10 u-boot version.

    What you have to explain is what kind of changes in ti u-boot that can explain such difference between u-boot of the TiSDK9 and the u-boot from TiSDK 10.

    Thanks for your help.

    Regards,

    Alexis.

  • What you have to explain is what kind of changes in ti u-boot that can explain such difference between u-boot of the TiSDK9 and the u-boot from TiSDK 10.

    There are no changes that could cause this issue.

    If you could share the working & non-working U-Boot images, I can once try & verify them locally.

  • Hi Prashan,

    The tiboot3.bin, tispl.bin, u-boot.img works fine on the AM62x sk EVM board, but not on our custom board.

    I can provide you the files, but you will not see any issue if you run it on the AM62x EVM sk board.

    Is it what you want to do ?

    I didn't encounter any issue when I use the tisdk 9 u-boot image on our board.

    So I suspect that a feature has been enable between the sdk 9 and 10, resulting the error message : "Boot Notification response failed. ret = -110".

    But I would like you confirm or not this point, then I will not investigate it.

    The u-boot file are by default HS-FS so the issue is not related to signature, I followed the manual to flash to flash and build the SDK and u-boot.

    By the way the ethboot is working fine, there is no issue for booting the board.

    What is the difference in the boot flow between ethernet boot and eMMC/SDCard boot ?

    Could you explain what the error message indicates ?

    How could I debug the issue ?

    Thanks for your help.

    Regards,

    Alexis.

     

  • Hi,

    Is it what you want to do ?

    Please share the images just in case I find anything helpful from them.

    resulting the error message : "Boot Notification response failed. ret = -110".

    This error occurs when the R5 SPL does not get the Boot Notification response message from the TIFS. This may happen in case the `tiboot3.bin` is of the incorrect type or the ROM is reading the image incorrectly.

    Assuming the later case, can you once try a different SD card brand?

    What is the difference in the boot flow between ethernet boot and eMMC/SDCard boot ?

    The only difference is in the loading of the image as described in the TRM initialization chapter.

    Thanks,

    Prashant

  • Prashan,

    I prepare the file right now, and send it to you.

    Alexis.

  • u-boot-files.tgz.base64.txt

    Prashan,

    I cant upload file in binary format, so I convert in  base64.

    Use the following commande to get the archive:

    base64 -d u-boot-files.tgz.base64.txt > archive.tgz.

    So I include the tisdk u-boot base files, the ethboot u-boot files that works, and the default config am62x_evm_a53_defconfig manual build.

    Let me know if you see something.

    By the way I test the fil e on different SD card and it is the same.

    The remote proc driver failed, is it mandatory to include it in u-boot ?

    Regards,

    Alexis.

  • Hi Prashan,

    I rebuilt all the u-boot from scratch, and flash it in eMMC, using the same method that before.

    This time the boot is working, I don't understand what was the issue, but it disappeared.

    Could you confirm that a "make clean" of u-boot between the generation of out/r5 and out/a53 it allowed ?

    So I was able to make boot working from eMMC with my 4GB DDR configuration.

    I need to disable the feature fixup of the device tree in u-boot config, because it limit de RAM size to 2GB.

    I will let you know if the issue is permanently fix.

    Thanks for your help.

    Alexis.

  • Hi Alexis,

    That is weird but glad to know it is finally working. Is the SD card boot also working?

    Could you confirm that a "make clean" of u-boot between the generation of out/r5 and out/a53 it allowed ?

    I am not exactly sure what you mean to ask here. But, a clean before build of both r5 and a53 is definitely okay.

    Regards,

    Prashant

  • Hi Prashan,

    Here is my script:

        # R5
        # To build tiboot3.bin. Saved in ${UBOOT_DIR}/out/r5.
        # For AM62X
        make ARCH=arm CROSS_COMPILE=${XCOMPILER_32}- O=${UBOOT_DIR}/out/r5 clean
        make ARCH=arm CROSS_COMPILE=${XCOMPILER_32}- am62x_evm_r5_defconfig O=${UBOOT_DIR}/out/r5
        make ARCH=arm CROSS_COMPILE=${XCOMPILER_32}- O=${UBOOT_DIR}/out/r5 BINMAN_INDIRS=${TI_LINUX_FW_DIR}
        # A53
        # To build tispl.bin and u-boot.img. Saved in ${UBOOT_DIR}/out/a53. Requires bl31.bin, tee-pager_v2.bin
        # For AM62X or AM62SIP
        make ARCH=arm CROSS_COMPILE=${XCOMPILER_64}- clean O=${UBOOT_DIR}/out/a53
        make ARCH=arm CROSS_COMPILE=${XCOMPILER_64}- am62x_evm_a53_defconfig O=${UBOOT_DIR}/out/a53
        make ARCH=arm CROSS_COMPILE=${XCOMPILER_64}- BL31=${TFA_DIR}/build/k3/lite/release/bl31.bin TEE=${OPTEE_DIR}/out/arm-plat-k3/core/tee-pager_v2.bin O=${UBOOT_DIR}/out/a53 BINMAN_INDIRS=${TI_LINUX_FW_DIR}

    I do a clean between R5 and A53 build, is there some intermediare file of the R5 that could be cleaned but used use for the A53 build ?

    By default I moved all the clean at the beginning of the script.

    By the way about the device tree fix up code in u-boot, could you explain why if it is enable then I can't set DDR size to 4GB.

    I need to disable the it to have my 4GB memory size dtbo overlay applied.

    Regards,

    Alexis.