# Atmel SAM E70 MCU series configuration options

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

if SOC_SERIES_SAME70

config SOC_SERIES
	default "same70"

config SOC_PART_NUMBER
	default "same70q21" if SOC_PART_NUMBER_SAME70Q21
	default "same70q20" if SOC_PART_NUMBER_SAME70Q20
	default "same70q19" if SOC_PART_NUMBER_SAME70Q19
	default "same70n21" if SOC_PART_NUMBER_SAME70N21
	default "same70n20" if SOC_PART_NUMBER_SAME70N20
	default "same70n19" if SOC_PART_NUMBER_SAME70N19
	default "same70j21" if SOC_PART_NUMBER_SAME70J21
	default "same70j20" if SOC_PART_NUMBER_SAME70J20
	default "same70j19" if SOC_PART_NUMBER_SAME70J19
	default "same70q21b" if SOC_PART_NUMBER_SAME70Q21B
	default "same70q20b" if SOC_PART_NUMBER_SAME70Q20B
	default "same70q19b" if SOC_PART_NUMBER_SAME70Q19B
	default "same70n21b" if SOC_PART_NUMBER_SAME70N21B
	default "same70n20b" if SOC_PART_NUMBER_SAME70N20B
	default "same70n19b" if SOC_PART_NUMBER_SAME70N19B
	default "same70j21b" if SOC_PART_NUMBER_SAME70J21B
	default "same70j20b" if SOC_PART_NUMBER_SAME70J20B
	default "same70j19b" if SOC_PART_NUMBER_SAME70J19B

#
# SAM E70 family has in total 71 peripherals capable of generating interrupts
# for the revision A and 74 for the revision B (not all Peripheral Identifiers
# are used).
#
config NUM_IRQS
	default 74 if SOC_ATMEL_SAME70_REVB
	default 71

endif # SOC_SERIES_SAME70
