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] TDA4VM: OSPI boot: TISCI config ring fail error with SDK 7.3

Part Number: TDA4VM

Hi,

OSPI boot with SDK 7.3 is functional but before getting to u-boot prompt we encounter a lot of error messages.

TISCI config ring fail (-19) ring_idx 6

TISCI config ring fail (-19) ring_idx 124

TISCI config ring fail (-19) ring_idx 6

TISCI config ring fail (-19) ring_idx 124

How to fix the above erros?

Best Regards,
Keerthy

  • Hi,

    Post HSM Re-architecture i.e from SDK 7.1 onwards, all messages sent via Device manager to TIFS channel would need to use
    a non secure host ID in hdr->host. Therefore switch to using non secure host ID of MCU R50 in R5 SPL.

    Fix DMA/ring related error seen during OSPI boot on J721e/J7200 using the below patch:

    3005.0001-firmware-ti-sci-Use-non-secure-host-ID-for-RM-reques.patch.txt
    From 3710b33012cec1ed4ddf9a666f1b14408ece8962 Mon Sep 17 00:00:00 2001
    From: Vignesh Raghavendra <vigneshr@ti.com>
    Date: Thu, 15 Apr 2021 21:23:58 +0530
    Subject: [PATCH] firmware: ti-sci: Use non secure host ID
     for RM requests in R5 SPL
    
    Post HSM Rearch, all messages sent via DM2TIFS channel would need to use
    a non secure host ID in hdr->host. Therefore switch to using non secure
    host ID of MCU R50 in R5 SPL.
    
    Fix DMA/ring related error seen during OSPI boot on J721e/J7200.
    
    Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
    ---
     arch/arm/dts/k3-j7200-r5-common-proc-board.dts | 2 +-
     arch/arm/dts/k3-j721e-r5-common-proc-board.dts | 2 +-
     drivers/firmware/ti_sci.c                      | 8 +++++---
     3 files changed, 7 insertions(+), 5 deletions(-)
    
    diff --git a/arch/arm/dts/k3-j7200-r5-common-proc-board.dts b/arch/arm/dts/k3-j7200-r5-common-proc-board.dts
    index d452e94a7b..9e3ee42a6e 100644
    --- a/arch/arm/dts/k3-j7200-r5-common-proc-board.dts
    +++ b/arch/arm/dts/k3-j7200-r5-common-proc-board.dts
    @@ -93,7 +93,7 @@
     		<&mcu_secproxy 23>, <&mcu_secproxy 21>;
     	mbox-names = "tx", "rx", "notify", "dm-tx", "dm-rx";
     	ti,host-id = <4>;
    -	ti,dm-host-id = <250>;
    +	ti,dm-host-id = <3>;
     	ti,secure-host;
     };
     
    diff --git a/arch/arm/dts/k3-j721e-r5-common-proc-board.dts b/arch/arm/dts/k3-j721e-r5-common-proc-board.dts
    index a0c7268cf9..37654c9b20 100644
    --- a/arch/arm/dts/k3-j721e-r5-common-proc-board.dts
    +++ b/arch/arm/dts/k3-j721e-r5-common-proc-board.dts
    @@ -182,7 +182,7 @@
     		<&mcu_secproxy 23>, <&mcu_secproxy 21>;
     	mbox-names = "tx", "rx", "notify", "dm-tx", "dm-rx";
     	ti,host-id = <4>;
    -	ti,dm-host-id = <250>;
    +	ti,dm-host-id = <3>;
     	ti,secure-host;
     };
     
    diff --git a/drivers/firmware/ti_sci.c b/drivers/firmware/ti_sci.c
    index 1c29501309..55e2ebd83a 100644
    --- a/drivers/firmware/ti_sci.c
    +++ b/drivers/firmware/ti_sci.c
    @@ -158,11 +158,13 @@ static struct ti_sci_xfer *ti_sci_setup_one_xfer(struct ti_sci_info *info,
     
     	hdr = (struct ti_sci_msg_hdr *)buf;
     	hdr->type = msg_type;
    -	hdr->host = info->host_id;
    -	if (use_dm_queue)
    +	if (use_dm_queue) {
     		hdr->seq = info->dm_seq;
    -	else
    +		hdr->host = info->dm_host_id;
    +	} else {
     		hdr->seq = info->seq;
    +		hdr->host = info->host_id;
    +	}
     	hdr->flags = msg_flags;
     
     	return xfer;
    -- 
    2.31.1
    
    

    The above patch is applicable only to SDK 7.3.

    Steps to apply the above patch to u-boot and build:

    cd $SDK_DIR/board-support/u-boot-2020.01+gitAUTOINC+2781231a33-g2781231a33
    git am 0001-firmware-ti-sci-Use-non-secure-host-ID-for-RM-reques.patch.txt
    cd ../..
    make u-boot
    cp board-support/u-boot_build/a72/u-boot.img board-support/u-boot_build/a72/tispl.bin board-support/u-boot_build/r5/tiboot3.bin /media/$USER/boot


    Boot with SD card with the above images and we should see that the tisci errors go away.

    In case you are observing the below error:

    WARN: PHY calibration failed: -2
    That is totally unrelated to the tisci fix mentioned above & you need to flash the OSPI calibration pattern using the steps beow:

    Download the zipped flashing pattern binary here: 3835.nor_spi_patterns.zip

    Copy the unzipped nor_spi_patterns.bin file to boot partition of SD Card. Once you boot to u-boot prompt:

    For J721e

    sf probe
    fatload mmc 1 $loadaddr nor_spi_patterns.bin
    sf update $loadaddr 0x3fe0000 $filesize

    For J7200:

    sf probe
    fatload mmc 1 $loadaddr nor_spi_patterns.bin
    sf update $loadaddr 0x3fc0000 $filesize

    The above should burn the calibration pattern to the appropriate address. Reboot and you should see that phy calibration failed error is fixed.

    Best Regards,
    Keerthy

  • hi

    WARN: PHY calibration failed: -2

    The above issue still exist when flash the OSPI calibration pattern file to  ospi flash. I use SPL guide.

  • Hello Wang Liu,

    For j7200 the offset is different 0x3fc0000 for flashing the nor_spi_patters.bin.

    Best Regards,
    Keerthy