Blackfin: check for reserved settings in DDR MMRs
authorMike Frysinger <vapier@gentoo.org>
Sun, 12 Oct 2008 01:46:52 +0000 (21:46 -0400)
committerMike Frysinger <vapier@gentoo.org>
Fri, 6 Feb 2009 02:25:35 +0000 (21:25 -0500)
Some bits of the DDR MMRs should not be set.  If they do, bad things may
happen (like random failures or hardware destruction).

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
cpu/blackfin/initcode.c

index aafad10bdec3bbdaf840323b64b70aaa08e40aa9..71f33759e00a49a2774aec033f34673bfe9c2e12 100644 (file)
@@ -168,11 +168,18 @@ static inline void serial_putc(char c)
 #ifndef CONFIG_EBIU_RSTCTL_VAL
 # define CONFIG_EBIU_RSTCTL_VAL 0 /* only MDDRENABLE is useful */
 #endif
+#if ((CONFIG_EBIU_RSTCTL_VAL & 0xFFFFFFC4) != 0)
+# error invalid EBIU_RSTCTL value: must not set reserved bits
+#endif
 
 #ifndef CONFIG_EBIU_MBSCTL_VAL
 # define CONFIG_EBIU_MBSCTL_VAL 0
 #endif
 
+#if defined(CONFIG_EBIU_DDRQUE_VAL) && ((CONFIG_EBIU_DDRQUE_VAL & 0xFFFF8000) != 0)
+# error invalid EBIU_DDRQUE value: must not set reserved bits
+#endif
+
 /* Make sure our voltage value is sane so we don't blow up! */
 #ifndef CONFIG_VR_CTL_VAL
 # define BFIN_CCLK ((CONFIG_CLKIN_HZ * CONFIG_VCO_MULT) / CONFIG_CCLK_DIV)