]> git.sur5r.net Git - u-boot/blobdiff - common/flash.c
am335x: Enable RTC 32K OSC clock
[u-boot] / common / flash.c
index eb4b2f5ff1cb8a7a841c9758d078dd8810847207..8244ba2ddde65b029cb5b5f8af9f8236129ddcb7 100644 (file)
@@ -27,6 +27,7 @@
 #include <flash.h>
 
 #if !defined(CONFIG_SYS_NO_FLASH)
+#include <mtd/cfi_flash.h>
 
 extern flash_info_t  flash_info[]; /* info for FLASH chips */
 
@@ -43,15 +44,18 @@ extern flash_info_t  flash_info[]; /* info for FLASH chips */
 void
 flash_protect (int flag, ulong from, ulong to, flash_info_t *info)
 {
-       ulong b_end = info->start[0] + info->size - 1;  /* bank end address */
-       short s_end = info->sector_count - 1;   /* index of last sector */
+       ulong b_end;
+       short s_end;
        int i;
 
        /* Do nothing if input data is bad. */
-       if (info->sector_count == 0 || info->size == 0 || to < from) {
+       if (!info || info->sector_count == 0 || info->size == 0 || to < from) {
                return;
        }
 
+       s_end = info->sector_count - 1; /* index of last sector */
+       b_end = info->start[0] + info->size - 1;        /* bank end address */
+
        debug ("flash_protect %s: from 0x%08lX to 0x%08lX\n",
                (flag & FLAG_PROTECT_SET) ? "ON" :
                        (flag & FLAG_PROTECT_CLEAR) ? "OFF" : "???",
@@ -217,6 +221,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;