diff options
| author | Marek Vasut <[email protected]> | 2026-03-30 01:14:12 +0200 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2026-04-13 17:34:02 -0600 |
| commit | b0d731d9563cd6fb8bd6c8304065e550d97a22c7 (patch) | |
| tree | ce81b22ed3d94a49ecb21125a24b1bddca49b91e /Makefile | |
| parent | c8afe949d3dd5b2a2adb0e4f476372f2df8512de (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 'Makefile')
| -rw-r--r-- | Makefile | 8 |
1 files changed, 6 insertions, 2 deletions
@@ -531,7 +531,7 @@ UBOOTINCLUDE := \ -I$(srctree)/lib/mbedtls/external/mbedtls/include) \ $(if $(CONFIG_$(PHASE_)SYS_THUMB_BUILD), \ $(if $(CONFIG_HAS_THUMB2), \ - $(if $(CONFIG_CPU_V7M), \ + $(if $(CONFIG_CPU_V7M_V8M), \ -I$(srctree)/arch/arm/thumb1/include), \ -I$(srctree)/arch/arm/thumb1/include)) \ -I$(srctree)/arch/$(ARCH)/include \ @@ -1050,7 +1050,7 @@ UBOOTINCLUDE := \ -I$(srctree)/lib/mbedtls/external/mbedtls/include) \ $(if $(CONFIG_$(PHASE_)SYS_THUMB_BUILD), \ $(if $(CONFIG_HAS_THUMB2), \ - $(if $(CONFIG_CPU_V7M), \ + $(if $(CONFIG_CPU_V7M_V8M), \ -I$(srctree)/arch/arm/thumb1/include), \ -I$(srctree)/arch/arm/thumb1/include)) \ -I$(srctree)/arch/$(ARCH)/include \ @@ -1446,11 +1446,15 @@ quiet_cmd_copy = COPY $@ cmd_copy = cp $< $@ 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 |
