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.

AM5718: Remoteproc error

Part Number: AM5718

Hello

I am using am5718idk with linux on ARM and TI-RTOS on dsp processor.
I have to access pru-ethenet from dsp and all other processor(ipu1 and ipu2) are not used.
I have assigned 152MB memory for DSP instead for 64MB already in device tree.
I have modified the reserved memory in DTS file
memory@80000000 {
device_type = "memory";
reg = <0x0 0x80000000 0x0 0x40000000>;
};

reserved-memory {
#address-cells = <0x2>;
#size-cells = <0x2>;
ranges;

ipu2-memory@95800000 {
compatible = "shared-dma-pool";
reg = <0x0 0x95800000 0x0 0x3800000>;
reusable;
status = "disabled";
phandle = <0xc4>;
};

dsp1-memory@0x95800000 {
compatible = "shared-dma-pool";
reg = <0x0 0x95800000 0x0 0x9800000>;
reusable;
status = "okay";
phandle = <0xca>;
};

ipu1-memory@9d000000 {
compatible = "shared-dma-pool";
reg = <0x0 0x9d000000 0x0 0x2000000>;
reusable;
status = "disabled";
phandle = <0xbd>;
};

cmem_block_mem@a0000000 {
reg = <0x0 0xa0000000 0x0 0xc000000>;
no-map;
status = "okay";
phandle = <0x131>;
};
};
I have also modified the memory map of the Ti-RTOS file to fit in this memory range(0x95800000 0x0 0x9800000>;) and tested independently
while loading the DSP image from linux following error is comming
root@am57xx-evm:/sys/bus/platform/drivers/omap-rproc# echo 40800000.dsp > unbind
[10098.211292] remoteproc remoteproc2: releasing 40800000.dsp
root@am57xx-evm:/sys/bus/platform/drivers/omap-rproc# echo 40800000.dsp > bind
[10136.981421] omap-rproc 40800000.dsp: assigned reserved memory node dsp1-memory@99000000(already in orginal map)
[10136.995642] remoteproc remoteproc2: 40800000.dsp is available
[10137.002835] remoteproc remoteproc2: Direct firmware load for dra7-dsp1-fw.xe66 failed with error -2
root@am57xx-evm:/sys/bus/platform/drivers/omap-rproc# [10137.015043] remoteproc remoteproc2: powering up 40800000.dsp
[10137.026850] remoteproc remoteproc2: Direct firmware load for dra7-dsp1-fw.xe66 failed with error -2
[10137.037307] remoteproc remoteproc2: request_firmware failed: -2

Even though I have modified the memory range used by the DSP in device tree,error log showing no change in the default memory map

Regards

Satheesh KumarS

  • Hello Satheesh,

    What memory files did you update (for both Linux and RTOS)? What version of SDK are you using?

    Regards,

    Nick

  • Hello Nick

    Thanks for your support

    I am using PROCESSOR-SDK-LINUX-AM57X  05_03_00_07 for development.

    I have modified the reserved memory section in the device tree (am571x-idk.dts ) shown in above support case.

    reserved-memory {
    #address-cells = <0x2>;
    #size-cells = <0x2>;
    ranges;

    ipu2-memory@95800000 {
    compatible = "shared-dma-pool";
    reg = <0x0 0x95800000 0x0 0x3800000>;
    reusable;
    status = "disabled";
    phandle = <0xc4>;
    };

    dsp1-memory@0x95800000 {
    compatible = "shared-dma-pool";
    reg = <0x0 0x95800000 0x0 0x9800000>;
    reusable;
    status = "okay";
    phandle = <0xca>;
    };

    ipu1-memory@9d000000 {
    compatible = "shared-dma-pool";
    reg = <0x0 0x9d000000 0x0 0x2000000>;
    reusable;
    status = "disabled";
    phandle = <0xbd>;
    };

    cmem_block_mem@a0000000 {
    reg = <0x0 0xa0000000 0x0 0xc000000>;
    no-map;
    status = "okay";
    phandle = <0x131>;
    };
    };

    Since I have no plan to use Two IPU core,I have taken that DDR memory for DSP.

    In SYS BIOS, have modified the  .bld file(config_am571x_c66.bld).

    ar KB=1024;
    var MB=KB*KB;
    var DDR3_ADDR_0;
    var DDR3_ADDR_1;
    var APP_CODE_ADDR;
    var APP_CODE_SIZE;
    var APP_CACHED_DATA_ADDR;
    var APP_CACHED_DATA_SIZE;
    var APP_UNCACHED_DATA_BLK3_ADDR;
    var APP_UNCACHED_DATA_BLK3_SIZE;
    var APP_CACHED_DATA_BLK1_ADDR;
    var APP_CACHED_DATA_BLK1_SIZE;
    var APP_CACHED_DATA_BLK2_ADDR;
    var APP_CACHED_DATA_BLK2_SIZE;
    /* First 4KB reserved for components such as SBL */
    SBL_SIZE                = 4*KB;
    DDR3_ADDR_0             = 0x95800000  + SBL_SIZE;
    DDR3_ADDR_1             = 0xA0000000;
    APP_CODE_SIZE                   = 3*MB - SBL_SIZE;
    APP_CACHED_DATA_SIZE            = 20*MB;
    APP_CACHED_DATA_BLK1_SIZE       = 86*MB;
    APP_CACHED_DATA_BLK2_SIZE       = 50*MB;
    APP_UNCACHED_DATA_BLK3_SIZE     = 2*MB;
    APP_CODE_ADDR                   = DDR3_ADDR_0;
    APP_CACHED_DATA_ADDR            = APP_CODE_ADDR + APP_CODE_SIZE;
    APP_CACHED_DATA_BLK1_ADDR       = APP_CACHED_DATA_ADDR + APP_CACHED_DATA_SIZE;
    APP_CACHED_DATA_BLK2_ADDR       = APP_CACHED_DATA_BLK1_ADDR + APP_CACHED_DATA_BLK1_SIZE;
    APP_UNCACHED_DATA_BLK3_ADDR     = DDR3_ADDR_1;
    myplatform = "ti.platforms.idkAM571X";
    Build.platformTable[myplatform] =
    {
        externalMemoryMap:
        [
            ["APP_CODE_MEM", {
                comment : "APP_CODE_MEM",
                name    : "APP_CODE_MEM",
                base    : APP_CODE_ADDR,
                len     : APP_CODE_SIZE
            }],
            ["APP_CACHED_DATA_MEM", {
                comment : "APP_CACHED_DATA_MEM",
                name    : "APP_CACHED_DATA_MEM",
                base    : APP_CACHED_DATA_ADDR,
                len     : APP_CACHED_DATA_SIZE
            }],
            ["APP_UNCACHED_DATA_BLK3_MEM", {
                comment : "APP_UNCACHED_DATA_BLK3_MEM",
                name    : "APP_UNCACHED_DATA_BLK3_MEM",
                base    : APP_UNCACHED_DATA_BLK3_ADDR,
                len     : APP_UNCACHED_DATA_BLK3_SIZE
            }],
            ["APP_CACHED_DATA_BLK1_MEM", {
                comment : "APP_CACHED_DATA_BLK1_MEM",
                name    : "APP_CACHED_DATA_BLK1_MEM",
                base    : APP_CACHED_DATA_BLK1_ADDR,
                len     : APP_CACHED_DATA_BLK1_SIZE
            }],
            ["APP_CACHED_DATA_BLK2_MEM", {
                comment : "APP_CACHED_DATA_BLK2_MEM",
                name    : "APP_CACHED_DATA_BLK2_MEM",
                base    : APP_CACHED_DATA_BLK2_ADDR,
                len     : APP_CACHED_DATA_BLK2_SIZE
            }],
        ],
        codeMemory: "APP_CODE_MEM",
        dataMemory: "APP_CACHED_DATA_MEM",
        stackMemory: "APP_CACHED_DATA_MEM"
    };
    I have also tried to load the simple dsp program with above.bld for memory definition.
    same error is showing
    [10137.002835] remoteproc remoteproc2: Direct firmware load for dra7-dsp1-fw.xe66 failed with error -2
    root@am57xx-evm:/sys/bus/platform/drivers/omap-rproc# [10137.015043] remoteproc remoteproc2: powering up 40800000.dsp
    [10137.026850] remoteproc remoteproc2: Direct firmware load for dra7-dsp1-fw.xe66 failed with error -2
    [10137.037307] remoteproc remoteproc2: request_firmware failed: -2
    I need a mechanism to load , run and stop dsp processor.
    plz help  
    Regards
    Satheesh Kumar S
  • Hello

    A gentile reminder 

    Regards

    Satheesh

  • Hello Satheesh,

    I am sorry for the delayed response.

    Did you create a custom resource table to let RemoteProc know about the changed memory map? Please take a look at our Resource Custom Table documentation.

    Regards,

    Nick