# Kconfig.soc - Nordic Semiconductor nRF52 MCU line
#
# Copyright (c) 2016 Nordic Semiconductor ASA
#
# SPDX-License-Identifier: Apache-2.0
#

config SOC_NRF52832
	depends on SOC_SERIES_NRF52X
	bool

config SOC_NRF52840
	depends on SOC_SERIES_NRF52X
	bool

choice
prompt "nRF52x MCU Selection"
depends on SOC_SERIES_NRF52X

config SOC_NRF52832_QFAA
	bool "NRF52832_QFAA"
	select SOC_NRF52832

config SOC_NRF52840_QIAA
	bool "NRF52840_QIAA"
	select SOC_NRF52840

endchoice

config ARM_MPU_NRF52X
	bool "Enable MPU on nRF52"
	depends on CPU_HAS_MPU
	select ARM_MPU
	default n
	help
	  Enable MPU support on Nordic Semiconductor nRF52x series ICs.
