# Copyright (c) 2022 Renesas Electronics Corporation
# SPDX-License-Identifier: Apache-2.0

config SOC_SERIES_DA1469X
	bool "Renesas SmartBond(tm) DA1469x series MCU"
	select ARM
	select CPU_CORTEX_M33
	select CPU_HAS_FPU
	select CPU_HAS_ARM_MPU
	select CPU_CORTEX_M_HAS_SYSTICK
	select ARMV8_M_DSP
	select SOC_FAMILY_SMARTBOND
	select HAS_SEGGER_RTT if ZEPHYR_SEGGER_MODULE
	select CLOCK_CONTROL
	select CLOCK_CONTROL_SMARTBOND
	help
	  Enable support for Renesas SmartBond(tm) DA1469x MCU series
