11-22-2020, 07:54 AM
Ok, as often happens after asking a question, I've finally managed to find some useful information myself.
SXMO has a screenlock program[0] that their documentation specifies enters crust suspend/deep sleep. Looking through the source code provides some answers (assuming I've not somehow misinterpreted something).
It appears that the crust suspend is equivalent to a normal suspend-to-ram, which is activated when the string 'mem' is written to /sys/power/state while the file /sys/power/mem_sleep contains the string 'deep' (as opposed to 's2idle' or 'shallow').[1] Presumably if the crust firmware is present nothing else is needed.
The sxmo_screenlock code also strongly implies to me that all the usual methods of wakeup from suspend apply as well, since they make sure only the ones they're interested in are enabled.
I've not tested any of this, but it definitely looks like I may have been under the impression that the situation was much more complicated than it is
Posting this in case anyone else was wondering and is as unfamiliar with how this sort of stuff works as me.
[0] https://git.sr.ht/~mil/sxmo-docs/tree/ma...lockstrong
[1] https://www.kernel.org/doc/html/v4.18/ad...tates.html
SXMO has a screenlock program[0] that their documentation specifies enters crust suspend/deep sleep. Looking through the source code provides some answers (assuming I've not somehow misinterpreted something).
It appears that the crust suspend is equivalent to a normal suspend-to-ram, which is activated when the string 'mem' is written to /sys/power/state while the file /sys/power/mem_sleep contains the string 'deep' (as opposed to 's2idle' or 'shallow').[1] Presumably if the crust firmware is present nothing else is needed.
The sxmo_screenlock code also strongly implies to me that all the usual methods of wakeup from suspend apply as well, since they make sure only the ones they're interested in are enabled.
I've not tested any of this, but it definitely looks like I may have been under the impression that the situation was much more complicated than it is

Posting this in case anyone else was wondering and is as unfamiliar with how this sort of stuff works as me.
[0] https://git.sr.ht/~mil/sxmo-docs/tree/ma...lockstrong
[1] https://www.kernel.org/doc/html/v4.18/ad...tates.html