arch: arm: Introduce CPU_HAS_ARM_MPU and CPU_HAS_NXP_MPU options

This commit introduces CPU_HAS_ARM_MPU and CPU_HAS_NXP_MPU options,
which indicate which flavour of MPU is supported by given SoC family.

Signed-off-by: Piotr Zięcik <piotr.ziecik@nordicsemi.no>
This commit is contained in:
Piotr Zięcik 2018-08-09 14:47:27 +02:00 committed by Carles Cufí
commit d393186d51
11 changed files with 28 additions and 14 deletions

View file

@ -22,8 +22,7 @@ config MPU_STACK_GUARD
config ARM_MPU
bool "ARM MPU Support"
depends on !CPU_CORTEX_M0
depends on CPU_HAS_MPU
depends on SOC_FAMILY_ARM || SOC_FAMILY_STM32 || SOC_FAMILY_NRF || SOC_FAMILY_IMX || SOC_FAMILY_SAM
depends on CPU_HAS_ARM_MPU
select ARM_CORE_MPU
select ARCH_HAS_EXECUTABLE_PAGE_BIT
select MPU_REQUIRES_POWER_OF_TWO_ALIGNMENT if !(ARMV8_M_BASELINE || ARMV8_M_MAINLINE)
@ -34,8 +33,7 @@ config ARM_MPU
config NXP_MPU
bool "NXP MPU Support"
depends on CPU_HAS_MPU
depends on SOC_FAMILY_KINETIS
depends on CPU_HAS_NXP_MPU
select ARM_CORE_MPU
select ARCH_HAS_EXECUTABLE_PAGE_BIT
help

View file

@ -7,6 +7,7 @@ source "$(SOC_DIR)/$(ARCH)/*/Kconfig.soc"
endchoice
menu "Hardware Configuration"
osource "$(SOC_DIR)/$(ARCH)/Kconfig"
osource "$(SOC_DIR)/$(ARCH)/*/Kconfig"
endmenu

15
soc/arm/Kconfig Normal file
View file

@ -0,0 +1,15 @@
config CPU_HAS_ARM_MPU
bool
# Omit prompt to signify "hidden" option
select CPU_HAS_MPU
help
This option is enabled when the CPU has a Memory Protection Unit (MPU)
in ARM flavour.
config CPU_HAS_NXP_MPU
bool
# Omit prompt to signify "hidden" option
select CPU_HAS_MPU
help
This option is enabled when the CPU has a Memory Protection Unit (MPU)
in NXP flavour.

View file

@ -12,6 +12,6 @@ config SOC_SERIES_BEETLE
select CPU_CORTEX_M3
select SOC_FAMILY_ARM
select CPU_HAS_SYSTICK
select CPU_HAS_MPU
select CPU_HAS_ARM_MPU
help
Enable support for Beetle MCU Series

View file

@ -13,7 +13,7 @@ config SOC_SERIES_SAME70
select ASF
select XIP
select SYS_POWER_LOW_POWER_STATE_SUPPORTED
select CPU_HAS_MPU
select CPU_HAS_ARM_MPU
select ARM_MPU
help
Enable support for Atmel SAM E70 ARM Cortex-M7 Microcontrollers.

View file

@ -8,7 +8,7 @@
config SOC_SERIES_NRF52X
bool "Nordic Semiconductor nRF52 series MCU"
select CPU_CORTEX_M4
select CPU_HAS_MPU
select CPU_HAS_ARM_MPU
select SOC_FAMILY_NRF
select NRF_RTC_TIMER
select CLOCK_CONTROL

View file

@ -17,7 +17,7 @@ config SOC_MIMXRT1051
select HAS_MCUX_LPSPI
select HAS_MCUX_LPUART
select CPU_HAS_FPU
select CPU_HAS_MPU
select CPU_HAS_ARM_MPU
select INIT_ARM_PLL
select INIT_SYS_PLL
select INIT_USB1_PLL
@ -30,7 +30,7 @@ config SOC_MIMXRT1052
select HAS_MCUX_LPSPI
select HAS_MCUX_LPUART
select CPU_HAS_FPU
select CPU_HAS_MPU
select CPU_HAS_ARM_MPU
select INIT_ARM_PLL
select INIT_SYS_PLL
select INIT_USB1_PLL

View file

@ -11,7 +11,7 @@ config SOC_SERIES_KINETIS_K6X
select SOC_FAMILY_KINETIS
select SYS_POWER_LOW_POWER_STATE_SUPPORTED
select CPU_HAS_SYSTICK
select CPU_HAS_MPU
select CPU_HAS_NXP_MPU
select CLOCK_CONTROL
help
Enable support for Kinetis K6x MCU series

View file

@ -11,13 +11,13 @@ depends on SOC_SERIES_STM32F3X
config SOC_STM32F303XC
bool "STM32F303XC"
select CPU_HAS_MPU
select CPU_HAS_ARM_MPU
config SOC_STM32F334X8
bool "STM32F334X8"
config SOC_STM32F373XC
bool "STM32F373XC"
select CPU_HAS_MPU
select CPU_HAS_ARM_MPU
endchoice

View file

@ -12,7 +12,7 @@ config SOC_SERIES_STM32F4X
select SOC_FAMILY_STM32
select SYS_POWER_LOW_POWER_STATE_SUPPORTED
select HAS_STM32CUBE
select CPU_HAS_MPU
select CPU_HAS_ARM_MPU
select CPU_HAS_SYSTICK
select CLOCK_CONTROL_STM32_CUBE if CLOCK_CONTROL
help

View file

@ -13,7 +13,7 @@ config SOC_SERIES_STM32L4X
select SOC_FAMILY_STM32
select SYS_POWER_LOW_POWER_STATE_SUPPORTED
select HAS_STM32CUBE
select CPU_HAS_MPU
select CPU_HAS_ARM_MPU
select CPU_HAS_SYSTICK
select CLOCK_CONTROL_STM32_CUBE if CLOCK_CONTROL
help