summaryrefslogtreecommitdiffstats
path: root/include/soc
diff options
context:
space:
mode:
authorPeter Rosin <peda@axentia.se>2015-02-05 14:02:09 +0800
committerNicolas Ferre <nicolas.ferre@atmel.com>2015-03-03 19:43:59 +0100
commit02f513a0970d97e4fc5f262f5a6c814014af524e (patch)
tree1608f7b1eaf9cd1e42df3f021031742bdbf68fcc /include/soc
parentad4a38d2187720a3d1442d693c99675ccd955f32 (diff)
downloadlinux-stable-02f513a0970d97e4fc5f262f5a6c814014af524e.tar.gz
linux-stable-02f513a0970d97e4fc5f262f5a6c814014af524e.tar.bz2
linux-stable-02f513a0970d97e4fc5f262f5a6c814014af524e.zip
pm: at91: Workaround DDRSDRC self-refresh bug with LPDDR1 memories.
The DDRSDR controller fails miserably to put LPDDR1 memories in self-refresh. Force the controller to think it has DDR2 memories during the self-refresh period, as the DDR2 self-refresh spec is equivalent to LPDDR1, and is correctly implemented in the controller. Assume that the second controller has the same fault, but that is untested. Signed-off-by: Peter Rosin <peda@axentia.se> Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Diffstat (limited to 'include/soc')
-rw-r--r--include/soc/at91/at91sam9_ddrsdr.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/soc/at91/at91sam9_ddrsdr.h b/include/soc/at91/at91sam9_ddrsdr.h
index 0210797abf2e..dc10c52e0e91 100644
--- a/include/soc/at91/at91sam9_ddrsdr.h
+++ b/include/soc/at91/at91sam9_ddrsdr.h
@@ -92,7 +92,7 @@
#define AT91_DDRSDRC_UPD_MR (3 << 20) /* Update load mode register and extended mode register */
#define AT91_DDRSDRC_MDR 0x20 /* Memory Device Register */
-#define AT91_DDRSDRC_MD (3 << 0) /* Memory Device Type */
+#define AT91_DDRSDRC_MD (7 << 0) /* Memory Device Type */
#define AT91_DDRSDRC_MD_SDR 0
#define AT91_DDRSDRC_MD_LOW_POWER_SDR 1
#define AT91_DDRSDRC_MD_LOW_POWER_DDR 3