diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index d3c2eecf32..614b83d66e 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -1058,6 +1058,12 @@ config ARM_NEON default y depends on ARM_HAVE_NEON && ARM_DPFPU32 +config ARM_DSP + bool "Advanced DSP Extension" + default y + ---help--- + Enables DSP Extension + config ARM_HAVE_MPU_UNIFIED bool default n diff --git a/arch/arm/src/armv8-m/Toolchain.defs b/arch/arm/src/armv8-m/Toolchain.defs index e694f6e7ed..4426699c66 100644 --- a/arch/arm/src/armv8-m/Toolchain.defs +++ b/arch/arm/src/armv8-m/Toolchain.defs @@ -20,19 +20,23 @@ # Parametrization for ARCHCPUFLAGS +ifeq ($(CONFIG_ARM_DSP),y) + EXTCPUFLAGS = +dsp +endif + ifeq ($(CONFIG_ARCH_CORTEXM23),y) TOOLCHAIN_MTUNE := -mtune=cortex-m23 TOOLCHAIN_MARCH := -march=armv8-m.main TOOLCHAIN_MFLOAT := -mfloat-abi=soft else ifeq ($(CONFIG_ARCH_CORTEXM33),y) TOOLCHAIN_MTUNE := -mtune=cortex-m33 - TOOLCHAIN_MARCH := -march=armv8-m.main+dsp + TOOLCHAIN_MARCH := -march=armv8-m.main$(EXTCPUFLAGS) ifeq ($(CONFIG_ARCH_FPU),y) TOOLCHAIN_MFLOAT := -mfpu=fpv5-sp-d16 endif else ifeq ($(CONFIG_ARCH_CORTEXM35P),y) TOOLCHAIN_MTUNE := -mtune=cortex-m35p - TOOLCHAIN_MARCH := -march=armv8-m.main+dsp + TOOLCHAIN_MARCH := -march=armv8-m.main$(EXTCPUFLAGS) ifeq ($(CONFIG_ARCH_FPU),y) TOOLCHAIN_MFLOAT := -mfpu=fpv5-sp-d16 endif @@ -41,7 +45,7 @@ else ifeq ($(CONFIG_ARCH_CORTEXM55),y) ifeq ($(CONFIG_ARM_HAVE_MVE),y) TOOLCHAIN_MARCH := -march=armv8.1-m.main+mve.fp+fp.dp else - TOOLCHAIN_MARCH := -march=armv8.1-m.main+dsp + TOOLCHAIN_MARCH := -march=armv8.1-m.main$(EXTCPUFLAGS) endif ifeq ($(CONFIG_ARCH_FPU),y) TOOLCHAIN_MFLOAT := -mfpu=fpv5-d16