arch: arm: Refactor CONFIG_CORTEX_M

Clean up Kconfig so each SoC just selects the specific Cortex-M
implementaiton rather than having to select both CORTEX_M and
CORTEX_{M0, M3, M4, etc.}.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
This commit is contained in:
Kumar Gala 2018-03-07 10:37:11 -06:00 committed by Kumar Gala
commit ad18f84f50
26 changed files with 67 additions and 79 deletions

View file

@ -69,9 +69,7 @@ endchoice
endmenu
if CPU_CORTEX_M
source "arch/arm/core/cortex_m/Kconfig"
endif
if CPU_HAS_MPU
source "arch/arm/core/cortex_m/mpu/Kconfig"

View file

@ -6,6 +6,71 @@
# SPDX-License-Identifier: Apache-2.0
#
# NOTE: We have the specific core implementations first and outside of the
# if CPU_CORTEX_M block so that SoCs can select which core they are using
# without having to select all the options related to that core. Everything
# else is captured inside the if CPU_CORTEX_M block so they are not exposed
# if one select a differnet ARM Cortex Family (Cortex-A or Cortex-R)
config CPU_CORTEX_M0
bool
select CPU_CORTEX_M
# Omit prompt to signify "hidden" option
select ARMV6_M_ARMV8_M_BASELINE
help
This option signifies the use of a Cortex-M0 CPU
config CPU_CORTEX_M0PLUS
bool
select CPU_CORTEX_M
# Omit prompt to signify "hidden" option
select ARMV6_M_ARMV8_M_BASELINE
help
This option signifies the use of a Cortex-M0+ CPU
config CPU_CORTEX_M3
bool
select CPU_CORTEX_M
# Omit prompt to signify "hidden" option
select ARMV7_M_ARMV8_M_MAINLINE
help
This option signifies the use of a Cortex-M3 CPU
config CPU_CORTEX_M4
bool
select CPU_CORTEX_M
# Omit prompt to signify "hidden" option
select ARMV7_M_ARMV8_M_MAINLINE
help
This option signifies the use of a Cortex-M4 CPU
config CPU_CORTEX_M23
bool
select CPU_CORTEX_M
# Omit prompt to signify "hidden" option
select ARMV6_M_ARMV8_M_BASELINE
help
This option signifies the use of a Cortex-M23 CPU
config CPU_CORTEX_M33
bool
select CPU_CORTEX_M
# Omit prompt to signify "hidden" option
select ARMV7_M_ARMV8_M_MAINLINE
help
This option signifies the use of a Cortex-M33 CPU
config CPU_CORTEX_M7
bool
select CPU_CORTEX_M
# Omit prompt to signify "hidden" option
select ARMV7_M_ARMV8_M_MAINLINE
default n
help
This option signifies the use of a Cortex-M7 CPU
if CPU_CORTEX_M
config ISA_THUMB2
bool
# Omit prompt to signify "hidden" option
@ -116,59 +181,6 @@ config ARMV7_M_ARMV8_M_FP
implementation, or the use of an ARMv8-M processor
implementation supporting the Floating-Point Extension.
config CPU_CORTEX_M0
bool
# Omit prompt to signify "hidden" option
select ARMV6_M_ARMV8_M_BASELINE
help
This option signifies the use of a Cortex-M0 CPU
config CPU_CORTEX_M0PLUS
bool
# Omit prompt to signify "hidden" option
select ARMV6_M_ARMV8_M_BASELINE
help
This option signifies the use of a Cortex-M0+ CPU
config CPU_CORTEX_M3
bool
# Omit prompt to signify "hidden" option
select ARMV7_M_ARMV8_M_MAINLINE
help
This option signifies the use of a Cortex-M3 CPU
config CPU_CORTEX_M4
bool
# Omit prompt to signify "hidden" option
select ARMV7_M_ARMV8_M_MAINLINE
select ARMV7_M_ARMV8_M_FP if CPU_HAS_FPU
help
This option signifies the use of a Cortex-M4 CPU
config CPU_CORTEX_M23
bool
# Omit prompt to signify "hidden" option
select ARMV6_M_ARMV8_M_BASELINE
help
This option signifies the use of a Cortex-M23 CPU
config CPU_CORTEX_M33
bool
# Omit prompt to signify "hidden" option
select ARMV7_M_ARMV8_M_MAINLINE
select ARMV7_M_ARMV8_M_FP if CPU_HAS_FPU
help
This option signifies the use of a Cortex-M33 CPU
config CPU_CORTEX_M7
bool
# Omit prompt to signify "hidden" option
select ARMV7_M_ARMV8_M_MAINLINE
select ARMV7_M_ARMV8_M_FP if CPU_HAS_FPU
default n
help
This option signifies the use of a Cortex-M7 CPU
menu "ARM Cortex-M options"
depends on CPU_CORTEX_M
@ -259,3 +271,5 @@ config SW_VECTOR_RELAY
(or an Armv8-M baseline core) with no VTOR and no other hardware
relocation table mechanisms.
endmenu
endif # CPU_CORTEX_M

View file

@ -9,7 +9,6 @@
config SOC_SERIES_BEETLE
bool "ARM Beetle MCU Series"
depends on ARM
select CPU_CORTEX_M
select CPU_CORTEX_M3
select SOC_FAMILY_ARM
select CPU_HAS_SYSTICK

View file

@ -8,7 +8,6 @@ config SOC_SERIES_MPS2
bool "ARM MPS2 MCU Series"
depends on ARM
select SOC_FAMILY_ARM
select CPU_CORTEX_M
select CPU_HAS_SYSTICK
select GPIO_MMIO32 if GPIO
help

View file

@ -8,7 +8,6 @@
config SOC_SERIES_SAM3X
bool "Atmel SAM3X MCU"
select CPU_CORTEX_M
select CPU_CORTEX_M3
select SOC_FAMILY_SAM
select SYS_POWER_LOW_POWER_STATE_SUPPORTED

View file

@ -7,7 +7,6 @@
config SOC_SERIES_SAM4S
bool "Atmel SAM4S MCU"
select CPU_CORTEX_M
select CPU_CORTEX_M4
select SOC_FAMILY_SAM
select SYS_POWER_LOW_POWER_STATE_SUPPORTED

View file

@ -6,7 +6,6 @@
config SOC_SERIES_SAME70
bool "Atmel SAME70 MCU"
select CPU_CORTEX_M
select CPU_CORTEX_M7
select SOC_FAMILY_SAM
select CPU_HAS_FPU

View file

@ -5,7 +5,6 @@
config SOC_SERIES_SAMD21
bool "Atmel SAMD21 MCU"
select CPU_CORTEX_M
select CPU_CORTEX_M0PLUS
select SOC_FAMILY_SAM0
select SYS_POWER_LOW_POWER_STATE_SUPPORTED

View file

@ -7,7 +7,6 @@
config SOC_SERIES_NRF51X
bool "Nordic Semiconductor nRF51 series MCU"
select CPU_CORTEX_M
select CPU_CORTEX_M0
select SOC_FAMILY_NRF5
select NRF_RTC_TIMER

View file

@ -7,7 +7,6 @@
config SOC_SERIES_NRF52X
bool "Nordic Semiconductor nRF52 series MCU"
select CPU_CORTEX_M
select CPU_CORTEX_M4
select CPU_HAS_FPU
select CPU_HAS_MPU

View file

@ -7,7 +7,6 @@
config SOC_SERIES_IMX_RT
bool "i.MX RT Series"
select CPU_CORTEX_M
select CPU_CORTEX_M7
select SOC_FAMILY_IMX
select SYS_POWER_LOW_POWER_STATE_SUPPORTED

View file

@ -7,7 +7,6 @@
config SOC_SERIES_KINETIS_K6X
bool "Kinetis K6x Series MCU"
select CPU_CORTEX_M
select CPU_CORTEX_M4
select SOC_FAMILY_KINETIS
select SYS_POWER_LOW_POWER_STATE_SUPPORTED

View file

@ -7,7 +7,6 @@
config SOC_SERIES_KINETIS_KL2X
bool "Kinetis KL2x Series MCU"
select CPU_CORTEX_M
select CPU_CORTEX_M0PLUS
select SOC_FAMILY_KINETIS
select SYS_POWER_LOW_POWER_STATE_SUPPORTED

View file

@ -7,7 +7,6 @@
config SOC_SERIES_KINETIS_KWX
bool "Kinetis KWx Series MCU"
select CPU_CORTEX_M
select SOC_FAMILY_KINETIS
select SYS_POWER_LOW_POWER_STATE_SUPPORTED
select CPU_HAS_SYSTICK

View file

@ -7,7 +7,6 @@
config SOC_SERIES_LPC54XXX
bool "LPC LPC54xxx Series MCU"
select CPU_CORTEX_M
select CPU_CORTEX_M4
select SOC_FAMILY_LPC
select SYS_POWER_LOW_POWER_STATE_SUPPORTED

View file

@ -7,7 +7,6 @@
config SOC_SERIES_EFM32WG
bool "EFM32WG Series MCU"
select CPU_CORTEX_M
select CPU_CORTEX_M4
select CPU_HAS_FPU
select SOC_FAMILY_EXX32

View file

@ -7,7 +7,6 @@
config SOC_SERIES_STM32F0X
bool "STM32F0x Series MCU"
select CPU_CORTEX_M
select CPU_CORTEX_M0
select CPU_CORTEX_M0_HAS_VECTOR_TABLE_REMAP
select SOC_FAMILY_STM32

View file

@ -7,7 +7,6 @@
config SOC_SERIES_STM32F1X
bool "STM32F1x Series MCU"
select CPU_CORTEX_M
select CPU_CORTEX_M3
select SOC_FAMILY_STM32
select SYS_POWER_LOW_POWER_STATE_SUPPORTED

View file

@ -7,7 +7,6 @@
config SOC_SERIES_STM32F3X
bool "STM32F3x Series MCU"
select CPU_CORTEX_M
select CPU_CORTEX_M4
select SOC_FAMILY_STM32
select SYS_POWER_LOW_POWER_STATE_SUPPORTED

View file

@ -7,7 +7,6 @@
config SOC_SERIES_STM32F4X
bool "STM32F4x Series MCU"
select CPU_CORTEX_M
select CPU_CORTEX_M4
select CPU_HAS_FPU
select SOC_FAMILY_STM32

View file

@ -7,7 +7,6 @@
config SOC_SERIES_STM32L0X
bool "STM32L0x Series MCU"
select CPU_CORTEX_M
select CPU_CORTEX_M0PLUS
select CPU_CORTEX_M_HAS_VTOR
select SOC_FAMILY_STM32

View file

@ -8,7 +8,6 @@
config SOC_SERIES_STM32L4X
bool "STM32L4x Series MCU"
select CPU_CORTEX_M
select CPU_CORTEX_M4
select SOC_FAMILY_STM32
select SYS_POWER_LOW_POWER_STATE_SUPPORTED

View file

@ -1,7 +1,6 @@
config SOC_TI_LM3S6965
bool "TI LM3S6965"
select CPU_CORTEX_M
select CPU_CORTEX_M3
select CPU_HAS_SYSTICK

View file

@ -5,7 +5,6 @@
config SOC_SERIES_CC2650
bool "TI SimpleLink Family CC2650"
select CPU_CORTEX_M
select CPU_CORTEX_M3
select SOC_FAMILY_TISIMPLELINK
select CPU_HAS_SYSTICK

View file

@ -3,7 +3,6 @@
config SOC_SERIES_CC32XX
bool "TI SimpleLink Family"
select CPU_CORTEX_M
select CPU_CORTEX_M4
select SOC_FAMILY_TISIMPLELINK
select CPU_HAS_SYSTICK

View file

@ -7,7 +7,6 @@
config SOC_SERIES_MSP432P4XX
bool "TI SimpleLink Family MSP432P4XX"
select CPU_CORTEX_M
select CPU_CORTEX_M4
select SOC_FAMILY_TISIMPLELINK
select CPU_HAS_FPU