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: Change the OSPI1 Flash layout

Part Number: TDA4VM

Hi experts,

I am using SDK 7.1 and setting the boot mode for OSPI1. i have a default flash layout as the User Guide Said:

      0x0 +----------------------------+
          |     ospi.tiboot3(512K)     |
          |                            |
  0x80000 +----------------------------+
          |     ospi.tispl(2M)         |
          |                            |
 0x280000 +----------------------------+
          |     ospi.u-boot(4M)        |
          |                            |
 0x680000 +----------------------------+
          |     ospi.env(128K)         |
          |                            |
 0x6A0000 +----------------------------+
          |   ospi.env.backup (128K)   |
          |                            |
 0x6C0000 +----------------------------+
          |      ospi.sysfw(1M)        |
          |                            |
 0x7C0000 +----------------------------+
          |      padding (256k)        |
 0x800000 +----------------------------+
          |     ospi.rootfs(UBIFS)     |
          |                            |
0x3FE0000 +----------------------------+
          |   ospi.phypattern (128k)   |
          |                            |
          +----------------------------+

New SDK V7.1 bind the MCU1_0's OS in tiboot3.bin , when i get a tiboot3.bin larger then 512K, how to change the layout of the flash?

Thanks,

Hutian

  • Hi Hutian,

    There is an open issue with the OSPI boot in SDK7.1. Please see https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-jacinto7/07_01_00_10/exports/docs/devices/J7/linux/Release_Specific_Release_Notes.html#known-issues-limitations 

    Is there a possibility to use SDK7.0 if you need to use OSPI?

    Regards,

    Karan

  • Hi Karan,

    Our custom board has designed to use OSPI Flash to BOOT, and wants to booting the mcu1_0 and mcu2_0 from the MCU domain's SPL. The SDK7.0 doesn't support loading rproc fw from SPI FLash and you will get the following log from serial port:

    U-Boot SPL 2020.01 (Jan 04 2021 - 19:18:18 +0800)
    SYSFW ABI: 3.0 (firmware rev 0x0014 '20.04.1-v2020.04a (Terrific Lla')
    Trying to boot from SPI
    Loading Environment from MMC... *** Warning - No MMC card found, using default environment

    Loading rproc fw image from device 3 not supported!
    Starting ATF on ARM64 core...

    NOTICE: BL31: v2.3():07.00.00.005-dirty
    NOTICE: BL31: Built : 14:33:55, Jun 17 2020

    U-Boot SPL 2020.01 (Jan 04 2021 - 19:21:57 +0800)
    SYSFW ABI: 3.0 (firmware rev 0x0014 '20.04.1-v2020.04a (Terrific Lla')
    Trying to boot from SPI

    I want to know whether exists a workaround for the OSPI issue?

    Thanks,

    hutian

  • Hi Hutian,

    Loading firmwares from OSPI is not supported from R5 SPL, but I believe you can try to load them from u-boot. Can you please take a look at https://e2e.ti.com/support/processors/f/791/p/941650/3489991#3489991 ?

    Also, this is a separate discussion from the original question posted, can you please create another e2e for it.

    Regards,

    Karan

  • Hi Karan,

    Thank for your advice, but there is another question:

    i need to disable the SPL in A72 to loading mcu1_0's OS firstly then i can load them at u-boot stage.

    i try to disable it by the following strategy, but failed:

    at "ti-processor-sdk-linux-j7-evm-07_01_00_10/Makefile"

    #UBOOT_DM=$(TI_SDK_PATH)/board-support/prebuilt-images/ipc_echo_testb_mcu1_0_release_strip.xer5f

    321 u-boot-a72:
    322 @echo ===================================
    323 @echo Building U-boot for A72
    324 @echo ===================================
    325 $(MAKE) -j $(MAKE_JOBS) -C $(TI_SDK_PATH)/board-support/u-boot-* CROSS_COMPILE=$(CROSS_COMPILE) \
    326 $(UBOOT_MACHINE) O=$(UBOOT_A72_BUILD_DIR)
    327 $(MAKE) -j $(MAKE_JOBS) -C $(TI_SDK_PATH)/board-support/u-boot-* CROSS_COMPILE=$(CROSS_COMPILE) \
    328 CONFIG_MKIMAGE_DTC_PATH=$(UBOOT_A72_BUILD_DIR)/scripts/dtc/dtc \
    329 ATF=$(UBOOT_ATF) TEE=$(UBOOT_TEE) DM=$(UBOOT_DM) \
    330 O=$(UBOOT_A72_BUILD_DIR)

    and get the failed log:

    NOTICE: BL31: v2.3():07.01.00.004-1-g52c334fc3-dirty
    NOTICE: BL31: Built : 18:17:14, Nov 19 2020
    ti_sci_get_response: Message receive failed. ret = -110
    Mbox send fail -110
    Failed to get device 202 (-110)

    resetting ...
    ti_sci_get_response: Message receive failed. ret = -110
    Mbox send fail -110
    ti_sci_sysreset_request: reboot_device failed (-110)
    ti_sci_get_response: Message receive failed. ret = -110
    Mbox send fail -110
    ti_sci_sysreset_request: reboot_device failed (-110)

    Could you help me to disable it ?

    Thanks,

    Hutian

  • Hutian,

    You could just rename firmware name, so that SPL does not load it.

    Regards,

    Brijesh

  • Hi Brijesh,

    Rename the mcu os will be still failed.

    ti_sci_get_response: Message receive failed. ret = -110
    Mbox send fail -110
    Failed to get device 202 (-110)

    resetting ...
    ti_sci_get_response: Message receive failed. ret = -110

    Could you check it under SDK 7.1 at your side?

    Thanks,

    Hutian

  • Hi Hutian,

    This seems some different error, If you remove all firmwares from /lib/firmware folder, does this error come from uboot? Wondering if this is coming due to firmware loading. 

    Regards,

    Brijesh

  • HI Brijesh,

    i can stop at the u-boot comand line , but if i try to load mcu1_0's OS, i get the following error:

    => rproc init
    Remote Processors are already initialized
    => load mmc 1 0x90000000 j7-mcu-r5f0_0-fw
    257112 bytes read in 15 ms (16.3 MiB/s)

    => rproc load 0 0x90000000 0x3EC58

    Invalid op: Trying to load/start on already running core 1
    Load Remote Processor 0 with data@addr=0x90000000 257112 bytes: Failed!

    Thanks,

    Hutian

  • Hi Hutian,

    Can you change name of the file j7-mcu-r5f0_0-fw in /lib/firmware and then try loading from uboot? 

    Regards,

    Brijesh