AnsweredAssumed Answered

How to reboot the M4 core on the IMX8MM from Linux

Question asked by Damien Dunn on May 29, 2020
Latest reply on Jun 18, 2020 by Bruno Chen



We are using a custom board using the IMX8MM. We are currently using rpmsg to communicate with the A53 cores running a custom yocto build. Our RPMSG communication is based on the example that can be found in the MCUXpresso SDK. The Linux side uses the tty rpmsg driver to receive messages from the M4 core. After a few days ( in some configurations after a few hours sometimes), the communication between the M4 core and Linux ceases to function. Currently we recover by rebooting the whole system, but given the time to boot the linux kernel, this adds downtime that we want to avoid. We want to get to the root cause of the issue but if we can only reboot the M4 core from linux, we would want to attempt to do so. Calling NVIC_SystemReset function yields no results, the M4 core seems to hang when that function is called. 


Is it possible to reboot the M4 core from Linux?  Is there a desired way of resetting the rpmsg communication ? 

I've seen that there are drivers for the IMX7 but that doesn't seem to be compatible with IMX8 boards.