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.

Linux/AM5716: DSP binary load issue

Part Number: AM5716


Tool/software: Linux

Hello,

I am using the IPC example from ti-processor-sdk-linux-rt-am57xx-evm-04.02.00.09 as the base for my project.  the CMA pool for DSP1 is @99000000 ( see attached dts file), and memory allocated from is mapped to virtual address defined as "#define DSP_MEM_DATA            0x95100000" in resource table( see attached rsc_table_dsp.h).  

My problem is that if I used any memory from CMA pool, such as EXE_DATA which is located at 0x99900000 for dsp (see attached dsp linker.cmd), the kernel failed to load DSP binary.  the kerner can only load dsp binary if DSP use only memory at 0x9510000 ~ 0x95which I believe is the virtual address. what could be wrong?

two messages(failure and successful) are below:

------------------------------- failure message-----------------------------

root@am57xx-evm:~# ./binddsp
[145564.033871] omap-rproc 40800000.dsp: assigned reserved memory node dsp1_cma@99000000
[145564.043069] remoteproc remoteproc2: 40800000.dsp is available
[145564.057536] remoteproc remoteproc2: powering up 40800000.dsp
root@am57xx-evm:~# [145564.068887] remoteproc remoteproc2: Booting fw image dra7-dsp1-fw.xe66, size 4093480
[145564.087981] omap_hwmod: mmu0_dsp1: _wait_target_disable failed
[145564.094725] omap-iommu 40d01000.mmu: 40d01000.mmu: version 3.0
[145564.101967] omap-iommu 40d02000.mmu: 40d02000.mmu: version 3.0
[145564.112856] remoteproc remoteproc2: erroneous trace resource entry
[145564.119159] remoteproc remoteproc2: Failed to process resources: -22
[145564.136794] omap_hwmod: mmu1_dsp1: _wait_target_disable failed
[145564.149746] omap_hwmod: mmu0_dsp1: _wait_target_disable failed

----------------------- sucessful --------------------------------------------------------------

root@am57xx-evm:~# ./unbinddsp
[145598.145243] remoteproc remoteproc2: releasing 40800000.dsp
root@am57xx-evm:~# ./getFile AIM_G3_DSP.xe66
root@am57xx-evm:~# cp AIM_G3_DSP.xe66 /lib/firmware/dra7-dsp1-fw.xe66
root@am57xx-evm:~# ./binddsp
[145695.073832] omap-rproc 40800000.dsp: assigned reserved memory node dsp1_cma@99000000
[145695.083427] remoteproc remoteproc2: 40800000.dsp is available
[145695.096150] remoteproc remoteproc2: powering up 40800000.dsp
root@am57xx-evm:~# [145695.108176] remoteproc remoteproc2: Booting fw image dra7-dsp1-fw.xe66, size 4093480
[145695.127695] omap_hwmod: mmu0_dsp1: _wait_target_disable failed
[145695.133684] omap-iommu 40d01000.mmu: 40d01000.mmu: version 3.0
[145695.139671] omap-iommu 40d02000.mmu: 40d02000.mmu: version 3.0
[145695.158167] virtio_rpmsg_bus virtio0: rpmsg host is online
[145695.163795] remoteproc remoteproc2: registered virtio0 (type 7)
[145695.180220] remoteproc remoteproc2: remote processor 40800000.dsp is now up

5722.am571x-aim-dts.rar8546.rsc_table_dsp.rar

two messages(failure and successful) are below:

------------------------------- failure message-----------------------------

root@am57xx-evm:~# ./binddsp
[145564.033871] omap-rproc 40800000.dsp: assigned reserved memory node dsp1_cma@99000000
[145564.043069] remoteproc remoteproc2: 40800000.dsp is available
[145564.057536] remoteproc remoteproc2: powering up 40800000.dsp
root@am57xx-evm:~# [145564.068887] remoteproc remoteproc2: Booting fw image dra7-dsp1-fw.xe66, size 4093480
[145564.087981] omap_hwmod: mmu0_dsp1: _wait_target_disable failed
[145564.094725] omap-iommu 40d01000.mmu: 40d01000.mmu: version 3.0
[145564.101967] omap-iommu 40d02000.mmu: 40d02000.mmu: version 3.0
[145564.112856] remoteproc remoteproc2: erroneous trace resource entry
[145564.119159] remoteproc remoteproc2: Failed to process resources: -22
[145564.136794] omap_hwmod: mmu1_dsp1: _wait_target_disable failed
[145564.149746] omap_hwmod: mmu0_dsp1: _wait_target_disable failed

----------------------- sucessful --------------------------------------------------------------

root@am57xx-evm:~# ./unbinddsp
[145598.145243] remoteproc remoteproc2: releasing 40800000.dsp
root@am57xx-evm:~# ./getFile AIM_G3_DSP.xe66
root@am57xx-evm:~# cp AIM_G3_DSP.xe66 /lib/firmware/dra7-dsp1-fw.xe66
root@am57xx-evm:~# ./binddsp
[145695.073832] omap-rproc 40800000.dsp: assigned reserved memory node dsp1_cma@99000000
[145695.083427] remoteproc remoteproc2: 40800000.dsp is available
[145695.096150] remoteproc remoteproc2: powering up 40800000.dsp
root@am57xx-evm:~# [145695.108176] remoteproc remoteproc2: Booting fw image dra7-dsp1-fw.xe66, size 4093480
[145695.127695] omap_hwmod: mmu0_dsp1: _wait_target_disable failed
[145695.133684] omap-iommu 40d01000.mmu: 40d01000.mmu: version 3.0
[145695.139671] omap-iommu 40d02000.mmu: 40d02000.mmu: version 3.0
[145695.158167] virtio_rpmsg_bus virtio0: rpmsg host is online
[145695.163795] remoteproc remoteproc2: registered virtio0 (type 7)
[145695.180220] remoteproc remoteproc2: remote processor 40800000.dsp is now up