cortex_m: add detection of Cortex M35P and M55 99/5799/2
authorTarek BOCHKATI <tarek.bouchkati@gmail.com>
Tue, 11 Aug 2020 14:23:19 +0000 (15:23 +0100)
committerAntonio Borneo <borneo.antonio@gmail.com>
Sun, 20 Sep 2020 13:35:48 +0000 (14:35 +0100)
Change-Id: I52599b2b09c2dc50c95d64059213c832d380ea31
Signed-off-by: Tarek BOCHKATI <tarek.bouchkati@gmail.com>
Reviewed-on: http://openocd.zylin.com/5799
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
src/target/cortex_m.c
src/target/cortex_m.h

index 4b0ea50..e52332d 100644 (file)
@@ -2176,11 +2176,15 @@ int cortex_m_examine(struct target *target)
                        case CORTEX_M23_PARTNO:
                                i = 23;
                                break;
                        case CORTEX_M23_PARTNO:
                                i = 23;
                                break;
-
                        case CORTEX_M33_PARTNO:
                                i = 33;
                                break;
                        case CORTEX_M33_PARTNO:
                                i = 33;
                                break;
-
+                       case CORTEX_M35P_PARTNO:
+                               i = 35;
+                               break;
+                       case CORTEX_M55_PARTNO:
+                               i = 55;
+                               break;
                        default:
                                armv7m->arm.is_armv8m = false;
                                break;
                        default:
                                armv7m->arm.is_armv8m = false;
                                break;
@@ -2213,7 +2217,7 @@ int cortex_m_examine(struct target *target)
                                LOG_DEBUG("Cortex-M%d floating point feature FPv4_SP found", i);
                                armv7m->fp_feature = FPv4_SP;
                        }
                                LOG_DEBUG("Cortex-M%d floating point feature FPv4_SP found", i);
                                armv7m->fp_feature = FPv4_SP;
                        }
-               } else if (i == 7 || i == 33) {
+               } else if (i == 7 || i == 33 || i == 35 || i == 55) {
                        target_read_u32(target, MVFR0, &mvfr0);
                        target_read_u32(target, MVFR1, &mvfr1);
 
                        target_read_u32(target, MVFR0, &mvfr0);
                        target_read_u32(target, MVFR1, &mvfr1);
 
index 3545328..415a6c2 100644 (file)
@@ -44,6 +44,8 @@
 
 #define CORTEX_M23_PARTNO      0xD200
 #define CORTEX_M33_PARTNO      0xD210
 
 #define CORTEX_M23_PARTNO      0xD200
 #define CORTEX_M33_PARTNO      0xD210
+#define CORTEX_M35P_PARTNO     0xD310
+#define CORTEX_M55_PARTNO      0xD220
 
 /* Debug Control Block */
 #define DCB_DHCSR      0xE000EDF0
 
 /* Debug Control Block */
 #define DCB_DHCSR      0xE000EDF0