X-Git-Url: https://review.openocd.org/gitweb?a=blobdiff_plain;f=src%2Fflash%2Fnor%2Fstm32f1x.c;h=c9757d8f1b00f2161b0bd3c293956e5f0caff27a;hb=c4b52f8fd7b06f8cec5db5cdf33fd984a255ceaa;hp=aacf6dcd942da3d7db06689fecad1570381ba688;hpb=565f8481c7b71614a05d79ab79af8610d2535a81;p=openocd.git diff --git a/src/flash/nor/stm32f1x.c b/src/flash/nor/stm32f1x.c index aacf6dcd94..c9757d8f1b 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: /* stm32f30x */ + case 0x422: /* stm32f302xb/c */ page_size = 2048; stm32x_info->ppage_size = 2; max_flash_size_in_kb = 256; @@ -921,8 +921,18 @@ static int stm32x_probe(struct flash_bank *bank) stm32x_info->option_offset = 6; stm32x_info->default_rdp = 0x55AA; break; + case 0x438: /* stm32f33x */ + case 0x439: /* stm32f302x6/8 */ + page_size = 2048; + stm32x_info->ppage_size = 2; + max_flash_size_in_kb = 64; + stm32x_info->user_data_offset = 16; + stm32x_info->option_offset = 6; + stm32x_info->default_rdp = 0x55AA; + break; case 0x440: /* stm32f05x */ case 0x444: /* stm32f03x */ + case 0x445: /* stm32f04x */ page_size = 1024; stm32x_info->ppage_size = 4; max_flash_size_in_kb = 64; @@ -1116,7 +1126,7 @@ static int get_stm32x_info(struct flash_bank *bank, char *buf, int buf_size) break; case 0x422: - device_str = "STM32F30x"; + device_str = "STM32F302xB/C"; switch (rev_id) { case 0x1000: @@ -1175,6 +1185,30 @@ static int get_stm32x_info(struct flash_bank *bank, char *buf, int buf_size) } break; + case 0x438: + device_str = "STM32F33x"; + + switch (rev_id) { + case 0x1000: + rev_str = "A"; + break; + } + break; + + case 0x439: + device_str = "STM32F302x6/8"; + + switch (rev_id) { + case 0x1000: + rev_str = "A"; + break; + + case 0x1001: + rev_str = "Z"; + break; + } + break; + case 0x444: device_str = "STM32F03x"; @@ -1203,6 +1237,20 @@ static int get_stm32x_info(struct flash_bank *bank, char *buf, int buf_size) } break; + case 0x445: + device_str = "STM32F04x"; + + switch (rev_id) { + case 0x1000: + rev_str = "1.0"; + break; + + case 0x2000: + rev_str = "2.0"; + break; + } + break; + case 0x448: device_str = "STM32F07x";