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 <s...@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 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot