# Atmel SAM E70 MCU series configuration options

# Copyright (c) 2016 Piotr Mienkowski
# 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

# Configure default device drivers. If a feature is supported by more than one
# device driver the default configuration will be placed in the board defconfig
# file.

config DMA_SAM_XDMAC
	default y
	depends on DMA

config GPIO_SAM
	default y
	depends on GPIO

config ADC_SAM_AFEC
	default y
	depends on ADC

config I2C_SAM_TWIHS
	default y
	depends on I2C

config I2S_SAM_SSC
	default y
	depends on I2S

config SPI_SAM
	default y
	depends on SPI

config USB_DC_SAM_USBHS
	default y
	depends on USB_DEVICE_DRIVER

config ENTROPY_SAM_RNG
	default y
	depends on ENTROPY_GENERATOR

config SOC_FLASH_SAM
	default y
	depends on FLASH

config PWM_SAM
	default y
	depends on PWM

endif # SOC_SERIES_SAME70
