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: TDA4VM_EVH ospi cannot recognize _a72

Part Number: TDA4VM


Hi team,

TI-processor-SDK-Linux-j784s4-EVM-08_06_00_12.git does not recognize the ospi and does not get the DMA after power on. The prebuild img in the SDK is also the same issue: 

[    1.322721] printk: console [ttyS2] enabled
[    1.331157] printk: bootconsole [ns16550a0] disabled
[    1.342342] cadence-qspi 47040000.spi: error -ENODEV: No Rx DMA available
[    1.349631] spi-nor: probe of spi0.0 failed with error -22
[    1.355480] cadence-qspi 47050000.spi: error -ENODEV: No Rx DMA available
[    1.362509] spi-nor spi1.0: unrecognized JEDEC id bytes: ff ff ff ff ff ff
[    1.369373] spi-nor: probe of spi1.0 failed with error -2

Please see the kernel boot log here: https://e2echina.ti.com/cfs-file/__key/communityserver-discussions-components-files/120/ospi_5F00_ti_5F00_demo.log

Could you help check this case? Thanks.

Best Regards,

Cherry

  • Hi Cherry,

    Can you confirm that you are using the TI J784s4 EVM?

    - Keerthy

  • Cheery,

    There is an existing Internal issue that is being worked upon. There is an untested workaround that should help.
    Please try the below change in the Linux driver:

    diff --git a/drivers/spi/spi-cadence-quadspi.c b/drivers/spi/spi-cadence-quadspi.c
    index 3f64275a3140..2138bd28bd6d 100644
    --- a/drivers/spi/spi-cadence-quadspi.c
    +++ b/drivers/spi/spi-cadence-quadspi.c
    @@ -2219,6 +2219,8 @@ static int cqspi_request_mmap_dma(struct cqspi_st *cqspi)
            if (IS_ERR(cqspi->rx_chan)) {
                    int ret = PTR_ERR(cqspi->rx_chan);
                    cqspi->rx_chan = NULL;
    +               if (ret == -ENODEV)
    +                       ret = -EPROBE_DEFER;
                    return dev_err_probe(&cqspi->pdev->dev, ret, "No Rx DMA available\n");
            }
            init_completion(&c 

    Let us know if you are unblocked while the issue is being fixed internally.

    Best Regards,
    Keerthy

  • Hi Keerthy,

    Thanks for your support.

    Can you confirm that you are using the TI J784s4 EVM?

    Yes.

    Please try the below change in the Linux driver:

    patch:

    line 206: 20230524_14:34:21:500:[ 0.000000] GICv3: 960 SPIs implemented
    line 207: 20230524_14:34:21:500:[ 0.000000] GICv3: 0 Extended SPIs implemented
    line 433: 20230524_14:34:22:796:[ 1.477158] cadence-qspi 47040000.spi: error (____ptrval____): No Rx DMA available
    line 433: 20230524_14:34:22:796:[ 1.477158] cadence-qspi 47040000.spi: error (____ptrval____): No Rx DMA available
    line 435: 20230524_14:34:22:850:[ 1.494626] spi-nor: probe of spi0.0 failed with error -22
    line 435: 20230524_14:34:22:850:[ 1.494626] spi-nor: probe of spi0.0 failed with error -22
    line 436: 20230524_14:34:22:850:[ 1.500467] cadence-qspi 47050000.spi: error (____ptrval____): No Rx DMA available
    line 436: 20230524_14:34:22:850:[ 1.500467] cadence-qspi 47050000.spi: error (____ptrval____): No Rx DMA available
    line 438: 20230524_14:34:22:850:[ 1.517669] spi-nor spi1.0: unrecognized JEDEC id bytes: ff ff ff ff ff ff
    line 438: 20230524_14:34:22:850:[ 1.517669] spi-nor spi1.0: unrecognized JEDEC id bytes: ff ff ff ff ff ff
    line 439: 20230524_14:34:22:851:[ 1.524533] spi-nor: probe of spi1.0 failed with error -2
    line 439: 20230524_14:34:22:851:[ 1.524533] spi-nor: probe of spi1.0 failed with error -2

    It seems no improvements:

    20230524_14:35:12:506:root@j784s4-evm:~# ls /dev/mt* -al
    20230524_14:35:12:534:ls: cannot access '/dev/mt*': No such file or directory

    Thanks and regards,

    Cherry

  • Cherry,

    Thanks for the feedback. This confirms that the above workaround is not helping. We will wait for the fix in the next SDK version from the internal team. 

    Best Regards,

    Keerthy