Blackfin: add workaround for anomaly 05000171
authorMike Frysinger <vapier@gentoo.org>
Sat, 4 Apr 2009 12:09:24 +0000 (08:09 -0400)
committerMike Frysinger <vapier@gentoo.org>
Mon, 6 Apr 2009 21:37:47 +0000 (17:37 -0400)
DESCRIPTION:
The Boot ROM is executed at power up/reset and changes the value of the
SICA_IWR registers from their default reset value of 0xFFFF, but does not
restore them.

WORKAROUND:
User code should not rely on the default value of these registers.  Set
the desired values explicitly.

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

index 3120447c517e2feb51fcdfc3288b1db4a1f70e1e..d44c6a6fc55ca6d040a28249a3badcb2887ae27e 100644 (file)
@@ -355,6 +355,10 @@ void initcode(ADI_BOOT_DATA *bootstruct)
                bfrom_SysControl(actions, &memory_settings, NULL);
 #if ANOMALY_05000432
                bfin_write_SIC_IWR1(-1);
+#endif
+#if ANOMALY_05000171
+               bfin_write_SICA_IWR0(-1);
+               bfin_write_SICA_IWR1(-1);
 #endif
        } else {
                serial_putc('G');