[FAQ] PROCESSOR-SDK-AM64X: Linux hangs after restarting an R5F core

Part Number: PROCESSOR-SDK-AM64X

Tool/software:

I am using AM64x Linux SDK 10.0 (or potentially the latest AM64x Linux SDK 9.2.1). When I use the Linux remoteproc driver to shut down an R5F core, and boot it back up, my processor hangs.

An example terminal output on SDK 10.0 is here:

root@am64xx-evm:~#
head /sys/class/remoteproc/remoteproc*/name
==> /sys/class/remoteproc/remoteproc0/name <==
5000000.m4fss

==> /sys/class/remoteproc/remoteproc1/name <==
78000000.r5f
...
==> /sys/class/remoteproc/remoteproc2/name <==
78200000.r5f
...
root@am64xx-evm:~# echo stop > /sys/class/remoteproc/remoteproc2/state

[602661.859629] platform 78200000.r5f: k3_r5_rproc_stop: timeout waiting for rproc completion event
[602661.862122] remoteproc remoteproc2: stopped remote processor 78200000.r5f
root@am64xx-evm:~#
root@am64xx-evm:~# echo stop > /sys/class/remoteproc/remoteproc1/state
[602683.363624] platform 78000000.r5f: k3_r5_rproc_stop: timeout waiting for rproc completion event
[602683.363857] remoteproc remoteproc1: stopped remote processor 78000000.r5f
root@am64xx-evm:~# echo start > /sys/class/remoteproc/remoteproc1/state
[602696.928024] remoteproc remoteproc1: powering up 78000000.r5f
[602696.929099] remoteproc remoteproc1: Booting fw image am64-main-r5f0_0-fw, size 434436
// output freezes here

Fun fact: The "Remoteproc" driver is for managing "remote processor cores", where a "remote processor" is any non-Linux processor on the device.