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: OSPI0 flash cannot boot up.

Part Number: TDA4VM

Hello,

we are developing a custom platform with a main TDA4 SoC.

Processor SDK version: ti-processor-sdk-linux-j7-evm-08_06_01_02.

We are using the NOR FLASH model GD25LX512ME, but it cannot start up. The error log is as follows:


U-Boot SPL 2021.01-00001-g256d506167-dirty (Dec 02 2023 - 16:10:08 +0800)
Model: Texas Instruments J721E SK A72-2
--++//->EEPROM not available at 0x57, trying to read at 0x58
Reading on-board EEPROM at 0x58 failed 1
Board: J721EX-PM1-SOM rev E2
SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.3--v08.06.03 (Chill Capybar')
--++//->EEPROM not available at 0x57, trying to read at 0x58
Reading on-board EEPROM at 0x58 failed 1
Trying to boot from SPI
Loading rproc fw image from device 3 not supported!
Starting ATF on ARM64 core...

ti_sci dmsc@44083000: ti_sci_get_response: Message receive failed. ret = -110
ti_sci dmsc@44083000: Message not acknowledgedFailed to put device 262 (-19)

resetting ...
ti_sci dmsc@44083000: ti_sci_get_response: Message receive failed. ret = -110
ti_sci dmsc@44083000: Message not acknowledgedti-sci-sysreset sysreset-controller: ti_sci_sysreset_request: reboot_device failed (-19)
ti_sci dmsc@44083000: ti_sci_get_response: Message receive failed. ret = -110
ti_sci dmsc@44083000: Message not acknowledgedti-sci-sysreset sysreset-controller: ti_sci_sysreset_request: reboot_device failed (-19)
ti_sci dmsc@44083000: ti_sci_get_response: Message receive failed. ret = -110
ti_sci dmsc@44083000: Message not acknowledgedti-sci-sysreset sysreset-controller: ti_sci_sysreset_request: reboot_device failed (-19)
System reset not supported on this platform
### ERROR ### Please RESET the board ###

Hardware schematic diagram:

  • Hi,

    Typically based on the flash part used we need to make custom changes in the U-Boot for booting from SPI.

    Can you share the custom changes that you have done for the flash part?

    Best Regards,

    Keerthy 

  • Hello,

            In the header file definition of include/configs/j721e_evm.h,

    #define CONFIG_SPI_FLASH_GIGADEVICE 1
           In the definition of drivers/mtd/spi/spi-nor-ids.c file, define the flash ID
    {
    INFO("gd25lx512me", 0xc8681a, 0, 64 * 1024, 1024,
    SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ |
    SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB)
    },
    No other files have been modified besides this. Because I couldn't find the documentation to configure a new flash boot.
    Please assist me in how to modify it, thank!
  • I will check with our internal team and get back.

    Best Regards,

    Keerthy 

  • Hi,

    If you have debugger can you check if the ATF is loaded on to a72? Is it executing from 0x70000000 address?

    Did you build ATF on your own?

    Best Regards,

    Keerthy 

  • Hello,

           I made and made install images directly in the  "ti-processor-sdk-linux-j7-evm-08_06_01_02"  directory.
           Then I used this constructed image, and EMMC, SD, and QSPI (model: w25q128) can all boot up normally. But OSPI (model: gd25lx512me) cannot start properly, so I think it should be a configuration issue.
          How to check if ATF is loaded onto A72? I have no idea.
          How should we do it?

  • Hi,

    You will have to use debugger CCS to connect to A72 and check if it is executing from 0x70000000 address.

    - Keerthy

  • Hello,

    I can't understand this approach? CCS debugging did not show any abnormalities.
    Because the same images tiboot3. bin, tispl. bin, u boot. img, and sysfw.itb can start normally in EMMC, SD, and QSPI FLASH. Why?

  • Hi,

    By mistake I clicked resolved. Same image if ospi is not getting read properly by tiboot3.bin then tispl.bin loading is probably failing. So I want to check if ATF load is fine.

    Let me know.

    Best Regards,

    Keerthy 

  • Hi Keerthy 

        Sorry, currently I don't have the CCS debugger on hand, so I can't analyze whether the image is loading properly.
    Further analysis reveals that if I use the default compiled tiboot3. bin image from the SDK in the /ti-processor-sdk-linux-j7-evm-08_06_01_02/board-support/prebuilt-images/boot-j7-evm.tar.gz directory, I will not report the above error, while the tiboot3. bin image I compiled myself will report an error: “Loading rproc fw image from device 3 not supported!”, unable to start properly. Why is this?
    So how should I troubleshoot the problem?
    Thank you.

  • Hi Zou,

    Further analysis reveals that if I use the default compiled tiboot3. bin i

    You mean the prebuilt-binareis/tibott3.bin?


    From where are you copying the tiboot3.bn that you have built. Can you share the command?

    - Keerthy

  • Hi Keerthy ,

         Yes,board-support/prebuilt-images/tibott3.bin can start normally.
    However, I encountered an exception when constructing and processing the bin using the make&&make install command in SDK.
    I copied it from board-support/built-images/tibott3.bin.
    The following are logs of two different bin startup.

    prebuilt-images/tibott3.bin:

    built-images/tibott3.bin

  • Hi Keerthy ,

         The previous message, "tibott3. bin" is "tiboot3. bin".

  • Hello,

    Please compare the size of working and  non-working images. Please share the sizes of each binary.

    - Keerthy

  • Hi Keerthy ,

    working images:(board-support/prebuilt-images/)

    [gy@gy-pc boot-j7-evm-working]$ ls -alh
    总用量 2.8M
    drwxrwxr-x 2 gy gy   77 12月 18 09:16 .
    drwxrwxr-x 3 gy gy  223 12月 18 09:17 ..
    -rw-r--r-- 1 gy gy 263K 12月 18 09:16 sysfw.itb
    -rw-r--r-- 1 gy gy 286K 12月 18 09:16 tiboot3.bin
    -rw-r--r-- 1 gy gy 1.1M 12月 18 09:16 tispl.bin
    -rw-r--r-- 1 gy gy 1.3M 12月 18 09:16 u-boot.img
    [gy@gy-pc boot-j7-evm-working]$

    boot-j7-evm-working.tar.gz

    non-working images:(board-support/built-images/)

    [gy@gy-pc boot-j7-evm-no-working]$ ls -alh
    总用量 2.8M
    drwxrwxr-x 2 gy gy 77 12月 18 09:18 .
    drwxrwxr-x 3 gy gy 4.0K 12月 18 09:18 ..
    -rw-rw-r-- 1 gy gy 263K 12月 18 09:18 sysfw.itb
    -rw-rw-r-- 1 gy gy 288K 12月 18 09:18 tiboot3.bin
    -rw-rw-r-- 1 gy gy 1.1M 12月 18 09:18 tispl.bin
    -rw-rw-r-- 1 gy gy 1.3M 12月 18 09:18 u-boot.img

    [gy@gy-pc boot-j7-evm-no-working]$

    boot-j7-evm-no-working.tar.gz

  • Hi,

    Can you try to couple of more experiments to isolate which binary fails:

    • All non-working binaries & only replace the working tiboot3.bin with non-working.
    • All non-working binaries & only replace the working tispl.bin with non-working.

    Let me know which binary is faulty. It is most likely tispl.bin.

    - Keerthy

  • Hi,

    I conducted the following experiments:

    1."All non-working binaries & only replace the working tiboot3.bin with non-working."
    ----------------->Can start normally.

    2."All non-working binaries & only replace the working tispl.bin with non-working."
    ----------------->Cannot start normally.

    It can be confirmed that the problem is caused by the image of tiboot3. bin.

  • Hi,

    Processor SDK version: ti-processor-sdk-linux-j7-evm-08_06_01_02.

    Ideally the pre-built images are the ones that are compiled with SDK 8.06 source code. Have you changed any code change in U-Boot on top of default SDK 8.6 code?
    If yes please revert the change. Re-build the SDK & try to boot with built tiboot3.bin.

    - Keerthy

  • Hi,
      Yes, I modified the uboot code.
    But I only modified one file by adding flash ID: "drivers/mtd/spi/spi-nor-ids.c"

    Fullscreen
    1
    2
    3
    4
    5
    {
    INFO("gd25lx512me", 0xc8681a, 0, 64 * 1024, 1024,
    SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ |
    SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB)
    },
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    Because I didn't make any changes, I couldn't recognize the flash. The log is as follows:

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    U-Boot SPL 2021.01-dirty (Dec 19 2023 - 10:06:51 +0800)
    Model: Texas Instruments K3 J721E SoC
    EEPROM not available at 0x50, trying to read at 0x51
    Reading on-board EEPROM at 0x51 failed 1
    Board: J721EX-PM1-SOM rev E2
    SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.3--v08.06.03 (Chill Capybar')
    EEPROM not available at 0x50, trying to read at 0x51
    Reading on-board EEPROM at 0x51 failed 1
    Trying to boot from SPI
    jedec_spi_nor flash@0: unrecognized JEDEC id bytes: c8, 68, 1a
    SPI probe failed.
    SPL: failed to boot from all boot devices
    ### ERROR ### Please RESET the board ###
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    If I add a flash ID, I won't be able to start.

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    U-Boot SPL 2021.01-dirty (Dec 19 2023 - 10:12:31 +0800)
    Model: Texas Instruments K3 J721E SoC
    EEPROM not available at 0x50, trying to read at 0x51
    Reading on-board EEPROM at 0x51 failed 1
    Board: J721EX-PM1-SOM rev E2
    SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.3--v08.06.03 (Chill Capybar')
    EEPROM not available at 0x50, trying to read at 0x51
    Reading on-board EEPROM at 0x51 failed 1
    Trying to boot from SPI
    Loading rproc fw image from device 3 not supported!
    Starting ATF on ARM64 core...
    ti_sci dmsc@44083000: ti_sci_get_response: Message receive failed. ret = -110
    ti_sci dmsc@44083000: Message not acknowledgedFailed to put device 262 (-19)
    resetting ...
    ti_sci dmsc@44083000: ti_sci_get_response: Message receive failed. ret = -110
    ti_sci dmsc@44083000: Message not acknowledgedti-sci-sysreset sysreset-controller: ti_sci_sysreset_request: reboot_device failed (-19)
    ti_sci dmsc@44083000: ti_sci_get_response: Message receive failed. ret = -110
    ti_sci dmsc@44083000: Message not acknowledgedti-sci-sysreset sysreset-controller: ti_sci_sysreset_request: reboot_device failed (-19)
    ti_sci dmsc@44083000: ti_sci_get_response: Message receive failed. ret = -110
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

  • Hi,

    It is a bit weird that the pre-built images that are built using the default SDK works for you and not the ones that you are building.

    The pre-built images also will not have the changes that you have made on top of the SDK.

    Regards,

    Keerthy 

  • Hi

    Sorry, I didn't describe it clearly.


    Because we have two hardware PCB boards.
    The flash on the OSPI of the first board is s28hs512t.
    The flash on the OSPI of the second board is gd25lx512me.


    At first, the OSPI of both boards couldn't start properly, so I rolled back all the modifications made to uboot, and then,I only modified one file by adding flash ID: "drivers/mtd/spi/spi-nor-ids.c"

        {
            INFO("gd25lx512me", 0xc8681a, 0, 64 * 1024, 1024,
                SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ |
                SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB)
        },


    Now:
    The first board (flash: s28hs512t) can start up normally.
    The second board (false: gd25lx512met) cannot start properly.

    Currently, it can be confirmed that there is an issue with tiboot.bin.

  • Hi,

    The first board (flash: s28hs512t) can start up normally.

    This boots with both pre-built and the images that you are building. Is my understanding correct?

    The second board (false: gd25lx512met) cannot start properly.

    This does not boot with either pre-build or the images that you built?

    - Keerthy

  • Hi

    This boots with both pre-built and the images that you are building. Is my understanding correct?

    Yes.

    This does not boot with either pre-build or the images that you built?

    Yes.

    So, I don't know where the problem is, can you continue to help me check where the problem lies? Thank you.

  • Hi,

    There are generic guidelines in the FAQ while trying a new flash part: https://e2e.ti.com/support/processors/f/791/t/946418

    Please check it out.

    - Keerthy

  • Hi,

    I have confirmed with the GigaDevice flash manufacturer that this flash(gd25lx512met) supports the above requirements.

    But the problem now is that it cannot start up properly, why is that? How should I do it?

    Here is the manual for this flash chip:

    GD25LX512ME-Rev1.0_Automotive.pdf

  • https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1299008/tda4vm-ospi0-flash-cannot-boot-up/4938495#4938495

    Can you try the above suggestion? Good part is that rom code is detecting the flash and loading the tiboot3.bin. The tiboote.bin aka R5 SPL most likely is failing to load the next binaries like ATF for A72.

    Also are you able to flash the images correctly?

    Best Regards,

    Keerthy 

  • Hi ,

    The flash image can be downloaded normally, but the problem still persists.

  • Hello,

    You will need to connect to debugger and check if A72 is loaded. Also please expect delays in response due to Christmas and New year vacations.

    Best Regards,

    Keerthy 

  • Hi

    You will have to use debugger CCS to connect to A72 and check if it is executing from 0x70000000 address.

    I got a CCS debugger, so how should I debug it?