# Atmel SAM E70 MCU series

# Copyright (c) 2016 Piotr Mienkowski
# Copyright (c) 2023 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0

config SOC_SERIES_SAME70
	bool "Atmel SAME70 MCU"
	select ARM
	select CPU_CORTEX_M7
	select CPU_CORTEX_M_HAS_DWT
	select CPU_HAS_ARM_MPU
	select CPU_HAS_FPU_DOUBLE_PRECISION
	select CPU_HAS_ICACHE
	select CPU_HAS_DCACHE
	select SOC_FAMILY_SAM
	select INIT_ARCH_HW_AT_BOOT
	select PLATFORM_SPECIFIC_INIT
	select ASF
	select HAS_SWO
	select XIP
	select HAS_POWEROFF
	help
	  Enable support for Atmel SAM E70 ARM Cortex-M7 Microcontrollers.
	  Part No.: SAME70J19, SAME70J20, SAME70J21, SAME70N19, SAME70N20,
	  SAME70N21, SAME70Q19, SAME70Q20, SAME70Q21, SAME70J19B, SAME70J20B,
	  SAME70J21B, SAME70N19B, SAME70N20B, SAME70N21B, SAME70Q19B,
	  SAME70Q20B, SAME70Q21B
