summaryrefslogtreecommitdiff
path: root/dts
diff options
context:
space:
mode:
authorMarek Vasut <[email protected]>2026-03-30 01:14:12 +0200
committerTom Rini <[email protected]>2026-04-13 17:34:02 -0600
commitb0d731d9563cd6fb8bd6c8304065e550d97a22c7 (patch)
treece81b22ed3d94a49ecb21125a24b1bddca49b91e /dts
parentc8afe949d3dd5b2a2adb0e4f476372f2df8512de (diff)
arm: Add ARMv8-M aarch32 support
Add configuration for ARMv8-M aarch32 core, which are currently Cortex-M23/M33 cores. These cores are treated similar to ARMv7-M cores, except the code has to be compiled with matching compiler -march=armv8-m.main flag . These cores have no MMU, they have MPU, which is currently not configured. Unlike ARMv7-M, these cores have 512 interrupt vectors. While the SYS_ARM_ARCH should be set to 8, it is set to 7 because all of the initialization code is built from arch/arm/cpu/armv7m and not armv8. Furthermore, CONFIG_ARM64 must be disabled, although DTs for devices using these cores do come from arch/arm64/boot/dts. To avoid excess duplication in Makefiles, introduce one new Kconfig symbol, CPU_V7M_V8M. The CPU_V7M_V8M cover both ARMv7-M and ARMv8-M cores. Signed-off-by: Marek Vasut <[email protected]> Acked-by: Udit Kumar <[email protected]>
Diffstat (limited to 'dts')
-rw-r--r--dts/Makefile4
1 files changed, 4 insertions, 0 deletions
diff --git a/dts/Makefile b/dts/Makefile
index bec6c49da2c..befc6de1805 100644
--- a/dts/Makefile
+++ b/dts/Makefile
@@ -11,11 +11,15 @@ DEVICE_TREE := unset
endif
ifeq ($(CONFIG_OF_UPSTREAM),y)
+ifeq ($(CONFIG_CPU_V8M),y)
+dt_dir := dts/upstream/src/arm64
+else
ifeq ($(CONFIG_ARM64),y)
dt_dir := dts/upstream/src/arm64
else
dt_dir := dts/upstream/src/$(ARCH)
endif
+endif
else
dt_dir := arch/$(ARCH)/dts
endif