flash/stm32l4x: fix dual bank support for STM32L552xC devices
For STM32L552xC devices with 256K flash: dual bank mode is activated if DB256 is set page size is 2KB if DBANK is set For parts with 512K (aka STM32L5x2xE): DBANK controls both of dual/single bank mode and page size as well. Change-Id: I8be668d5552fefe81acffaf2e3e35ef5e938162e Signed-off-by: Tarek BOCHKATI <tarek.bouchkati@gmail.com> Reported-by: Patrik Bachan <diggit@users.sourceforge.net> Fixes: https://sourceforge.net/p/openocd/tickets/317/ Reviewed-on: https://review.openocd.org/c/openocd/+/6538 Tested-by: jenkins Reviewed-by: Oleksij Rempel <linux@rempel-privat.de>
This commit is contained in:
parent
050fcb1760
commit
a1903f2867
|
@ -1923,15 +1923,17 @@ static int stm32l4_probe(struct flash_bank *bank)
|
||||||
/* STM32L55/L56xx can be single/dual bank:
|
/* STM32L55/L56xx can be single/dual bank:
|
||||||
* if size = 512K check DBANK bit
|
* if size = 512K check DBANK bit
|
||||||
* if size = 256K check DB256K bit
|
* if size = 256K check DB256K bit
|
||||||
|
*
|
||||||
|
* default page size is 4kb, if DBANK = 1, the page size is 2kb.
|
||||||
*/
|
*/
|
||||||
page_size_kb = 4;
|
|
||||||
|
page_size_kb = (stm32l4_info->optr & FLASH_L5_DBANK) ? 2 : 4;
|
||||||
num_pages = flash_size_kb / page_size_kb;
|
num_pages = flash_size_kb / page_size_kb;
|
||||||
stm32l4_info->bank1_sectors = num_pages;
|
stm32l4_info->bank1_sectors = num_pages;
|
||||||
|
|
||||||
if ((is_max_flash_size && (stm32l4_info->optr & FLASH_L5_DBANK)) ||
|
if ((is_max_flash_size && (stm32l4_info->optr & FLASH_L5_DBANK)) ||
|
||||||
(!is_max_flash_size && (stm32l4_info->optr & FLASH_L5_DB256))) {
|
(!is_max_flash_size && (stm32l4_info->optr & FLASH_L5_DB256))) {
|
||||||
stm32l4_info->dual_bank_mode = true;
|
stm32l4_info->dual_bank_mode = true;
|
||||||
page_size_kb = 2;
|
|
||||||
num_pages = flash_size_kb / page_size_kb;
|
|
||||||
stm32l4_info->bank1_sectors = num_pages / 2;
|
stm32l4_info->bank1_sectors = num_pages / 2;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue