From: Kuldeep Singh Dhaka Date: Mon, 3 Feb 2014 16:27:33 +0000 (+0530) Subject: nor/flash/stm32f1x: add stm32f07x support X-Git-Tag: v0.8.0-rc1~90 X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=commitdiff_plain;h=7b9b4a0d287cdf84033a0d34d05a25fa80160cf5 nor/flash/stm32f1x: add stm32f07x support Added configuration to work with stm32f07x. Tested on stm32f072discovery with libopencm3 stm32f0 blink example. Change-Id: I63cdc9bf1f28f5951d6b4faac871cfde331c9c78 Signed-off-by: Kuldeep Singh Dhaka Reviewed-on: http://openocd.zylin.com/1921 Tested-by: jenkins Reviewed-by: Paul Fertser Reviewed-by: Andreas Fritiofson --- diff --git a/src/flash/nor/stm32f1x.c b/src/flash/nor/stm32f1x.c index 30652c6f06..105bd79c08 100644 --- a/src/flash/nor/stm32f1x.c +++ b/src/flash/nor/stm32f1x.c @@ -921,8 +921,8 @@ static int stm32x_probe(struct flash_bank *bank) stm32x_info->option_offset = 6; stm32x_info->default_rdp = 0x55AA; break; - case 0x440: /* stm32f0x */ - case 0x444: + case 0x440: /* stm32f05x */ + case 0x444: /* stm32f03x */ page_size = 1024; stm32x_info->ppage_size = 4; max_flash_size_in_kb = 64; @@ -930,6 +930,14 @@ static int stm32x_probe(struct flash_bank *bank) stm32x_info->option_offset = 6; stm32x_info->default_rdp = 0x55AA; break; + case 0x448: /* stm32f07x */ + page_size = 2048; + stm32x_info->ppage_size = 4; + max_flash_size_in_kb = 128; + stm32x_info->user_data_offset = 16; + stm32x_info->option_offset = 6; + stm32x_info->default_rdp = 0x55AA; + break; default: LOG_WARNING("Cannot identify target as a STM32 family."); return ERROR_FAIL; @@ -1167,9 +1175,36 @@ static int get_stm32x_info(struct flash_bank *bank, char *buf, int buf_size) } break; - case 0x440: case 0x444: - device_str = "STM32F0xx"; + device_str = "STM32F03x"; + + switch (rev_id) { + case 0x1000: + rev_str = "1.0"; + break; + + case 0x2000: + rev_str = "2.0"; + break; + } + break; + + case 0x440: + device_str = "STM32F05x"; + + switch (rev_id) { + case 0x1000: + rev_str = "1.0"; + break; + + case 0x2000: + rev_str = "2.0"; + break; + } + break; + + case 0x448: + device_str = "STM32F07x"; switch (rev_id) { case 0x1000: