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)
committerSatyanarayana, Sandhya <sandhya.satyanarayana@ti.com>
Thu, 21 Jun 2012 12:56:43 +0000 (18:26 +0530)
commit447d0cf0cddfb6c6258d47ae97883da6c5aa07d4
treed5d4f66adc05b46c7226f1838d6da9f711beb8bb
parente7035955ebcfb6dde8bebb5f6a4b22d03c2b61a1
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