Hello guys,
I’m currently using the BBAI64 board, with Linux Image 5.10.168-ti-arm64-r118.
I’m dealing with R5F’s from the main domain.
k3conf dump processor
|--------------------------------------------------------------------------------|
VERSION INFO |
---|
K3CONF |
SoC |
SYSFW |
-------------------------------------------------------------------------------- |
|--------------------------------------------------------------------------------------|
| Device ID | Processor ID | Processor Name | Processor State | Processor Frequency |
|--------------------------------------------------------------------------------------|
| 202 | 32 | A72SS0_CORE0 | DEVICE_STATE_ON | 2000000000 |
| 203 | 33 | A72SS0_CORE1 | DEVICE_STATE_ON | 2000000000 |
| 142 | 3 | C66SS0_CORE0 | DEVICE_STATE_OFF | 1350000000 |
| 143 | 4 | C66SS1_CORE0 | DEVICE_STATE_OFF | 1350000000 |
| 15 | 48 | C71SS0 | DEVICE_STATE_OFF | 1000000000 |
| 250 | 1 | MCU_R5FSS0_CORE0 | DEVICE_STATE_ON | 1000000000 |
| 251 | 2 | MCU_R5FSS0_CORE1 | DEVICE_STATE_ON | 1000000000 |
| 245 | 6 | R5FSS0_CORE0 | DEVICE_STATE_ON | 1000000000 |
| 246 | 7 | R5FSS0_CORE1 | DEVICE_STATE_ON | 1000000000 |
| 247 | 8 | R5FSS1_CORE0 | DEVICE_STATE_OFF | 1000000000 |
| 248 | 9 | R5FSS1_CORE1 | DEVICE_STATE_OFF | 1000000000 |
|--------------------------------------------------------------------------------------|
I have a few questions :
Why DSP’s are not booted ?
dmesg | grep dsp
[ 8.428266] k3-dsp-rproc 4d80800000.dsp: assigned reserved memory node vision-apps-c66-dma-memory@a9000000
[ 8.439261] k3-dsp-rproc 4d80800000.dsp: configured DSP for remoteproc mode
[ 8.557667] k3-dsp-rproc 4d80800000.dsp: local reset is deasserted for device
[ 8.587991] remoteproc remoteproc12: 4d80800000.dsp is available
[ 8.591683] k3-dsp-rproc 4d81800000.dsp: assigned reserved memory node vision-apps-c66-dma-memory@a8000000
[ 8.592405] k3-dsp-rproc 4d81800000.dsp: configured DSP for remoteproc mode
[ 8.605912] k3-dsp-rproc 4d81800000.dsp: local reset is deasserted for device
[ 8.617674] remoteproc remoteproc13: 4d81800000.dsp is available
[ 8.620042] k3-dsp-rproc 64800000.dsp: assigned reserved memory node vision-apps-c71-dma-memory@aa000000
[ 8.624835] k3-dsp-rproc 64800000.dsp: configured DSP for remoteproc mode
[ 8.631810] remoteproc remoteproc14: 64800000.dsp is available
[ 8.635057] remoteproc remoteproc12: powering up 4d80800000.dsp
[ 8.657201] k3-dsp-rproc 4d80800000.dsp: mbox_request_channel failed: -517
[ 8.664187] remoteproc remoteproc12: can’t start rproc 4d80800000.dsp: -16
[ 8.671474] remoteproc remoteproc13: powering up 4d81800000.dsp
[ 8.674237] k3-dsp-rproc 4d81800000.dsp: mbox_request_channel failed: -517
[ 8.681206] remoteproc remoteproc13: can’t start rproc 4d81800000.dsp: -16
[ 8.872233] remoteproc remoteproc14: powering up 64800000.dsp
[ 8.878995] k3-dsp-rproc 64800000.dsp: mbox_request_channel failed: -517
[ 8.885759] remoteproc remoteproc14: can’t start rproc 64800000.dsp: -16
It seems that the mailbox is not available so remoteproc can’t instantiate the cores, but from userspace I can start/stop DSP’s (with echo start/stop > /sys/class/remoteproc/remoteproc{nb}/state.
We see that 2 R5F are booted, and the two others are not.
I can’t start the two R5F which are off. Why ?
root@BeagleBone:~# cat /sys/class/remoteproc/remoteproc18/name
5e00000.r5f
root@BeagleBone:~# echo start > /sys/class/remoteproc/remoteproc18/state
-bash: echo: write error: No such file or directory
cat /sys/class/remoteproc/remoteproc16/state
running
root@BeagleBone:~# cat /sys/class/remoteproc/remoteproc18/state
offline
I have seen on different topic on TI website that the dual core R5F are “lockstep” by default. Is it the case with the BBAI64 Image ? How to change (to split mode) this in the devicetree ?
By default, I see that the firmware loaded on the different cores are defined here :
ls -l /lib/firmware/ | grep j7
-rw-r–r-- 1 root root 187480 Jul 5 2023 j7-c66_0-fw.tisdk
-rw-r–r-- 1 root root 187480 Jul 5 2023 j7-c66_1-fw.tisdk
-rw-r–r-- 1 root root 10489872 Jul 5 2023 j7-c71_0-fw.tisdk
-rw-r–r-- 1 root root 78708 Jul 5 2023 j7-main-r5f0_0-fw.tisdk
-rw-r–r-- 1 root root 78708 Jul 5 2023 j7-main-r5f0_1-fw.tisdk
-rw-r–r-- 1 root root 78708 Jul 5 2023 j7-main-r5f1_0-fw.tisdk
-rw-r–r-- 1 root root 78708 Jul 5 2023 j7-main-r5f1_1-fw.tisdk
-rw-r–r-- 1 root root 176304 Jul 5 2023 j7-mcu-r5f0_0-fw.tisdk
-rw-r–r-- 1 root root 78708 Jul 5 2023 j7-mcu-r5f0_1-fw.tisdk
root@BeagleBone:~# ls -l /lib/firmware/vision_apps_eaik_8.2/
total 16644
-rw-r–r-- 1 root root 1461044 Oct 28 2022 vx_app_rtos_linux_c6x_1.out
-rw-r–r-- 1 root root 1461012 Oct 28 2022 vx_app_rtos_linux_c6x_2.out
-rw-r–r-- 1 root root 13242432 Oct 28 2022 vx_app_rtos_linux_c7x_1.out
-rw-r–r-- 1 root root 572788 Oct 28 2022 vx_app_rtos_linux_mcu2_0.out
-rw-r–r-- 1 root root 297932 Oct 28 2022 vx_app_rtos_linux_mcu2_1.out
Where is the source code of these firmwares ?
Is it possible to load my own firmware on mcu2_0/1, and using the TIDL in parallel (on DSP’s ?)
Thanks in advance,
Valentin