]> git.ipfire.org Git - people/ms/u-boot.git/blobdiff - board/netphone/flash.c
Patch by Pantelis Antoniou, 5 May 2004:
[people/ms/u-boot.git] / board / netphone / flash.c
index adbc28e101411bb36c7207855402cfc153099a3a..0c81140f238ae11765cd9eeab8702ef1cc8aece4 100644 (file)
@@ -87,21 +87,22 @@ unsigned long flash_init(void)
 
 #if CONFIG_NETPHONE_VERSION == 2
        size1 = flash_get_size((vu_long *) FLASH_BASE4_PRELIM, &flash_info[1]);
+       if (size1 > 0) {
+               if (flash_info[1].flash_id == FLASH_UNKNOWN)
+                       printf("## Unknown FLASH on Bank 1 - Size = 0x%08lx = %ld MB\n", size1, size1 << 20);
 
-       if (flash_info[1].flash_id == FLASH_UNKNOWN && size1 > 0) {
-               printf("## Unknown FLASH on Bank 1 - Size = 0x%08lx = %ld MB\n", size1, size1 << 20);
-       }
-
-       /* Remap FLASH according to real size */
-       memctl->memc_or4 = CFG_OR_TIMING_FLASH | (-size1 & 0xFFFF8000);
-       memctl->memc_br4 = (CFG_FLASH_BASE4 & BR_BA_MSK) | (memctl->memc_br4 & ~(BR_BA_MSK));
+               /* Remap FLASH according to real size */
+               memctl->memc_or4 = CFG_OR_TIMING_FLASH | (-size1 & 0xFFFF8000);
+               memctl->memc_br4 = (CFG_FLASH_BASE4 & BR_BA_MSK) | (memctl->memc_br4 & ~(BR_BA_MSK));
 
-       /* Re-do sizing to get full correct info */
-       size1 = flash_get_size((vu_long *) CFG_FLASH_BASE4, &flash_info[1]);
+               /* Re-do sizing to get full correct info */
+               size1 = flash_get_size((vu_long *) CFG_FLASH_BASE4, &flash_info[1]);
 
-       flash_get_offsets(CFG_FLASH_BASE4, &flash_info[1]);
+               flash_get_offsets(CFG_FLASH_BASE4, &flash_info[1]);
 
-       size += size1;
+               size += size1;
+       } else
+               memctl->memc_br4 &= ~BR_V;
 #endif
 
        return (size);