]> git.sur5r.net Git - openocd/commitdiff
flash/stm32*: Sync all device/rev IDs with reference manuals
authorAndreas Fritiofson <andreas.fritiofson@gmail.com>
Tue, 9 Jul 2013 21:59:22 +0000 (23:59 +0200)
committerSpencer Oliver <spen@spen-soft.co.uk>
Mon, 15 Jul 2013 09:55:54 +0000 (09:55 +0000)
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>
src/flash/nor/stm32f1x.c
src/flash/nor/stm32f2x.c
src/flash/nor/stm32lx.c

index 3c360fcd0f89d748b9a2eeb00a245d4ba176f832..4244ba2458b94bb9966c2bf2f130a972dd994919 100644 (file)
@@ -1030,7 +1030,7 @@ static int get_stm32x_info(struct flash_bank *bank, char *buf, int buf_size)
 
        switch (device_id) {
        case 0x410:
-               device_str = "stm32x (Medium Density)";
+               device_str = "STM32F10x (Medium Density)";
 
                switch (rev_id) {
                case 0x0000:
@@ -1052,7 +1052,7 @@ static int get_stm32x_info(struct flash_bank *bank, char *buf, int buf_size)
                break;
 
        case 0x412:
-               device_str = "stm32x (Low Density)";
+               device_str = "STM32F10x (Low Density)";
 
                switch (rev_id) {
                case 0x1000:
@@ -1062,7 +1062,7 @@ static int get_stm32x_info(struct flash_bank *bank, char *buf, int buf_size)
                break;
 
        case 0x414:
-               device_str = "stm32x (High Density)";
+               device_str = "STM32F10x (High Density)";
 
                switch (rev_id) {
                case 0x1000:
@@ -1072,11 +1072,15 @@ static int get_stm32x_info(struct flash_bank *bank, char *buf, int buf_size)
                case 0x1001:
                        rev_str = "Z";
                        break;
+
+               case 0x1003:
+                       rev_str = "Y";
+                       break;
                }
                break;
 
        case 0x418:
-               device_str = "stm32x (Connectivity)";
+               device_str = "STM32F10x (Connectivity)";
 
                switch (rev_id) {
                case 0x1000:
@@ -1090,7 +1094,7 @@ static int get_stm32x_info(struct flash_bank *bank, char *buf, int buf_size)
                break;
 
        case 0x420:
-               device_str = "stm32x (Value)";
+               device_str = "STM32F100 (Low/Medium Density)";
 
                switch (rev_id) {
                case 0x1000:
@@ -1104,7 +1108,7 @@ static int get_stm32x_info(struct flash_bank *bank, char *buf, int buf_size)
                break;
 
        case 0x422:
-               device_str = "stm32f30x";
+               device_str = "STM32F30x";
 
                switch (rev_id) {
                case 0x1000:
@@ -1115,6 +1119,10 @@ static int get_stm32x_info(struct flash_bank *bank, char *buf, int buf_size)
                        rev_str = "Z";
                        break;
 
+               case 0x1003:
+                       rev_str = "Y";
+                       break;
+
                case 0x2000:
                        rev_str = "B";
                        break;
@@ -1122,7 +1130,7 @@ static int get_stm32x_info(struct flash_bank *bank, char *buf, int buf_size)
                break;
 
        case 0x428:
-               device_str = "stm32x (Value HD)";
+               device_str = "STM32F100 (High Density)";
 
                switch (rev_id) {
                case 0x1000:
@@ -1136,7 +1144,7 @@ static int get_stm32x_info(struct flash_bank *bank, char *buf, int buf_size)
                break;
 
        case 0x430:
-               device_str = "stm32x (XL)";
+               device_str = "STM32F10x (XL Density)";
 
                switch (rev_id) {
                case 0x1000:
@@ -1146,7 +1154,7 @@ static int get_stm32x_info(struct flash_bank *bank, char *buf, int buf_size)
                break;
 
        case 0x432:
-               device_str = "stm32f37x";
+               device_str = "STM32F37x";
 
                switch (rev_id) {
                case 0x1000:
@@ -1161,7 +1169,7 @@ static int get_stm32x_info(struct flash_bank *bank, char *buf, int buf_size)
 
        case 0x440:
        case 0x444:
-               device_str = "stm32f0x";
+               device_str = "STM32F0xx";
 
                switch (rev_id) {
                case 0x1000:
@@ -1175,7 +1183,7 @@ static int get_stm32x_info(struct flash_bank *bank, char *buf, int buf_size)
                break;
 
        default:
-               snprintf(buf, buf_size, "Cannot identify target as a stm32x\n");
+               snprintf(buf, buf_size, "Cannot identify target as a STM32F0/1/3\n");
                return ERROR_FAIL;
        }
 
index 0593bfdda2dfadf1b86c32e9cd2aee2da13d0050..719fa1a4124ae26806a596faad771a32dacdb807 100644 (file)
@@ -871,7 +871,7 @@ static int get_stm32x_info(struct flash_bank *bank, char *buf, int buf_size)
 
        switch (device_id) {
        case 0x411:
-               device_str = "stm32f2x";
+               device_str = "STM32F2xx";
 
                switch (rev_id) {
                case 0x1000:
@@ -898,7 +898,7 @@ static int get_stm32x_info(struct flash_bank *bank, char *buf, int buf_size)
 
        case 0x413:
        case 0x419:
-               device_str = "stm32f4x";
+               device_str = "STM32F4xx";
 
                switch (rev_id) {
                case 0x1000:
@@ -912,7 +912,7 @@ static int get_stm32x_info(struct flash_bank *bank, char *buf, int buf_size)
                break;
 
        default:
-               snprintf(buf, buf_size, "Cannot identify target as a stm32x\n");
+               snprintf(buf, buf_size, "Cannot identify target as a STM32F2/4\n");
                return ERROR_FAIL;
        }
 
index b907ff224651c8f0e8c2c81dbac3f2f74f47ea73..181c3118b47a82790c6ca429325c28661a6aa657 100644 (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;
        }