diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/flash/nor/stm32lx.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/flash/nor/stm32lx.c b/src/flash/nor/stm32lx.c index e4f499d3..0c2fddc9 100644 --- a/src/flash/nor/stm32lx.c +++ b/src/flash/nor/stm32lx.c @@ -790,6 +790,11 @@ static int stm32lx_probe(struct flash_bank *bank) flash_size_in_kb = 256; } + /* 0x429 devices only use the lowest 8 bits of the flash size register */ + if (retval == ERROR_OK && (device_id & 0xfff) == 0x429) { + flash_size_in_kb &= 0xff; + } + /* Failed reading flash size or flash size invalid (early silicon), * default to max target family */ if (retval != ERROR_OK || flash_size_in_kb == 0xffff || flash_size_in_kb == 0) { |