]> git.sur5r.net Git - u-boot/blobdiff - common/flash.c
sdhci: Add sdhci support for spear devices
[u-boot] / common / flash.c
index 781cb9c4a2e0edef319de5506ee4546214b4c5df..0c57a3fcdde9b6bc777e6501721e1b0d4bc1f5c1 100644 (file)
@@ -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_FLASH_VERIFY)
+       if (memcmp(src_orig, addr_orig, cnt_orig)) {
+               printf("\nVerify failed!\n");
+               return ERR_PROG_ERROR;
+       }
+#endif /* CONFIG_SYS_FLASH_VERIFY_AFTER_WRITE */
+
        return (ERR_OK);
 #endif /* CONFIG_SPD823TS */
 }
@@ -221,6 +232,9 @@ void flash_perror (int err)
        case ERR_PROG_ERROR:
                puts ("General Flash Programming Error\n");
                break;
+       case ERR_ABORTED:
+               puts("Flash Programming Aborted\n");
+               break;
        default:
                printf ("%s[%d] FIXME: rc=%d\n", __FILE__, __LINE__, err);
                break;