ARM: OMAP: AM33XX: PM: Fix bug which incorrectly chooses memory type
authorSatyanarayana, Sandhya <sandhya.satyanarayana@ti.com>
Mon, 18 Jun 2012 11:52:55 +0000 (17:22 +0530)
committerVishveshwar Bhat <vishveshwar.bhat@ti.com>
Fri, 22 Jun 2012 06:28:27 +0000 (11:58 +0530)
commiteeb4531cfc8c4b440873b69b4115e52a084cb567
tree572b28d701f63d4994c8f65402dcfd8fbe478a65
parent04f2245b98fb7baf6b10d3e5e35fc43e9e9d2864
ARM: OMAP: AM33XX: PM: Fix bug which incorrectly chooses memory type

This patch fixes the bug where the memory type was being
derived incorrectly from the SDRAM_CONFIG register.

Because of this, the VTP settings for DDR2 and DDR3
were being incorrectly chosen.
Also, the memory type was always being selected as DDR2
and DDR2 suspend-resume sequence was executing for both
DDR2 and DDR3.

Note:
With this patch suspend-to-RAM fails on EVM-SK rev 1.1.

On AM335x using DDR3, we need to disable VTP in order to
get to a low power state. This patch makes it happen.
Once VTP is disabled, none of the control outputs are driven
by the EMIF/PHY. That is why an external pull-up is needed
on DDR_RESET and a pull down is required on CKE.

On EVM-SK Rev 1.1, the pull down is enabled on CKE, but
it is a weak pull down. This is not enough to overcome the
VTT pull up to 0.75V. Thus, the DDR never properly goes
to self refresh.

On the next revision of the EVM-SK board (rev 1.2),
there is an ability to disable the VTT regulator, and there
is an external pull down on CKE. Thus we should be able to
keep CKE low throughout self-refresh.

Based on a fix suggested by James Doublesin.

Reported-by: James Doublesin <doublesin@ti.com>
Signed-off-by: Satyanarayana, Sandhya <sandhya.satyanarayana@ti.com>
arch/arm/mach-omap2/pm33xx.c
arch/arm/plat-omap/include/plat/emif.h