mbox series

[0/2] ARM: OMAP2+: AM43x: Support DDR HW leveling suspend/resume

Message ID 20190402165743.28106-1-d-gerlach@ti.com (mailing list archive)
Headers show
Series ARM: OMAP2+: AM43x: Support DDR HW leveling suspend/resume | expand

Message

Dave Gerlach April 2, 2019, 4:57 p.m. UTC
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(+)