#
# For a description of the syntax of this configuration file,
# see misc/tools/kconfig-language.txt.
#

comment "Atmel SAMD Configuration Options"

choice
	prompt "Atmel SAMD Chip Selection"
	default ARCH_CHIP_SAMD20J18
	depends on ARCH_CHIP_SAMD

config ARCH_CHIP_SAMD20E14
	bool "SAMD20E14"
	select ARCH_FAMILY_SAMD20
	select ARCH_FAMILY_SAMD20E
	---help---
		Flash 16KB SRAM 2KB

config ARCH_CHIP_SAMD20E15
	bool "SAMD20E15"
	select ARCH_FAMILY_SAMD20
	select ARCH_FAMILY_SAMD20E
	---help---
		Flash 32KB SRAM 4KB

config ARCH_CHIP_SAMD20E16
	bool "SAMD20E16"
	select ARCH_FAMILY_SAMD20
	select ARCH_FAMILY_SAMD20E
	---help---
		Flash 64KB SRAM 8KB

config ARCH_CHIP_SAMD20E17
	bool "SAMD20E17"
	select ARCH_FAMILY_SAMD20
	select ARCH_FAMILY_SAMD20E
	---help---
		Flash 128KB SRAM 16KB

config ARCH_CHIP_SAMD20E18
	bool "SAMD20E18"
	select ARCH_FAMILY_SAMD20
	select ARCH_FAMILY_SAMD20E
	---help---
		Flash 256KB SRAM 32KB

config ARCH_CHIP_SAMD20G14
	bool "SAMD20G14"
	select ARCH_FAMILY_SAMD20
	select ARCH_FAMILY_SAMD20G
	---help---
		Flash 16KB SRAM 2KB

config ARCH_CHIP_SAMD20G15
	bool "SAMD20G15"
	select ARCH_FAMILY_SAMD20
	select ARCH_FAMILY_SAMD20G
	---help---
		Flash 32KB SRAM 4KB

config ARCH_CHIP_SAMD20G16
	bool "SAMD20G16"
	select ARCH_FAMILY_SAMD20
	select ARCH_FAMILY_SAMD20G
	---help---
		Flash 64KB SRAM 8KB

config ARCH_CHIP_SAMD20G17
	bool "SAMD20G17"
	select ARCH_FAMILY_SAMD20
	select ARCH_FAMILY_SAMD20G
	---help---
		Flash 128KB SRAM 16KB

config ARCH_CHIP_SAMD20G18
	bool "SAMD20G18"
	select ARCH_FAMILY_SAMD20
	select ARCH_FAMILY_SAMD20G
	---help---
		Flash 256KB SRAM 32KB

config ARCH_CHIP_SAMD20J14
	bool "SAMD20J14"
	select ARCH_FAMILY_SAMD20
	select ARCH_FAMILY_SAMD20J
	---help---
		Flash 16KB SRAM 2KB

config ARCH_CHIP_SAMD20J15
	bool "SAMD20J15"
	select ARCH_FAMILY_SAMD20
	select ARCH_FAMILY_SAMD20J
	---help---
		Flash 32KB SRAM 4KB

config ARCH_CHIP_SAMD20J16
	bool "SAMD20J16"
	select ARCH_FAMILY_SAMD20
	select ARCH_FAMILY_SAMD20J
	---help---
		Flash 64KB SRAM 8KB

config ARCH_CHIP_SAMD20J17
	bool "SAMD20J17"
	select ARCH_FAMILY_SAMD20
	select ARCH_FAMILY_SAMD20J
	---help---
		Flash 128KB SRAM 16KB

config ARCH_CHIP_SAMD20J18
	bool "SAMD20J18"
	select ARCH_FAMILY_SAMD20
	select ARCH_FAMILY_SAMD20J
	---help---
		Flash 256KB SRAM 32KB

endchoice

config ARCH_FAMILY_SAMD20
	bool
	default n

config ARCH_FAMILY_SAMD20E
	bool
	default n

config ARCH_FAMILY_SAMD20G
	bool
	default n
	select SAMD_HAVE_SERCOM4
	select SAMD_HAVE_SERCOM5

config ARCH_FAMILY_SAMD20J
	bool
	default n
	select SAMD_HAVE_SERCOM4
	select SAMD_HAVE_SERCOM5
	select SAMD_HAVE_TC6
	select SAMD_HAVE_TC7

config SAMD_HAVE_SERCOM4
	bool
	default n

config SAMD_HAVE_SERCOM5
	bool
	default n

config SAMD_HAVE_TC6
	bool
	default n

config SAMD_HAVE_TC7
	bool
	default n

menu "SAMD Peripheral Support"

config SAMD_WDT
	bool "Watchdog Timer"
	default n

config SAMD_RTC
	bool "Real Time Counter"
	default n

config SAMD_NVMCTRL
	bool "Non-Volatile Memory Controller"
	default n

config SAMD_EVSYS
	bool "Event System"
	default n

config SAMD_SERCOM0
	bool "Serial Communication Interface 0"
	default n

config SAMD_SERCOM1
	bool "Serial Communication Interface 1"
	default n

config SAMD_SERCOM2
	bool "Serial Communication Interface 2"
	default n

config SAMD_SERCOM3
	bool "Serial Communication Interface 3"
	default n

config SAMD_SERCOM4
	bool "Serial Communication Interface 4"
	default n
	depends on SAMD_HAVE_SERCOM4

config SAMD_SERCOM5
	bool "Serial Communication Interface 5"
	default n
	depends on SAMD_HAVE_SERCOM5

config SAMD_TC0
	bool "Timer/Counter 0"
	default n

config SAMD_TC1
	bool "Timer/Counter 1"
	default n

config SAMD_TC2
	bool "Timer/Counter 2"
	default n

config SAMD_TC3
	bool "Timer/Counter 3"
	default n

config SAMD_TC4
	bool "Timer/Counter 4"
	default n

config SAMD_TC5
	bool "Timer/Counter 5"
	default n

config SAMD_TC6
	bool "Timer/Counter 6"
	default n
	depends on SAMD_HAVE_TC6

config SAMD_TC7
	bool "Timer/Counter 7"
	default n
	depends on SAMD_HAVE_TC7

config SAMD_ADC
	bool "Analog-to-Digital Converter"
	default n

config SAMD_AC
	bool "Analog Comparator"
	default n

config SAMD_DAC
	bool "Digital-to-Analog Converter"
	default n

config SAMD_PTC
	bool "Peripheral Touch Controller"
	default n

endmenu

choice
	prompt "SERCOM0 mode"
	default SAMD_SERCOM0_ISUSART
	depends on SAMD_SERCOM0

config SAMD_SERCOM0_ISI2C
	bool "I2C"
	select I2C

config SAMD_SERCOM0_ISSPI
	bool "SPI"
	select SAMD_HAVE_SPI

config SAMD_SERCOM0_ISUSART
	bool "USART"
	select ARCH_HAVE_USART0

endchoice

choice
	prompt "SERCOM1 mode"
	default SAMD_SERCOM1_ISUSART
	depends on SAMD_SERCOM1

config SAMD_SERCOM1_ISI2C
	bool "I2C"
	select I2C

config SAMD_SERCOM1_ISSPI
	bool "SPI"
	select SAMD_HAVE_SPI

config SAMD_SERCOM1_ISUSART
	bool "USART"
	select ARCH_HAVE_USART1

endchoice

choice
	prompt "SERCOM2 mode"
	default SAMD_SERCOM2_ISUSART
	depends on SAMD_SERCOM2

config SAMD_SERCOM2_ISI2C
	bool "I2C"
	select I2C

config SAMD_SERCOM2_ISSPI
	bool "SPI"
	select SAMD_HAVE_SPI

config SAMD_SERCOM2_ISUSART
	bool "USART"
	select ARCH_HAVE_USART2

endchoice

choice
	prompt "SERCOM3 mode"
	default SAMD_SERCOM3_ISUSART
	depends on SAMD_SERCOM3

config SAMD_SERCOM3_ISI2C
	bool "I2C"
	select I2C

config SAMD_SERCOM3_ISSPI
	bool "SPI"
	select SAMD_HAVE_SPI

config SAMD_SERCOM3_ISUSART
	bool "USART"
	select ARCH_HAVE_USART3

endchoice

choice
	prompt "SERCOM4 mode"
	default SAMD_SERCOM4_ISUSART
	depends on SAMD_SERCOM4

config SAMD_SERCOM4_ISI2C
	bool "I2C"
	select I2C

config SAMD_SERCOM4_ISSPI
	bool "SPI"
	select SAMD_HAVE_SPI

config SAMD_SERCOM4_ISUSART
	bool "USART"
	select ARCH_HAVE_USART4

endchoice

choice
	prompt "SERCOM5 mode"
	default SAMD_SERCOM5_ISUSART
	depends on SAMD_SERCOM5

config SAMD_SERCOM5_ISI2C
	bool "I2C"
	select I2C

config SAMD_SERCOM5_ISSPI
	bool "SPI"
	select SAMD_HAVE_SPI

config SAMD_SERCOM5_ISUSART
	bool "USART"
	select ARCH_HAVE_USART5

endchoice

config SAMD_HAVE_SPI
	bool
	select SPI

if SAMD_HAVE_SPI

config SAMD_SPI_REGDEBUG
	bool "SPI register-Level Debug"
	default n
	depends on DEBUG_SPI
	---help---
		Enable very low-level register access debug.  Depends on DEBUG_SPI.

endif # SAMD_HAVE_SPI
