AnsweredAssumed Answered

IMX7D: How to make the A7 and M4 sleep

Question asked by Bryan Breaux on Oct 21, 2017
Latest reply on Oct 31, 2017 by Erik Cokeley

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?

Outcomes