summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2009-04-02 21:23:05 +0000
committeroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2009-04-02 21:23:05 +0000
commitf481deb58f586a72fc38253bbf89618a3611e4cc (patch)
treec4760123b407bf266ea21becf91f5c6eb775a11e
parent3f427b90e062a5bae22322986b6053d64f831234 (diff)
downloadopenocd+libswd-f481deb58f586a72fc38253bbf89618a3611e4cc.tar.gz
openocd+libswd-f481deb58f586a72fc38253bbf89618a3611e4cc.tar.bz2
openocd+libswd-f481deb58f586a72fc38253bbf89618a3611e4cc.tar.xz
openocd+libswd-f481deb58f586a72fc38253bbf89618a3611e4cc.zip
Nicolas Pitre nico at cam.org software ECC computation for NAND flash
git-svn-id: svn://svn.berlios.de/openocd/trunk@1444 b42882b7-edfa-0310-969c-e2dbd0fdcd60
-rw-r--r--src/flash/Makefile.am18
-rw-r--r--src/flash/nand.h1
2 files changed, 12 insertions, 7 deletions
diff --git a/src/flash/Makefile.am b/src/flash/Makefile.am
index 9d7746cd..7e57386b 100644
--- a/src/flash/Makefile.am
+++ b/src/flash/Makefile.am
@@ -2,11 +2,15 @@ INCLUDES = -I$(top_srcdir)/src/helper -I$(top_srcdir)/src/jtag -I$(top_srcdir)/s
AM_CPPFLAGS = -DPKGLIBDIR=\"$(pkglibdir)\" @CPPFLAGS@
METASOURCES = AUTO
noinst_LIBRARIES = libflash.a
-libflash_a_SOURCES = flash.c lpc2000.c cfi.c non_cfi.c at91sam7.c at91sam7_old.c str7x.c str9x.c aduc702x.c nand.c lpc3180_nand_controller.c \
- stellaris.c str9xpec.c stm32x.c tms470.c ecos.c orion_nand.c \
- s3c24xx_nand.c s3c2410_nand.c s3c2412_nand.c s3c2440_nand.c s3c2443_nand.c lpc288x.c ocl.c mflash.c pic32mx.c
-noinst_HEADERS = flash.h lpc2000.h cfi.h non_cfi.h at91sam7.h at91sam7_old.h str7x.h str9x.h nand.h lpc3180_nand_controller.h \
- stellaris.h str9xpec.h stm32x.h tms470.h s3c24xx_nand.h s3c24xx_regs_nand.h lpc288x.h mflash.h \
- ocl.h pic32mx.h
-
+libflash_a_SOURCES = \
+ flash.c lpc2000.c cfi.c non_cfi.c at91sam7.c at91sam7_old.c \
+ str7x.c str9x.c aduc702x.c nand.c nand_ecc.c \
+ lpc3180_nand_controller.c stellaris.c str9xpec.c stm32x.c tms470.c \
+ ecos.c orion_nand.c s3c24xx_nand.c s3c2410_nand.c s3c2412_nand.c \
+ s3c2440_nand.c s3c2443_nand.c lpc288x.c ocl.c mflash.c pic32mx.c
+noinst_HEADERS = \
+ flash.h lpc2000.h cfi.h non_cfi.h at91sam7.h at91sam7_old.h str7x.h \
+ str9x.h nand.h lpc3180_nand_controller.h stellaris.h str9xpec.h \
+ stm32x.h tms470.h s3c24xx_nand.h s3c24xx_regs_nand.h lpc288x.h \
+ mflash.h ocl.h pic32mx.h
MAINTAINERCLEANFILES = Makefile.in
diff --git a/src/flash/nand.h b/src/flash/nand.h
index d0dd7579..5535221a 100644
--- a/src/flash/nand.h
+++ b/src/flash/nand.h
@@ -197,6 +197,7 @@ extern nand_device_t *get_nand_device_by_num(int num);
extern int nand_read_page_raw(struct nand_device_s *device, u32 page, u8 *data, u32 data_size, u8 *oob, u32 oob_size);
extern int nand_write_page_raw(struct nand_device_s *device, u32 page, u8 *data, u32 data_size, u8 *oob, u32 oob_size);
extern int nand_read_status(struct nand_device_s *device, u8 *status);
+extern int nand_calculate_ecc(struct nand_device_s *device, const u8 *dat, u8 *ecc_code);
extern int nand_register_commands(struct command_context_s *cmd_ctx);
extern int nand_init(struct command_context_s *cmd_ctx);