diff options
Diffstat (limited to 'src/flash/nor/stm32f1x.c')
-rw-r--r-- | src/flash/nor/stm32f1x.c | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/src/flash/nor/stm32f1x.c b/src/flash/nor/stm32f1x.c index 0871b30..82f112e 100644 --- a/src/flash/nor/stm32f1x.c +++ b/src/flash/nor/stm32f1x.c @@ -894,7 +894,7 @@ static int stm32x_probe(struct flash_bank *bank) stm32x_info->ppage_size = 4; max_flash_size_in_kb = 128; break; - case 0x422: /* stm32f302xb/c */ + case 0x422: /* stm32f302/3xb/c */ page_size = 2048; stm32x_info->ppage_size = 2; max_flash_size_in_kb = 256; @@ -902,6 +902,14 @@ static int stm32x_probe(struct flash_bank *bank) stm32x_info->option_offset = 6; stm32x_info->default_rdp = 0x55AA; break; + case 0x446: /* stm32f303xD/E */ + page_size = 2048; + stm32x_info->ppage_size = 2; + max_flash_size_in_kb = 512; + stm32x_info->user_data_offset = 16; + stm32x_info->option_offset = 6; + stm32x_info->default_rdp = 0x55AA; + break; case 0x428: /* value line High density */ page_size = 2048; stm32x_info->ppage_size = 4; @@ -1240,6 +1248,15 @@ static int get_stm32x_info(struct flash_bank *bank, char *buf, int buf_size) rev_str = get_stm32f0_revision(rev_id); break; + case 0x446: + device_str = "STM32F303xD/E"; + switch (rev_id) { + case 0x1000: + rev_str = "A"; + break; + } + break; + case 0x448: device_str = "STM32F07x"; rev_str = get_stm32f0_revision(rev_id); |