aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Odell <aaronodell@google.com>2023-04-04 22:53:03 -0700
committerTravis Geiselbrecht <geist@foobox.com>2023-04-23 17:37:18 -0700
commit431e409c7861baf0a37a380474f58db614ff2aa8 (patch)
tree7c3cb356b8351f5e2a62717afc6a3ea9672c227c
parent9165714702beaae435f22f7ed54fa52addb36e49 (diff)
downloadlk-431e409c7861baf0a37a380474f58db614ff2aa8.tar.gz
[arch][arm-m] Add Cortex M55 support
Add the Cortex M55 as a supported target.
-rw-r--r--arch/arm/arm-m/include/arch/arm/cm.h2
-rw-r--r--arch/arm/include/arch/defines.h2
-rw-r--r--arch/arm/rules.mk12
-rw-r--r--arch/arm/toolchain.mk3
4 files changed, 19 insertions, 0 deletions
diff --git a/arch/arm/arm-m/include/arch/arm/cm.h b/arch/arm/arm-m/include/arch/arm/cm.h
index 5274395d..b0f2886e 100644
--- a/arch/arm/arm-m/include/arch/arm/cm.h
+++ b/arch/arm/arm-m/include/arch/arm/cm.h
@@ -24,6 +24,8 @@
#include <core_cm3.h>
#elif ARM_CPU_CORTEX_M4
#include <core_cm4.h>
+#elif ARM_CPU_CORTEX_M55
+#include <core_cm55.h>
#elif ARM_CPU_CORTEX_M7
#include <core_cm7.h>
#else
diff --git a/arch/arm/include/arch/defines.h b/arch/arm/include/arch/defines.h
index 2b0bb45d..9163263e 100644
--- a/arch/arm/include/arch/defines.h
+++ b/arch/arm/include/arch/defines.h
@@ -29,6 +29,8 @@
#define CACHE_LINE 32
#elif ARM_CPU_CORTEX_M0 || ARM_CPU_CORTEX_M0_PLUS || ARM_CPU_CORTEX_M3 || ARM_CPU_CORTEX_M4
#define CACHE_LINE 32 /* doesn't actually matter */
+#elif ARM_CPU_CORTEX_M55
+#define CACHE_LINE 32
#elif ARM_CPU_CORTEX_M7
#define CACHE_LINE 32
#elif ARM_CPU_CORTEX_A15
diff --git a/arch/arm/rules.mk b/arch/arm/rules.mk
index 027e5e01..c2b9431e 100644
--- a/arch/arm/rules.mk
+++ b/arch/arm/rules.mk
@@ -69,6 +69,18 @@ HANDLED_CORE := true
ENABLE_THUMB := true
SUBARCH := arm-m
endif
+ifeq ($(ARM_CPU),cortex-m55)
+GLOBAL_DEFINES += \
+ ARM_CPU_CORTEX_M55=1 \
+ ARM_ISA_ARMv7=1 \
+ ARM_ISA_ARMv7M=1 \
+ ARM_WITH_THUMB=1 \
+ ARM_WITH_THUMB2=1 \
+ ARM_WITH_CACHE=1
+HANDLED_CORE := true
+ENABLE_THUMB := true
+SUBARCH := arm-m
+endif
ifeq ($(ARM_CPU),cortex-m7)
GLOBAL_DEFINES += \
ARM_CPU_CORTEX_M7=1 \
diff --git a/arch/arm/toolchain.mk b/arch/arm/toolchain.mk
index dcab37ee..07f48719 100644
--- a/arch/arm/toolchain.mk
+++ b/arch/arm/toolchain.mk
@@ -66,6 +66,9 @@ endif
ifeq ($(ARM_CPU),cortex-m4)
ARCH_arm_COMPILEFLAGS += -mcpu=$(ARM_CPU)
endif
+ifeq ($(ARM_CPU),cortex-m55)
+ARCH_arm_COMPILEFLAGS += -mcpu=$(ARM_CPU)
+endif
ifeq ($(ARM_CPU),cortex-m7)
# use cortex-m4 for now until better general toolchain support
ARCH_arm_COMPILEFLAGS += -mcpu=cortex-m4