We want to use the PRU driver pdk_am57xx_1_0_12/packages/ti/drv/pruss/ from DSP1 in order to route to DSP1 data
preprocessed by one of the PRU. After having been processed by DSP1 the data will be further routed to a Linux application
running on the A15 core.
To do this we have started with the IPC example ipc_3_50_02_02\examples\DRA7XX_linux_elf\ex02_messageq.
The DSP1 executable is launched from Linux in the way explained at
software-dl.ti.com/.../Foundational_Components_IPC.html
However, as explained by the on-line messages reported below, the DSP1 software crashes
[ 107.635754] omap-rproc 40800000.dsp: assigned reserved memory node dsp1_cma@99000000
[ 107.643718] remoteproc remoteproc2: 40800000.dsp is available
[ 107.655344] remoteproc remoteproc2: powering up 40800000.dsp
...done
root@am5728-phycore-rdk:~# [ 107.662331] remoteproc remoteproc2: Booting fw image dra7-dsp1-fw.xe66, size 4006044
[ 107.679556] omap_hwmod: mmu0_dsp1: _wait_target_disable failed
[ 107.685455] omap-iommu 40d01000.mmu: 40d01000.mmu: version 3.0
[ 107.691400] omap-iommu 40d02000.mmu: 40d02000.mmu: version 3.0
[ 107.709538] virtio_rpmsg_bus virtio1: rpmsg host is online
[ 107.715062] omap-iommu 40d01000.mmu: iommu fault: da 0x4b2a6000 flags 0x0
[ 107.715070] remoteproc remoteproc2: crash detected in 40800000.dsp: type mmufault
[ 107.715081] omap-iommu 40d01000.mmu: 40d01000.mmu: errs:0x00000002 da:0x4b2a6000 pgd:0xedaed2c8 *pgd:px00000000
[ 107.739635] remoteproc remoteproc2: registered virtio1 (type 7)
[ 107.745584] remoteproc remoteproc2: remote processor 40800000.dsp is now up
If we understand it correctly, it is while accessing PRUSS2_CFG PRUSS_REVID register at address 0x4b2a6000 in the
function PRUICSS_create.
We have tried to solve the problem in creating a custom IPC resource table including a new TYPE_DEVMEM entry for the
PRU peripheral as explained in
processors.wiki.ti.com/.../IPC_Resource_customTable
but this did not solve the problem. We suppose that there is also something to do on the Linux side but, up to now, we
did not find what.
Could somebody please help us to solve this problem ?
Best regards,
Gilbert