This series is the U-Boot part of the work to add the suspend to RAM support for the K3 J7200 EVM board.
During the boot R5 SPL makes a copy of DM-Firmware in memory. Resume detection is done by reading a magic value in a pmic register (set by DM-Firmware). If a resume is detected, R5 SPL run the exit retention sequence of the DDR. Then it restores TF-A in SRAM (it saved itself to DDR), and load DM-Firmware using the copy done during the boot (fit image processing is skipped). The copy of TF-A/DM-Firmware, the SPL stack and malloc are located in a reserved memory region (for the kernel point of view) to avoid any memory corruption. A test_enter_sleep command was implemented to be able to test the suspend sequence from U-Boot. It is only for test, the resume will not work. Gowtham Tammana (1): DO NOT MERGE: arm: dts: k3-j7200-r5-common: Add pmic node for esm Gregory CLEMENT (3): configs: j7200_evm_r5: Used reserved memory in DDR for stack configs: j7200_evm_r5: Move address used for allocation in the reserved space cmd: test_enter_suspend: Add test_enter_suspend command Thomas Richard (5): board: ti: j721e: Add resume detection for J7200 ram: k3-ddrss: Add exit retention support board: ti: j721e: Add the missing part of exit retention for k3-ddrss (J7200) board: ti: j721e: During resume spl restores TF-A and DM-Firmware arm: mach-k3: j7200: Skip fit processing when resuming .../arm/dts/k3-j7200-r5-common-proc-board.dts | 17 +- arch/arm/mach-k3/common.c | 37 ++- arch/arm/mach-k3/include/mach/j721e_spl.h | 29 ++ arch/arm/mach-k3/sysfw-loader.c | 16 +- board/ti/j721e/evm.c | 79 +++++ cmd/Kconfig | 7 + cmd/boot.c | 8 + configs/j7200_evm_r5_defconfig | 4 +- drivers/firmware/psci.c | 23 ++ drivers/ram/k3-ddrss/k3-ddrss.c | 302 ++++++++++++++++++ include/command.h | 2 + 11 files changed, 514 insertions(+), 10 deletions(-) -- 2.39.2