summaryrefslogtreecommitdiff
path: root/board/netphone/flash.c
diff options
context:
space:
mode:
Diffstat (limited to 'board/netphone/flash.c')
-rw-r--r--board/netphone/flash.c23
1 files changed, 12 insertions, 11 deletions
diff --git a/board/netphone/flash.c b/board/netphone/flash.c
index adbc28e..0c81140 100644
--- a/board/netphone/flash.c
+++ b/board/netphone/flash.c
@@ -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);