
Hello
Investigating the code for ARM Versatile port, I've found this weird piece of code. If you look in $(UBOOT)/board/versatile/flash.c, line 100, flash_init() :
unsigned long flash_init (void) { int i; ulong size = 0; for (i = 0; i < CFG_MAX_FLASH_BANKS; i++) { switch (i) { case 0: flash_vpp(1); flash_get_size ((FPW *) PHYS_FLASH_1, &flash_info[i]); flash_get_offsets (PHYS_FLASH_1, &flash_info[i]); flash_vpp(0); break; default: panic ("configured too many flash banks!\n"); break; } size += flash_info[i].size; } .....
}
Regardless of CFG_MAX_FLASH_BANKS value, the only first bank is configured. Was it done deliberately or it's logical flaw? I think this code could cloned on a multiple of other platforms.