# Nordic Semiconductor nRF53 MCU line

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

config SOC_SERIES_NRF53X
	bool "Nordic Semiconductor nRF53 series MCU"
	select ARM
	select CPU_CORTEX_M33
	select CPU_CORTEX_M_HAS_DWT
	select CPU_HAS_ARM_MPU
	select SOC_FAMILY_NRF
	select XIP
	select HAS_NRFX
	select HAS_SEGGER_RTT
	help
	 Enable support for NRF53 MCU series
