flash/stm32l4x: add support of STM32G0Bx/G0Cx devices
this device has a dual bank flash architecture up to 512 KB (page 2KB)
reference: RM0444 Rev 5
notes:
- 128k variant is always single bank
- 256k variant flash is contiguous (no gap) in dual bank mode
- BKER is bit 13 vs bit 11 for other devices
> added cr_bker_mask in stm32l4_flash_bank struct
- BSY2 for bank 2 operations
> added sr_bsy_mask in stm32l4_flash_bank struct
> proposed optimization: always wait for (BSY1 | BSY2) with
STM32G0Bx/G0Cx devices only (for L4+ devices BSY2=PEMPTY)
TODO: update flashloader to use the proper BSY bits
temporarily don't use the loader in dual bank mode
Change-Id: I54b0c93b494e7209da818791d15edd8cd42c2732
Signed-off-by: Tarek BOCHKATI <tarek.bouchkati@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/6036
Reviewed-by: Oleksij Rempel <linux@rempel-privat.de>
Tested-by: jenkins
This commit is contained in:
committed by
Oleksij Rempel
parent
e7e46ba61e
commit
43d31a8fd5
@@ -24,7 +24,8 @@
|
||||
#define FLASH_PER (1 << 1)
|
||||
#define FLASH_MER1 (1 << 2)
|
||||
#define FLASH_PAGE_SHIFT 3
|
||||
#define FLASH_CR_BKER (1 << 11)
|
||||
#define FLASH_BKER (1 << 11)
|
||||
#define FLASH_BKER_G0 (1 << 13)
|
||||
#define FLASH_MER2 (1 << 15)
|
||||
#define FLASH_STRT (1 << 16)
|
||||
#define FLASH_OPTSTRT (1 << 17)
|
||||
@@ -36,6 +37,7 @@
|
||||
|
||||
/* FLASH_SR register bits */
|
||||
#define FLASH_BSY (1 << 16)
|
||||
#define FLASH_BSY2 (1 << 17)
|
||||
|
||||
/* Fast programming not used => related errors not used*/
|
||||
#define FLASH_PGSERR (1 << 7) /* Programming sequence error */
|
||||
|
||||
Reference in New Issue
Block a user