> The remote firmware does not need to know whether Linux is asleep. The GPIO
> is not used
> to wake Linux directly; instead, it serves as a wake-up source for the remote
> firmware if configured
> accordingly. Once the remote firmware is awake, it sends a notification
> message to Linux. This
> notification is the actual event that wakes Linux.
>
> This works because there is always a physical interface connecting Linux and
> the remote firmware.
> On i.MX platforms, this interface is the MU block. When the remoteproc driver
> is running, the MU
> block is automatically configured as a wake-up source for Linux by default.
> As a result, the notification
> message can wake the Linux system if it is asleep.
You need to add a lot more documentation to the specification to make
this clear. As you said, the firmware and Linux have different
sleep/wake life cycles. How does the firmware know it is safe to go to
sleep, if it has no idea Linux is running or suspended?
Andrew