From 421283941b8c5a2a86b34dead635e7f386e2fa5e Mon Sep 17 00:00:00 2001 From: Andrey Yurovsky Date: Mon, 22 Jul 2013 16:49:02 -0700 Subject: [PATCH] stm32f2x flash: add STM32F401 (F4 low power) Add support for the new STM32F401 parts. These are similar to the STM32F405/407 however they are a new Low Power variant with ID code 0x423 and have 256K of Flash. Tested with a modified F4 discovery board. Change-Id: Ida5fb14a0832934b4d6d1ec11e602df5076edbc8 Signed-off-by: Andrey Yurovsky Reviewed-on: http://openocd.zylin.com/1521 Tested-by: jenkins Reviewed-by: Andreas Fritiofson Reviewed-by: Spencer Oliver --- src/flash/nor/stm32f2x.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/flash/nor/stm32f2x.c b/src/flash/nor/stm32f2x.c index 719fa1a41..89fad60c7 100644 --- a/src/flash/nor/stm32f2x.c +++ b/src/flash/nor/stm32f2x.c @@ -772,6 +772,9 @@ static int stm32x_probe(struct flash_bank *bank) max_flash_size_in_kb = 2048; stm32x_info->has_large_mem = true; break; + case 0x423: + max_flash_size_in_kb = 256; + break; default: LOG_WARNING("Cannot identify target as a STM32 family."); return ERROR_FAIL; @@ -911,6 +914,20 @@ static int get_stm32x_info(struct flash_bank *bank, char *buf, int buf_size) } break; + case 0x423: + device_str = "STM32F4xx (Low Power)"; + + switch (rev_id) { + case 0x1000: + rev_str = "A"; + break; + + case 0x1001: + rev_str = "Z"; + break; + } + break; + default: snprintf(buf, buf_size, "Cannot identify target as a STM32F2/4\n"); return ERROR_FAIL;