summary refs log tree commit diff
path: root/include/soc/at91
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/at91
parentad4a38d2187720a3d1442d693c99675ccd955f32 (diff)
downloadlinux-02f513a0970d97e4fc5f262f5a6c814014af524e.tar.gz
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')
-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