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: GPMC access from the DSP

Part Number: TDA4VM

Hello,

I'm looking for an example of GPMC access from the C66xx DSP subsystem.

I haven't seen anything in the SDK (ti-processor-sdk-rtos-j721e-evm-09_00_00_02).

Is there an example similar to pdk_am57xx_1_0_19/packages/ti/csl/example/gpmc/fpga_read_write available in the SDK (processor_sdk_rtos_am57xx_08_01_00_09)?

Many thanks in advance

Kind regards,

Steve

  • Hello,

    With Steve, we were able to use the GPMC interface from the C66xx DSP (DSP1) with a firmware loaded by Linux (remoteproc) using an AM57xx SoC.

    We used the GPMC API from the csl library and we had to create two new TYPE_DEVMEM entries in the custom ipc resource table to allow GPMC access (otherwise the firmware crash with a mmufault).

    #define DSP_PERIPHERAL_FPGA     0x14000000
    #define PHYS_PERIPHERAL_FPGA    0x14000000
    
    #define DSP_GPMC_L3             0x50000000
    #define PHYS_GPMC_L3            0x50000000
    
    
        {
            TYPE_DEVMEM,
            DSP_GPMC_L3, PHYS_GPMC_L3,
            DSP_GPMC_L3_SIZE, 0, 0, "DSP_GPMC_L3",
        },
    
        {
            TYPE_DEVMEM,
            DSP_PERIPHERAL_FPGA, PHYS_PERIPHERAL_FPGA,
            FPGA_MEM_SIZE, 0, 0, "FPGA_MEM",
        },

    Now we have to do something similar on the TDA4VM SoC.

    But the TDA4VM PDK doesn't provide anymore the IPC resource table with fw_rsc_devmem entry.
    As soon as try to add one of them in Ipc_ResourceTable, the resource table is rejected by the remoteproc driver.

    TYPE_DEVMEM and TYPE_CARVEOUT doesn't seem used anywhere in the PDK, are they still needed?

    If the default resource table (ti/drv/ipc/examples/common/src/ipc_rsctable.h) is enough for our use case, I don't understand why why the GPMC is not working.
    The GPMC activity is checked by adding an oscilloscope probe on the GPMC0_CS0 signal and trying to read periodically the GPMC datas from the DSP firmware.
    We checked that the GPMC0_CS0 pinmux is correct (AF21 mode 8).

    Do we need to do something else ?

    Best regards,
    Romain

  • Hi Steve,

    Apologies for long silence.

    I haven't seen anything in the SDK (ti-processor-sdk-rtos-j721e-evm-09_00_00_02).

    We do not have any driver or example reference in PDK for GPMC

    Regards,
    Parth