diff options
author | Spencer Oliver <spen@spen-soft.co.uk> | 2012-01-09 12:42:31 +0000 |
---|---|---|
committer | Spencer Oliver <spen@spen-soft.co.uk> | 2012-01-12 20:42:40 +0000 |
commit | ad0847ca38e4c9d7ea0051ac7718afd3aa61868e (patch) | |
tree | 5024ea4f6cd92776416d57fb3a829ce03b485d95 /src/flash/nor/stm32f1x.c | |
parent | afe95871c59f05d532529af84e1ee80e3845e923 (diff) |
flash: use correct device_id mask
The stm32 drivers have been using 0x7ff as the DEV_ID mask, this should
have been 0xfff.
Change-Id: I232469620969d6dd1b9a2a2aa15ec18b947dbb05
Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk>
Reviewed-on: http://openocd.zylin.com/352
Tested-by: jenkins
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
Diffstat (limited to 'src/flash/nor/stm32f1x.c')
-rw-r--r-- | src/flash/nor/stm32f1x.c | 55 |
1 files changed, 14 insertions, 41 deletions
diff --git a/src/flash/nor/stm32f1x.c b/src/flash/nor/stm32f1x.c index 5d9da903..738c2dac 100644 --- a/src/flash/nor/stm32f1x.c +++ b/src/flash/nor/stm32f1x.c @@ -977,8 +977,7 @@ static int stm32x_probe(struct flash_bank *bank) flash_size_in_kb = 0xffff; } - if ((device_id & 0x7ff) == 0x410) - { + if ((device_id & 0xfff) == 0x410) { /* medium density - we have 1k pages * 4 pages for a protection area */ page_size = 1024; @@ -991,9 +990,7 @@ static int stm32x_probe(struct flash_bank *bank) LOG_WARNING("STM32 flash size failed, probe inaccurate - assuming 128k flash"); flash_size_in_kb = 128; } - } - else if ((device_id & 0x7ff) == 0x412) - { + } else if ((device_id & 0xfff) == 0x412) { /* low density - we have 1k pages * 4 pages for a protection area */ page_size = 1024; @@ -1006,9 +1003,7 @@ static int stm32x_probe(struct flash_bank *bank) LOG_WARNING("STM32 flash size failed, probe inaccurate - assuming 32k flash"); flash_size_in_kb = 32; } - } - else if ((device_id & 0x7ff) == 0x414) - { + } else if ((device_id & 0xfff) == 0x414) { /* high density - we have 2k pages * 2 pages for a protection area */ page_size = 2048; @@ -1021,9 +1016,7 @@ static int stm32x_probe(struct flash_bank *bank) LOG_WARNING("STM32 flash size failed, probe inaccurate - assuming 512k flash"); flash_size_in_kb = 512; } - } - else if ((device_id & 0x7ff) == 0x418) - { + } else if ((device_id & 0xfff) == 0x418) { /* connectivity line density - we have 2k pages * 2 pages for a protection area */ page_size = 2048; @@ -1036,9 +1029,7 @@ static int stm32x_probe(struct flash_bank *bank) LOG_WARNING("STM32 flash size failed, probe inaccurate - assuming 256k flash"); flash_size_in_kb = 256; } - } - else if ((device_id & 0x7ff) == 0x420) - { + } else if ((device_id & 0xfff) == 0x420) { /* value line density - we have 1k pages * 4 pages for a protection area */ page_size = 1024; @@ -1051,9 +1042,7 @@ static int stm32x_probe(struct flash_bank *bank) LOG_WARNING("STM32 flash size failed, probe inaccurate - assuming 128k flash"); flash_size_in_kb = 128; } - } - else if ((device_id & 0x7ff) == 0x428) - { + } else if ((device_id & 0xfff) == 0x428) { /* value line High density - we have 2k pages * 4 pages for a protection area */ page_size = 2048; @@ -1066,10 +1055,7 @@ static int stm32x_probe(struct flash_bank *bank) LOG_WARNING("STM32 flash size failed, probe inaccurate - assuming 128k flash"); flash_size_in_kb = 128; } - } - - else if ((device_id & 0x7ff) == 0x430) - { + } else if ((device_id & 0xfff) == 0x430) { /* xl line density - we have 2k pages * 2 pages for a protection area */ page_size = 2048; @@ -1165,8 +1151,7 @@ static int get_stm32x_info(struct flash_bank *bank, char *buf, int buf_size) if (retval != ERROR_OK) return retval; - if ((device_id & 0x7ff) == 0x410) - { + if ((device_id & 0xfff) == 0x410) { printed = snprintf(buf, buf_size, "stm32x (Medium Density) - Rev: "); buf += printed; buf_size -= printed; @@ -1193,9 +1178,7 @@ static int get_stm32x_info(struct flash_bank *bank, char *buf, int buf_size) snprintf(buf, buf_size, "unknown"); break; } - } - else if ((device_id & 0x7ff) == 0x412) - { + } else if ((device_id & 0xfff) == 0x412) { printed = snprintf(buf, buf_size, "stm32x (Low Density) - Rev: "); buf += printed; buf_size -= printed; @@ -1210,9 +1193,7 @@ static int get_stm32x_info(struct flash_bank *bank, char *buf, int buf_size) snprintf(buf, buf_size, "unknown"); break; } - } - else if ((device_id & 0x7ff) == 0x414) - { + } else if ((device_id & 0xfff) == 0x414) { printed = snprintf(buf, buf_size, "stm32x (High Density) - Rev: "); buf += printed; buf_size -= printed; @@ -1231,9 +1212,7 @@ static int get_stm32x_info(struct flash_bank *bank, char *buf, int buf_size) snprintf(buf, buf_size, "unknown"); break; } - } - else if ((device_id & 0x7ff) == 0x418) - { + } else if ((device_id & 0xfff) == 0x418) { printed = snprintf(buf, buf_size, "stm32x (Connectivity) - Rev: "); buf += printed; buf_size -= printed; @@ -1252,9 +1231,7 @@ static int get_stm32x_info(struct flash_bank *bank, char *buf, int buf_size) snprintf(buf, buf_size, "unknown"); break; } - } - else if ((device_id & 0x7ff) == 0x420) - { + } else if ((device_id & 0xfff) == 0x420) { printed = snprintf(buf, buf_size, "stm32x (Value) - Rev: "); buf += printed; buf_size -= printed; @@ -1273,9 +1250,7 @@ static int get_stm32x_info(struct flash_bank *bank, char *buf, int buf_size) snprintf(buf, buf_size, "unknown"); break; } - } - else if ((device_id & 0x7ff) == 0x428) - { + } else if ((device_id & 0xfff) == 0x428) { printed = snprintf(buf, buf_size, "stm32x (Value HD) - Rev: "); buf += printed; buf_size -= printed; @@ -1294,9 +1269,7 @@ static int get_stm32x_info(struct flash_bank *bank, char *buf, int buf_size) snprintf(buf, buf_size, "unknown"); break; } - } - else if ((device_id & 0x7ff) == 0x430) - { + } else if ((device_id & 0xfff) == 0x430) { printed = snprintf(buf, buf_size, "stm32x (XL) - Rev: "); buf += printed; buf_size -= printed; |