Hi, These patches add support for resuming am437x SoCs from suspend to mem when using hardware leveling (as configured by u-boot). This series has no effect on boards not currently using hardware leveling (am437x-gp-evm, am437x-sk-evm) but is required for any board that is using it (am437x-idk-evm) for resume to work at all, so this increases support for boards without affecting those that currently work. This series adds a ti_emif_run_hw_leveling call that is loaded to SRAM so that it can be run from low-level PM code during the resume path that attempts to trigger the HW leveling sequence just as was done in u-boot after all previously register values have been restored, which leads to a fully restored DDR configuration. These patches have been tested on am437x-gp-evm and am437x-sk-evm and showed no noticeable change in behavior (including resume time) and also tested on am437x-idk-evm which showed a working suspend to mem followed by resume, which did not previously work. Regards, Dave Dave Gerlach (2): memory: ti-emif-sram: Add ti_emif_run_hw_leveling for DDR3 hardware leveling ARM: OMAP2+: sleep43xx: Run EMIF HW leveling on resume path arch/arm/mach-omap2/sleep43xx.S | 3 +++ drivers/memory/emif.h | 4 ++++ drivers/memory/ti-emif-pm.c | 3 +++ drivers/memory/ti-emif-sram-pm.S | 41 ++++++++++++++++++++++++++++++++ include/linux/ti-emif-sram.h | 3 +++ 5 files changed, 54 insertions(+) -- 2.20.1