diff options
author | Piotr Mienkowski <Piotr.Mienkowski@schmid-telecom.ch> | 2016-09-27 11:55:39 +0200 |
---|---|---|
committer | Kumar Gala <kumar.gala@linaro.org> | 2016-10-26 12:58:40 -0500 |
commit | 378fa6598fac1500efad384f2fcb5d0c377ce634 (patch) | |
tree | 9764aa37f8dca66146a96d992cb0a056e6629c44 /arch | |
parent | 19ffcab434723b3a047eed739c40209af21c1582 (diff) |
arch: Add support for Cortex-M7 processor
All M7 features common to M3/M4 are working. New features like Tightly
Coupled Memory (TCM) are not yet supported.
Change-Id: I5f7b292e70843aec415728f24c973bb003014f4b
Jira: ZEP-977
Signed-off-by: Piotr Mienkowski <Piotr.Mienkowski@schmid-telecom.ch>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/Makefile | 9 | ||||
-rw-r--r-- | arch/arm/core/cortex_m/Kconfig | 12 |
2 files changed, 16 insertions, 5 deletions
diff --git a/arch/arm/Makefile b/arch/arm/Makefile index bc187eda1..4c8de9c6d 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -14,19 +14,19 @@ cflags-cortex-m3 = $(call cc-option,-mabi=aapcs -mthumb -mcpu=cortex-m3) \ $(call cc-option,-mthumb -march=armv7-m) cflags-cortex-m4 = $(call cc-option,-mabi=aapcs -mthumb -mcpu=cortex-m4) \ $(call cc-option,-mthumb -march=armv7e-m) +cflags-cortex-m7 = $(call cc-option,-mabi=aapcs -mthumb -mcpu=cortex-m7) ifeq ($(CONFIG_FLOAT), y) ifeq ($(CONFIG_FP_SOFTABI), y) cflags-cortex-m4 += $(call cc-option,-mfloat-abi=softfp -mfpu=fpv4-sp-d16) +cflags-cortex-m7 += $(call cc-option,-mfloat-abi=softfp -mfpu=fpv5-d16) endif ifeq ($(CONFIG_FP_HARDABI), y) cflags-cortex-m4 += $(call cc-option,-mfloat-abi=hard -mfpu=fpv4-sp-d16) +cflags-cortex-m7 += $(call cc-option,-mfloat-abi=hard -mfpu=fpv5-d16) endif endif -cflags-cortex-m7 = $(call cc-option,-mabi=aapcs -mthumb -mcpu=cortex-m7) \ - $(call cc-option,-mthumb -march=armv7e-m) - aflags-$(CONFIG_CPU_CORTEX_M0) += $(cflags-cortex-m0) cflags-$(CONFIG_CPU_CORTEX_M0) += $(cflags-cortex-m0) cxxflags-$(CONFIG_CPU_CORTEX_M0) += $(cflags-cortex-m0) @@ -43,6 +43,9 @@ aflags-$(CONFIG_CPU_CORTEX_M4) += $(cflags-cortex-m4) cflags-$(CONFIG_CPU_CORTEX_M4) += $(cflags-cortex-m4) cxxflags-$(CONFIG_CPU_CORTEX_M4) += $(cflags-cortex-m4) +aflags-$(CONFIG_CPU_CORTEX_M7) += $(cflags-cortex-m7) +cflags-$(CONFIG_CPU_CORTEX_M7) += $(cflags-cortex-m7) +cxxflags-$(CONFIG_CPU_CORTEX_M7) += $(cflags-cortex-m7) KBUILD_AFLAGS += $(aflags-y) KBUILD_CFLAGS += $(cflags-y) diff --git a/arch/arm/core/cortex_m/Kconfig b/arch/arm/core/cortex_m/Kconfig index 098247360..9b81e39b9 100644 --- a/arch/arm/core/cortex_m/Kconfig +++ b/arch/arm/core/cortex_m/Kconfig @@ -91,6 +91,14 @@ config CPU_CORTEX_M4 help This option signifies the use of a Cortex-M4 CPU +config CPU_CORTEX_M7 + bool + # Omit prompt to signify "hidden" option + default n + select ISA_THUMB2 + help + This option signifies the use of a Cortex-M7 CPU + menu "ARM Cortex-M options" depends on CPU_CORTEX_M @@ -181,8 +189,8 @@ config FLASH_BASE_ADDRESS avoid modifying it via the menu configuration. endmenu -menu "ARM Cortex-M0/M0+/M3/M4 options" - depends on CPU_CORTEX_M0_M0PLUS || CPU_CORTEX_M3_M4 +menu "ARM Cortex-M0/M0+/M3/M4/M7 options" + depends on CPU_CORTEX_M0_M0PLUS || CPU_CORTEX_M3_M4 || CPU_CORTEX_M7 config IRQ_OFFLOAD bool "Enable IRQ offload" |