[U-Boot] [PATCH] flash: Add optional verify-after-write feature
Stefan Roese
sr at denx.de
Thu Apr 4 09:12:34 CEST 2013
Sometimes it might make sense to verify the written data to NOR flash.
This patch adds this feature. To enable this verify-after-write, you
need to define CONFIG_SYS_FLASH_VERIFY_AFTER_WRITE in your board
config header.
Signed-off-by: Stefan Roese <sr at denx.de>
---
common/flash.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/common/flash.c b/common/flash.c
index 8244ba2..3ae3c9a 100644
--- a/common/flash.c
+++ b/common/flash.c
@@ -149,6 +149,9 @@ flash_write (char *src, ulong addr, ulong cnt)
flash_info_t *info_first = addr2info (addr);
flash_info_t *info_last = addr2info (end );
flash_info_t *info;
+ __maybe_unused char *src_orig = src;
+ __maybe_unused char *addr_orig = (char *)addr;
+ __maybe_unused ulong cnt_orig = cnt;
if (cnt == 0) {
return (ERR_OK);
@@ -185,6 +188,14 @@ flash_write (char *src, ulong addr, ulong cnt)
addr += len;
src += len;
}
+
+#if defined(CONFIG_SYS_FLASH_VERIFY_AFTER_WRITE)
+ if (memcmp(src_orig, addr_orig, cnt_orig)) {
+ printf("\nVerify-after-write failed!\n");
+ return ERR_PROG_ERROR;
+ }
+#endif /* CONFIG_SYS_FLASH_VERIFY_AFTER_WRITE */
+
return (ERR_OK);
#endif /* CONFIG_SPD823TS */
}
--
1.8.2
More information about the U-Boot
mailing list