summaryrefslogtreecommitdiffstats
path: root/include/soc/at91/at91sam9_ddrsdr.h
diff options
context:
space:
mode:
authorPeter Rosin2015-02-05 07:02:09 +0100
committerNicolas Ferre2015-03-03 19:43:59 +0100
commit02f513a0970d97e4fc5f262f5a6c814014af524e (patch)
tree1608f7b1eaf9cd1e42df3f021031742bdbf68fcc /include/soc/at91/at91sam9_ddrsdr.h
parentpm: at91: pm_slowclock: fix suspend/resume hang up in timeouts (diff)
downloadkernel-qcow2-linux-02f513a0970d97e4fc5f262f5a6c814014af524e.tar.gz
kernel-qcow2-linux-02f513a0970d97e4fc5f262f5a6c814014af524e.tar.xz
kernel-qcow2-linux-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/at91/at91sam9_ddrsdr.h')
-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