flash: handle zero when reading stm32 flash size reg
Some variants read 0 for the flash size register, rather than failing lets assume we have max flash fitted. Change-Id: Ie1fb4e73606f49268a6fd5921c3aef75bc4790d3 Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk> Reviewed-on: http://openocd.zylin.com/744 Tested-by: jenkins Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-by: Freddie Chopin <freddie.chopin@gmail.com>__archive__
parent
531fbf0ef2
commit
055abd0b9c
|
@ -902,6 +902,11 @@ static int stm32x_probe(struct flash_bank *bank)
|
|||
flash_size_in_kb = 0xffff;
|
||||
}
|
||||
|
||||
/* some variants read 0 for flash size register
|
||||
* use a max flash size as a default */
|
||||
if (flash_size_in_kb == 0)
|
||||
flash_size_in_kb = 0xffff;
|
||||
|
||||
if ((device_id & 0xfff) == 0x410) {
|
||||
/* medium density - we have 1k pages
|
||||
* 4 pages for a protection area */
|
||||
|
|
|
@ -605,6 +605,11 @@ static int stm32x_probe(struct flash_bank *bank)
|
|||
flash_size_in_kb = 0xffff;
|
||||
}
|
||||
|
||||
/* some variants read 0 for flash size register
|
||||
* use a max flash size as a default */
|
||||
if (flash_size_in_kb == 0)
|
||||
flash_size_in_kb = 0xffff;
|
||||
|
||||
if ((device_id & 0xfff) == 0x411) {
|
||||
/* check for early silicon */
|
||||
if (flash_size_in_kb == 0xffff) {
|
||||
|
|
|
@ -482,6 +482,11 @@ static int stm32lx_probe(struct flash_bank *bank)
|
|||
flash_size_in_kb = 0xffff;
|
||||
}
|
||||
|
||||
/* some variants read 0 for flash size register
|
||||
* use a max flash size as a default */
|
||||
if (flash_size_in_kb == 0)
|
||||
flash_size_in_kb = 0xffff;
|
||||
|
||||
if ((device_id & 0xfff) == 0x416) {
|
||||
/* check for early silicon */
|
||||
if (flash_size_in_kb == 0xffff) {
|
||||
|
|
Loading…
Reference in New Issue