STM32MP157 not exiting suspend to Linux
We are seeing some strange behavior on our stm32mp157 system exiting suspend mode.
This is not a 'weston' build, so we enter (deep) suspend mode by executing "echo mem > /sys/power/state" and the system powers down and enters low power.
root@stm32mp157:~ # echo deep > /sys/power/mem_sleep
root@stm32mp157:~ # echo mem > /sys/power/state
[ 30.426284] PM: suspend entry (deep)
[ 30.428793] PM: Syncing filesystems ... done.
[ 30.477793] Freezing user space processes ... (elapsed 0.001 seconds) done.
[ 30.484664] OOM killer disabled.
[ 30.487814] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
[ 30.495358] Suspending console(s) (use no_console_suspend to debug)
When a wake up happens the processor wakes up and the TF-A detects that the processor exited STANDBY and is running from eMMC, however the system never executes the Linux system, it hangs after "Preparing exit to normal world"
NOTICE: CPU: STM32MP157C?? Rev.B
NOTICE: Model: STM32MP157C System
INFO: Reset reason (0x810):
INFO: System exits from STANDBY
INFO: PMIC version = 0x10
INFO: Using EMMC
INFO: Instance 2
INFO: Boot used partition fsbl1
NOTICE: BL2: v2.0-r3.0(debug):
NOTICE: BL2: Built : 14:46:55, Aug 21 2020
INFO: BL2: Doing platform setup
INFO: RAM: DDR3-1066/888 bin G 1x4Gb 533MHz v1.45
INFO: BL2 runs SP_MIN setup
INFO: BL2: Loading image id 4
INFO: Loading image id=4 at address 0x2ffef000
INFO: Image id=4 loaded: 0x2ffef000 - 0x30000000
INFO: BL2: Skip loading image id 5
NOTICE: BL2: Booting BL32
INFO: Entry point address = 0x2ffef000
INFO: SPSR = 0x1d3
NOTICE: SP_MIN: v2.0-r3.0(debug):
NOTICE: SP_MIN: Built : 14:46:56, Aug 21 2020
INFO: ARM GICv2 driver initialized
INFO: stm32mp HSI (18): Secure only
INFO: stm32mp HSE (20): Secure only
INFO: stm32mp PLL2 (27): Secure only
INFO: stm32mp PLL2_R (30): Secure only
INFO: SP_MIN: Initializing runtime services
INFO: SP_MIN: Preparing exit to normal world
*********** Halts here, doesn't go any further
I have tested suspend using an EV1 board, and confirmed that the TF-A messages are the same, but the EV1 does successfully re-start the Linux system.
Should the Linux system have some additional configuration to allow to execute after STANDBY?
