flash/stm32*: Sync all device/rev IDs with reference manuals

Uppercase device/family names and change them to be more specific and
consistent across all STM32 families.

High-density STM32F10x has a Rev Y according to RM0008 Rev 14, so add
it.

I have a STM32F30x Rev Y, sitting on my desk, but it isn't described in
the reference manual. Add it as well.

Split the STM32L1xx Medium+ Density devices based on ID, to match the
reference manual. If I read it correctly, the Medium+ devices have
different revision mappings depending on their package/device ID. I have
no real devices to examine, however.

Change-Id: I5b95e5fa3cdeba219aa96838ea06ec1bb62bd921
Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
Reviewed-on: http://openocd.zylin.com/1497
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
This commit is contained in:
Andreas Fritiofson
2013-07-09 23:59:22 +02:00
committed by Spencer Oliver
parent 0ce2ca748b
commit de353010c3
3 changed files with 35 additions and 18 deletions

View File

@@ -709,7 +709,7 @@ static int stm32lx_get_info(struct flash_bank *bank, char *buf, int buf_size)
switch (device_id) {
case 0x416:
device_str = "stm32lx";
device_str = "STM32L1xx (Low/Medium Density)";
switch (rev_id) {
case 0x1000:
@@ -734,9 +734,18 @@ static int stm32lx_get_info(struct flash_bank *bank, char *buf, int buf_size)
}
break;
case 0x436:
case 0x427:
device_str = "stm32lx (HD)";
device_str = "STM32L1xx (Medium+ Density)";
switch (rev_id) {
case 0x1018:
rev_str = "A";
break;
}
break;
case 0x436:
device_str = "STM32L1xx (Medium+/High Density)";
switch (rev_id) {
case 0x1000:
@@ -754,7 +763,7 @@ static int stm32lx_get_info(struct flash_bank *bank, char *buf, int buf_size)
break;
default:
snprintf(buf, buf_size, "Cannot identify target as a stm32lx");
snprintf(buf, buf_size, "Cannot identify target as a STM32L1");
return ERROR_FAIL;
}