# Nordic Semiconductor nRF91 MCU line

# Copyright (c) 2018 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0

config SOC_SERIES_NRF91X
	bool "Nordic Semiconductor nRF91 series MCU"
	select ARM
	select CPU_CORTEX_M33
	select CPU_CORTEX_M_HAS_DWT
	select CPU_HAS_ARM_MPU
	select CPU_HAS_NRF_IDAU
	select CPU_HAS_FPU
	select ARMV8_M_DSP
	select SOC_FAMILY_NRF
	select XIP
	select HAS_NRFX
	select HAS_SEGGER_RTT
	help
	  Enable support for NRF91 MCU series
