flash: fix stm32f1x dual bank detection
authorSpencer Oliver <spen@spen-soft.co.uk>
Tue, 6 Aug 2013 13:36:12 +0000 (14:36 +0100)
committerSpencer Oliver <spen@spen-soft.co.uk>
Thu, 29 Aug 2013 12:59:37 +0000 (12:59 +0000)
Not all devices with devce id 0x419 have dual flash banks, only those
with > 1024kB.

Change-Id: I197d2b87df7599cd0837e25648af48439f2f1e50
Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk>
Reviewed-on: http://openocd.zylin.com/1544
Tested-by: jenkins
src/flash/nor/stm32f2x.c

index 89fad60c7eb78f98d9fe95bb1a9fdaa32a0b928d..91baec4b86620676a454991da9c02cde44410644 100644 (file)
@@ -770,7 +770,6 @@ static int stm32x_probe(struct flash_bank *bank)
                break;
        case 0x419:
                max_flash_size_in_kb = 2048;
-               stm32x_info->has_large_mem = true;
                break;
        case 0x423:
                max_flash_size_in_kb = 256;
@@ -798,6 +797,10 @@ static int stm32x_probe(struct flash_bank *bank)
                flash_size_in_kb = stm32x_info->user_bank_size / 1024;
        }
 
+       /* only devices with > 1024kB have dual banks */
+       if (flash_size_in_kb > 1024)
+               stm32x_info->has_large_mem = true;
+
        LOG_INFO("flash size = %dkbytes", flash_size_in_kb);
 
        /* did we assign flash size? */