We are trying to put our system to sleep in linux by using:
echo mem > /sys/power/state
Sometimes this puts both the A7s and the M4 to sleep, but there are a few times where the M4 remains awake. We saw this comment in the Linux reference manual
If ARM Cortex®-M4 processor is alive together with ARM Cortex-A processor
before the kernel enters standby/mem mode, and if ARM Cortex-M4 processor is not in its low power idle mode, ARM Cortex-A processor triggers the SOC to enter WAIT mode instead of STOP mode to make sure that ARM Cortex-M4 processor can continue running.
We are using a watchdog on our system, so when we get into the case where the M4 does not sleep, it appears that the A7 is in WAIT our watchdog does not get fed and eventually our board reboots.
In Linux, how do we ensure the M4 goes to sleep so that the A7 will enter STOP mode and not WAIT mode?