summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Nielsen Feltzing <linus@haxx.se>2003-10-27 10:30:12 +0000
committerLinus Nielsen Feltzing <linus@haxx.se>2003-10-27 10:30:12 +0000
commit266f411ff3f101392fe7f1780a9ca1ec86165417 (patch)
tree30d287b38a0617129d5297378481af9bf8f14969
parentc6acb58a82a054bf6972dd2fbf01cc5336c71216 (diff)
downloadrockbox-266f411ff3f101392fe7f1780a9ca1ec86165417.zip
rockbox-266f411ff3f101392fe7f1780a9ca1ec86165417.tar.gz
rockbox-266f411ff3f101392fe7f1780a9ca1ec86165417.tar.bz2
rockbox-266f411ff3f101392fe7f1780a9ca1ec86165417.tar.xz
Explicit setup of the bus controller wait states. This is supposed to fix the issue when the flashed recorder hangs when recording.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3991 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/system.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/firmware/system.c b/firmware/system.c
index 056d7eb..87d3b9d 100644
--- a/firmware/system.c
+++ b/firmware/system.c
@@ -490,4 +490,12 @@ void system_init(void)
/* Activate Warp mode (simultaneous internal and external mem access) */
BCR |= 0x2000;
+
+ /* Bus state controller initializations. These are only necessary when
+ running from flash. The correct settings for player models are not
+ verified, so we only do this for the recorder. */
+#ifdef HAVE_RECORDING
+ WCR1 = 0x4000; /* Long wait states for CS6 (ATA), short for the rest. */
+ WCR3 = 0x8000; /* WAIT is pulled up, 1 state inserted for CS6 */
+#endif
}