TDA4VM: How to make MAIN R5F and DSP cores available for remoteproc (currently in attached state)

Part Number: TDA4VM

Tool/software:

Hello TI Team,

I am working on the TDA4VM EVM with Processor SDK Linux/RTOS 11.0.

When I check the remoteproc cores from Linux, I see the following:

root@j721e-evm:~# head /sys/class/remoteproc/remoteproc*/name
41000000.r5f
41400000.r5f
4d80800000.dsp
4d81800000.dsp
64800000.dsp
5c00000.r5f
5d00000.r5f
...

root@j721e-evm:~# head /sys/class/remoteproc/remoteproc*/state
remoteproc0: attached
remoteproc1: offline
remoteproc2: offline
remoteproc3: offline
remoteproc4: attached
remoteproc5: attached
remoteproc6: attached
remoteproc7: attached
remoteproc8: attached
...

My requirement:

  • I want to run my own RTOS firmware on MAIN R5F cores and all 3 DSPs (C66x_0, C66x_1, C7x) build using the sdk. 

  • Currently they appear in attached state, so I cannot stop/start them from Linux (remoteproc).

  • via echo "stop/start" > /sys/class/remoteproc/remoteproc*/state

Questions:

  1. What is the correct way to make these cores available to Linux (offline state) instead of attached?

  2. Also how to communicate with arm to remote processor(r5f,DSP)? via IPC means my understanding we need two firmware one is running in arm(send/receive) another one is remoteprocessor. But when i am building IPC examples its only building for remoteprocessor?

This will help me set up my environment to run custom firmware on these cores.

Thanks,

Regards

Tamilselvan