aboutsummaryrefslogtreecommitdiff
path: root/src/flash/nor/stm32f1x.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/flash/nor/stm32f1x.c')
-rw-r--r--src/flash/nor/stm32f1x.c19
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);