aboutsummaryrefslogtreecommitdiff
path: root/src/flash/nor/stm32lx.c
diff options
context:
space:
mode:
authorSpencer Oliver <spen@spen-soft.co.uk>2012-07-12 12:25:10 +0100
committerFreddie Chopin <freddie.chopin@gmail.com>2012-07-30 06:26:23 +0000
commit531fbf0ef25e75884f2ade2acafcf010cb3d7d2a (patch)
treeea4df1d4856501251b9dadb80b4ccdead36841ef /src/flash/nor/stm32lx.c
parentfe583e78c264156544e1797979afb63f2962d109 (diff)
flash: stm32l handle flash size read failure
Rather than failing if the flash size reg cannot be read lets assume we have the max flash size fitted. It is quite common on early ST silicon to not correct support this register. Change-Id: Ife058d60ae0027faad2c929ebd5b7fe2ef27234d Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk> Reviewed-on: http://openocd.zylin.com/743 Tested-by: jenkins Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-by: Freddie Chopin <freddie.chopin@gmail.com>
Diffstat (limited to 'src/flash/nor/stm32lx.c')
-rw-r--r--src/flash/nor/stm32lx.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/flash/nor/stm32lx.c b/src/flash/nor/stm32lx.c
index 716517b1..38631440 100644
--- a/src/flash/nor/stm32lx.c
+++ b/src/flash/nor/stm32lx.c
@@ -476,8 +476,11 @@ static int stm32lx_probe(struct flash_bank *bank)
/* get flash size from target. */
retval = target_read_u16(target, F_SIZE, &flash_size_in_kb);
- if (retval != ERROR_OK)
- return retval;
+ if (retval != ERROR_OK) {
+ LOG_WARNING("failed reading flash size, default to max target family");
+ /* failed reading flash size, default to max target family */
+ flash_size_in_kb = 0xffff;
+ }
if ((device_id & 0xfff) == 0x416) {
/* check for early silicon */