summaryrefslogtreecommitdiff
path: root/firmware/export/tcc780x.h
diff options
context:
space:
mode:
authorRob Purchase <shotofadds@rockbox.org>2009-08-12 19:26:04 +0000
committerRob Purchase <shotofadds@rockbox.org>2009-08-12 19:26:04 +0000
commite783d0c82a6673d036a71f3eab3e69f95d4b0b37 (patch)
tree4e3966d266b4e8858bd4a016b5e828a73f364f24 /firmware/export/tcc780x.h
parent4c5ae4b06853a8aee9a4bda7d06e148a52d20285 (diff)
downloadrockbox-e783d0c82a6673d036a71f3eab3e69f95d4b0b37.tar.gz
rockbox-e783d0c82a6673d036a71f3eab3e69f95d4b0b37.zip
TCC: Implement ECC error correction for sectors read from NAND. Tested on D2 (78x, MLC) and M200 (77x, SLC).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22284 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/export/tcc780x.h')
-rw-r--r--firmware/export/tcc780x.h24
1 files changed, 12 insertions, 12 deletions
diff --git a/firmware/export/tcc780x.h b/firmware/export/tcc780x.h
index 24a4415ef3..497f1514e0 100644
--- a/firmware/export/tcc780x.h
+++ b/firmware/export/tcc780x.h
@@ -232,18 +232,18 @@
232 232
233/* ECC Controller */ 233/* ECC Controller */
234 234
235#define ECC_CTRL (*(volatile unsigned long *)0xF005B000) 235#define ECC_CTRL (*(volatile unsigned long *)0xF005B000)
236 #define ECC_M4EN (1<<6) 236 #define ECC_ENC (1<<27)
237 #define ECC_ENC (1<<27) 237 #define ECC_READY (1<<26)
238 #define ECC_READY (1<<26) 238 #define ECC_M4EN (1<<6)
239#define ECC_BASE (*(volatile unsigned long *)0xF005B004) 239#define ECC_BASE (*(volatile unsigned long *)0xF005B004)
240#define ECC_CLR (*(volatile unsigned long *)0xF005B00C) 240#define ECC_CLR (*(volatile unsigned long *)0xF005B00C)
241#define ECC_MLC0W (*(volatile unsigned long *)0xF005B030) 241#define MLC_ECC0W (*(volatile unsigned long *)0xF005B030)
242#define ECC_MLC1W (*(volatile unsigned long *)0xF005B034) 242#define MLC_ECC1W (*(volatile unsigned long *)0xF005B034)
243#define ECC_MLC2W (*(volatile unsigned long *)0xF005B038) 243#define MLC_ECC2W (*(volatile unsigned long *)0xF005B038)
244#define ECC_ERRADDR (*(volatile unsigned long *)0xF005B050) 244#define ECC_ERRADDR(x) (*(volatile unsigned long *)(0xF005B050+4*(x)))
245#define ECC_ERRDATA (*(volatile unsigned long *)0xF005B060) 245#define ECC_ERRDATA(x) (*(volatile unsigned long *)(0xF005B060+4*(x)))
246#define ECC_ERR (*(volatile unsigned long *)0xF005B070) 246#define ECC_ERR_NUM (*(volatile unsigned long *)0xF005B070)
247 247
248/* SD/MMC Controller */ 248/* SD/MMC Controller */
249 249