# # For a description of the syntax of this configuration file, # see the file kconfig-language.txt in the NuttX tools repository. # comment "Atmel SAMD/L Configuration Options" choice prompt "Atmel SAMD/L Chip Selection" default ARCH_CHIP_SAMD20J18 if ARCH_CHIP_SAMD default ARCH_CHIP_SAMD21J18 if ARCH_CHIP_SAML depends on ARCH_CHIP_SAMD || ARCH_CHIP_SAML config ARCH_CHIP_SAMD20E14 bool "SAMD20E14" depends on ARCH_CHIP_SAMD select ARCH_FAMILY_SAMD20 select ARCH_FAMILY_SAMD20E ---help--- Flash 16KB SRAM 2KB config ARCH_CHIP_SAMD20E15 bool "SAMD20E15" depends on ARCH_CHIP_SAMD select ARCH_FAMILY_SAMD20 select ARCH_FAMILY_SAMD20E ---help--- Flash 32KB SRAM 4KB config ARCH_CHIP_SAMD20E16 bool "SAMD20E16" depends on ARCH_CHIP_SAMD select ARCH_FAMILY_SAMD20 select ARCH_FAMILY_SAMD20E ---help--- Flash 64KB SRAM 8KB config ARCH_CHIP_SAMD20E17 bool "SAMD20E17" depends on ARCH_CHIP_SAMD select ARCH_FAMILY_SAMD20 select ARCH_FAMILY_SAMD20E ---help--- Flash 128KB SRAM 16KB config ARCH_CHIP_SAMD20E18 bool "SAMD20E18" depends on ARCH_CHIP_SAMD select ARCH_FAMILY_SAMD20 select ARCH_FAMILY_SAMD20E ---help--- Flash 256KB SRAM 32KB config ARCH_CHIP_SAMD20G14 bool "SAMD20G14" depends on ARCH_CHIP_SAMD select ARCH_FAMILY_SAMD20 select ARCH_FAMILY_SAMD20G ---help--- Flash 16KB SRAM 2KB config ARCH_CHIP_SAMD20G15 bool "SAMD20G15" depends on ARCH_CHIP_SAMD select ARCH_FAMILY_SAMD20 select ARCH_FAMILY_SAMD20G ---help--- Flash 32KB SRAM 4KB config ARCH_CHIP_SAMD20G16 bool "SAMD20G16" depends on ARCH_CHIP_SAMD select ARCH_FAMILY_SAMD20 select ARCH_FAMILY_SAMD20G ---help--- Flash 64KB SRAM 8KB config ARCH_CHIP_SAMD20G17 bool "SAMD20G17" depends on ARCH_CHIP_SAMD select ARCH_FAMILY_SAMD20 select ARCH_FAMILY_SAMD20G ---help--- Flash 128KB SRAM 16KB config ARCH_CHIP_SAMD20G18 bool "SAMD20G18" depends on ARCH_CHIP_SAMD select ARCH_FAMILY_SAMD20 select ARCH_FAMILY_SAMD20G ---help--- Flash 256KB SRAM 32KB config ARCH_CHIP_SAMD20J14 bool "SAMD20J14" depends on ARCH_CHIP_SAMD select ARCH_FAMILY_SAMD20 select ARCH_FAMILY_SAMD20J ---help--- Flash 16KB SRAM 2KB config ARCH_CHIP_SAMD20J15 bool "SAMD20J15" depends on ARCH_CHIP_SAMD select ARCH_FAMILY_SAMD20 select ARCH_FAMILY_SAMD20J ---help--- Flash 32KB SRAM 4KB config ARCH_CHIP_SAMD20J16 bool "SAMD20J16" depends on ARCH_CHIP_SAMD select ARCH_FAMILY_SAMD20 select ARCH_FAMILY_SAMD20J ---help--- Flash 64KB SRAM 8KB config ARCH_CHIP_SAMD20J17 bool "SAMD20J17" depends on ARCH_CHIP_SAMD select ARCH_FAMILY_SAMD20 select ARCH_FAMILY_SAMD20J ---help--- Flash 128KB SRAM 16KB config ARCH_CHIP_SAMD20J18 bool "SAMD20J18" depends on ARCH_CHIP_SAMD select ARCH_FAMILY_SAMD20 select ARCH_FAMILY_SAMD20J ---help--- Flash 256KB SRAM 32KB config ARCH_CHIP_SAMD21E15A bool "SAMD21E15A" depends on ARCH_CHIP_SAMD select ARCH_FAMILY_SAMD21 select ARCH_FAMILY_SAMD21E ---help--- Flash 32KB SRAM 4KB config ARCH_CHIP_SAMD21E15B bool "SAMD21E15B" depends on ARCH_CHIP_SAMD select ARCH_FAMILY_SAMD21 select ARCH_FAMILY_SAMD21E ---help--- Flash 32KB SRAM 4KB RWW FLASH 1KB config ARCH_CHIP_SAMD21E16A bool "SAMD21E16A" depends on ARCH_CHIP_SAMD select ARCH_FAMILY_SAMD21 select ARCH_FAMILY_SAMD21E ---help--- Flash 64KB SRAM 8KB config ARCH_CHIP_SAMD21E16B bool "SAMD21E16B" depends on ARCH_CHIP_SAMD select ARCH_FAMILY_SAMD21 select ARCH_FAMILY_SAMD21E ---help--- Flash 64KB SRAM 8KB RWW FLASH 2KB config ARCH_CHIP_SAMD21E17A bool "SAMD21E17A" depends on ARCH_CHIP_SAMD select ARCH_FAMILY_SAMD21 select ARCH_FAMILY_SAMD21E ---help--- Flash 128KB SRAM 16KB config ARCH_CHIP_SAMD21E18A bool "SAMD21E18A" depends on ARCH_CHIP_SAMD select ARCH_FAMILY_SAMD21 select ARCH_FAMILY_SAMD21E ---help--- Flash 256KB SRAM 32KB config ARCH_CHIP_SAMD21G15A bool "SAMD21G15A" depends on ARCH_CHIP_SAMD select ARCH_FAMILY_SAMD21 select ARCH_FAMILY_SAMD21G ---help--- Flash 32KB SRAM 4KB config ARCH_CHIP_SAMD21G15B bool "SAMD21G15B" depends on ARCH_CHIP_SAMD select ARCH_FAMILY_SAMD21 select ARCH_FAMILY_SAMD21G ---help--- Flash 32KB SRAM 4KB RWW FLASH 1KB config ARCH_CHIP_SAMD21G16A bool "SAMD21G16A" depends on ARCH_CHIP_SAMD select ARCH_FAMILY_SAMD21 select ARCH_FAMILY_SAMD21G ---help--- Flash 64KB SRAM 8KB config ARCH_CHIP_SAMD21G16B bool "SAMD21G16B" depends on ARCH_CHIP_SAMD select ARCH_FAMILY_SAMD21 select ARCH_FAMILY_SAMD21E ---help--- Flash 64KB SRAM 8KB RWW FLASH 2KB config ARCH_CHIP_SAMD21G17A bool "SAMD21G17A" depends on ARCH_CHIP_SAMD select ARCH_FAMILY_SAMD21 select ARCH_FAMILY_SAMD21G ---help--- Flash 128KB SRAM 16KB config ARCH_CHIP_SAMD21G18A bool "SAMD21G18A" depends on ARCH_CHIP_SAMD select ARCH_FAMILY_SAMD21 select ARCH_FAMILY_SAMD21G ---help--- Flash 256KB SRAM 32KB config ARCH_CHIP_SAMD21J15A bool "SAMD21J15A" depends on ARCH_CHIP_SAMD select ARCH_FAMILY_SAMD21 select ARCH_FAMILY_SAMD21J ---help--- Flash 32KB SRAM 4KB config ARCH_CHIP_SAMD21J15B bool "SAMD21J15B" depends on ARCH_CHIP_SAMD select ARCH_FAMILY_SAMD21 select ARCH_FAMILY_SAMD21J ---help--- Flash 32KB SRAM 4KB RWW FLASH 1KB config ARCH_CHIP_SAMD21J16A bool "SAMD21J16A" depends on ARCH_CHIP_SAMD select ARCH_FAMILY_SAMD21 select ARCH_FAMILY_SAMD21J ---help--- Flash 64KB SRAM 8KB config ARCH_CHIP_SAMD21J16B bool "SAMD21J16B" depends on ARCH_CHIP_SAMD select ARCH_FAMILY_SAMD21 select ARCH_FAMILY_SAMD21J ---help--- Flash 64KB SRAM 8KB RWW FLASH 2KB config ARCH_CHIP_SAMD21J17A bool "SAMD21J17A" depends on ARCH_CHIP_SAMD select ARCH_FAMILY_SAMD21 select ARCH_FAMILY_SAMD21E ---help--- Flash 128KB SRAM 16KB config ARCH_CHIP_SAMD21J18A bool "SAMD21J18A" depends on ARCH_CHIP_SAMD select ARCH_FAMILY_SAMD21 select ARCH_FAMILY_SAMD21J ---help--- Flash 256KB SRAM 32KB config ARCH_CHIP_SAML21E15 bool "SAML21E15" depends on ARCH_CHIP_SAML select ARCH_FAMILY_SAML21 select ARCH_FAMILY_SAML21E ---help--- Flash 32KB SRAM 4KB config ARCH_CHIP_SAML21E16 bool "SAML21E16" depends on ARCH_CHIP_SAML select ARCH_FAMILY_SAML21 select ARCH_FAMILY_SAML21E ---help--- Flash 64KB SRAM 8KB config ARCH_CHIP_SAML21E17 bool "SAML21E17" depends on ARCH_CHIP_SAML select ARCH_FAMILY_SAML21 select ARCH_FAMILY_SAML21E ---help--- Flash 128KB SRAM 16KB config ARCH_CHIP_SAML21E18 bool "SAML21E18" depends on ARCH_CHIP_SAML select ARCH_FAMILY_SAML21 select ARCH_FAMILY_SAML21E ---help--- Flash 256KB SRAM 32KB config ARCH_CHIP_SAML21G16 bool "SAML21G16" depends on ARCH_CHIP_SAML select ARCH_FAMILY_SAML21 select ARCH_FAMILY_SAML21G ---help--- Flash 64KB SRAM 4KB config ARCH_CHIP_SAML21G17 bool "SAML21G17" depends on ARCH_CHIP_SAML select ARCH_FAMILY_SAML21 select ARCH_FAMILY_SAML21G ---help--- Flash 128KB SRAM 16KB config ARCH_CHIP_SAML21G18 bool "SAML21G18" depends on ARCH_CHIP_SAML select ARCH_FAMILY_SAML21 select ARCH_FAMILY_SAML21G ---help--- Flash 256KB SRAM 32KB config ARCH_CHIP_SAML21J16 bool "SAML21J16" depends on ARCH_CHIP_SAML select ARCH_FAMILY_SAML21 select ARCH_FAMILY_SAML21J ---help--- Flash 64KB SRAM 4KB config ARCH_CHIP_SAML21J17 bool "SAML21J17" depends on ARCH_CHIP_SAML select ARCH_FAMILY_SAML21 select ARCH_FAMILY_SAML21J ---help--- Flash 128KB SRAM 16KB config ARCH_CHIP_SAML21J18 bool "SAML21J18" depends on ARCH_CHIP_SAML select ARCH_FAMILY_SAML21 select ARCH_FAMILY_SAML21J ---help--- Flash 256KB SRAM 32KB endchoice config ARCH_FAMILY_SAMD20 bool default n select SAMD2L2_HAVE_TC2 select SAMD2L2_HAVE_TC3 select SAMD2L2_HAVE_TC5 config ARCH_FAMILY_SAMD20E bool default n config ARCH_FAMILY_SAMD20G bool default n select SAMD2L2_HAVE_SERCOM4 select SAMD2L2_HAVE_SERCOM5 config ARCH_FAMILY_SAMD20J bool default n select SAMD2L2_HAVE_SERCOM4 select SAMD2L2_HAVE_SERCOM5 select SAMD2L2_HAVE_TC6 select SAMD2L2_HAVE_TC7 config ARCH_FAMILY_SAMD21 bool default n select SAMD2L2_HAVE_DMAC select SAMD2L2_HAVE_USB config ARCH_FAMILY_SAMD21E bool default n config ARCH_FAMILY_SAMD21G bool default n select SAMD2L2_HAVE_SERCOM4 select SAMD2L2_HAVE_SERCOM5 config ARCH_FAMILY_SAMD21J bool default n select SAMD2L2_HAVE_SERCOM4 select SAMD2L2_HAVE_SERCOM5 select SAMD2L2_HAVE_TC2 select SAMD2L2_HAVE_TC3 select SAMD2L2_HAVE_TC5 config ARCH_FAMILY_SAML21 bool default n select SAMD2L2_HAVE_DMAC select SAMD2L2_HAVE_USB config ARCH_FAMILY_SAML21E bool default n config ARCH_FAMILY_SAML21G bool default n select SAMD2L2_HAVE_SERCOM4 select SAMD2L2_HAVE_SERCOM5 config ARCH_FAMILY_SAML21J bool default n select SAMD2L2_HAVE_SERCOM4 select SAMD2L2_HAVE_SERCOM5 select SAMD2L2_HAVE_TC2 select SAMD2L2_HAVE_TC3 select SAMD2L2_HAVE_TC5 menu "SAMD/L Peripheral Support" config SAMD2L2_HAVE_DMAC bool default n config SAMD2L2_HAVE_SERCOM4 bool default n config SAMD2L2_HAVE_SERCOM5 bool default n config SAMD2L2_HAVE_TC5 bool default n config SAMD2L2_HAVE_TC2 bool default n config SAMD2L2_HAVE_TC3 bool default n config SAMD2L2_HAVE_TC6 bool default n config SAMD2L2_HAVE_TC7 bool default n config SAMD2L2_HAVE_USB bool default n config SAMD2L2_AC bool "Analog Comparator" default n config SAMD2L2_ADC bool "Analog-to-Digital Converter" default n config SAMD2L2_DAC bool "Digital-to-Analog Converter" default n config SAMD2L2_DMAC bool "DMA Controller" default n select ARCH_DMA depends on SAMD2L2_HAVE_DMAC && EXPERIMENTAL config SAMD2L2_EVSYS bool "Event System" default n config SAMD2L2_NVMCTRL bool "Non-Volatile Memory Controller" default n config SAMD2L2_PTC bool "Peripheral Touch Controller" default n config SAMD2L2_RTC bool "Real Time Counter" default n config SAMD2L2_SERCOM0 bool "Serial Communication Interface 0" default n config SAMD2L2_SERCOM1 bool "Serial Communication Interface 1" default n config SAMD2L2_SERCOM2 bool "Serial Communication Interface 2" default n config SAMD2L2_SERCOM3 bool "Serial Communication Interface 3" default n config SAMD2L2_SERCOM4 bool "Serial Communication Interface 4" default n depends on SAMD2L2_HAVE_SERCOM4 config SAMD2L2_SERCOM5 bool "Serial Communication Interface 5" default n depends on SAMD2L2_HAVE_SERCOM5 config SAMD2L2_TC0 bool "Timer/Counter 0" default n config SAMD2L2_TC1 bool "Timer/Counter 1" default n config SAMD2L2_TC2 bool "Timer/Counter 2" default n depends on SAMD2L2_HAVE_TC2 config SAMD2L2_TC3 bool "Timer/Counter 3" default n depends on SAMD2L2_HAVE_TC3 config SAMD2L2_TC4 bool "Timer/Counter 4" default n config SAMD2L2_TC5 bool "Timer/Counter 5" default n depends on SAMD2L2_HAVE_TC5 config SAMD2L2_TC6 bool "Timer/Counter 6" default n depends on SAMD2L2_HAVE_TC6 config SAMD2L2_TC7 bool "Timer/Counter 7" default n depends on SAMD2L2_HAVE_TC7 config SAMD2L2_USB bool "USB" default n depends on SAMD2L2_HAVE_USB config SAMD2L2_EIC bool "External Interrupt Controller" default n config SAMD2L2_WDT bool "Watchdog Timer" default n endmenu choice prompt "SERCOM0 mode" default SAMD2L2_SERCOM0_ISUSART depends on SAMD2L2_SERCOM0 config SAMD2L2_SERCOM0_ISI2C bool "I2C" select I2C select SAMD2L2_HAVE_I2C config SAMD2L2_SERCOM0_ISSPI bool "SPI" select SAMD2L2_HAVE_SPI config SAMD2L2_SERCOM0_ISUSART bool "USART" select USART0_SERIALDRIVER endchoice config SAMD2L2_DMAC_NDESC int "Number of additional DMA Descriptors" default 0 depends on SAMD2L2_DMAC ---help--- This provides the number of additional DMA descriptors that can be use to support multi-linked DMA transfers. A minimum of 16 descriptors will always be allocated (16 for the base descriptor which overlap the writeback descriptors). If this value is set to zero, then only single block DMA transfers can be supported. Each additional DMA descriptor will require 16-bytes for LPRAM memory. choice prompt "SERCOM1 mode" default SAMD2L2_SERCOM1_ISUSART depends on SAMD2L2_SERCOM1 config SAMD2L2_SERCOM1_ISI2C bool "I2C" select I2C select SAMD2L2_HAVE_I2C config SAMD2L2_SERCOM1_ISSPI bool "SPI" select SAMD2L2_HAVE_SPI config SAMD2L2_SERCOM1_ISUSART bool "USART" select USART1_SERIALDRIVER endchoice choice prompt "SERCOM2 mode" default SAMD2L2_SERCOM2_ISUSART depends on SAMD2L2_SERCOM2 config SAMD2L2_SERCOM2_ISI2C bool "I2C" select I2C select SAMD2L2_HAVE_I2C config SAMD2L2_SERCOM2_ISSPI bool "SPI" select SAMD2L2_HAVE_SPI config SAMD2L2_SERCOM2_ISUSART bool "USART" select USART2_SERIALDRIVER endchoice choice prompt "SERCOM3 mode" default SAMD2L2_SERCOM3_ISUSART depends on SAMD2L2_SERCOM3 config SAMD2L2_SERCOM3_ISI2C bool "I2C" select I2C select SAMD2L2_HAVE_I2C config SAMD2L2_SERCOM3_ISSPI bool "SPI" select SAMD2L2_HAVE_SPI config SAMD2L2_SERCOM3_ISUSART bool "USART" select USART3_SERIALDRIVER endchoice choice prompt "SERCOM4 mode" default SAMD2L2_SERCOM4_ISUSART depends on SAMD2L2_SERCOM4 config SAMD2L2_SERCOM4_ISI2C bool "I2C" select I2C select SAMD2L2_HAVE_I2C config SAMD2L2_SERCOM4_ISSPI bool "SPI" select SAMD2L2_HAVE_SPI config SAMD2L2_SERCOM4_ISUSART bool "USART" select USART4_SERIALDRIVER endchoice choice prompt "SERCOM5 mode" default SAMD2L2_SERCOM5_ISUSART depends on SAMD2L2_SERCOM5 config SAMD2L2_SERCOM5_ISI2C bool "I2C" select I2C select SAMD2L2_HAVE_I2C config SAMD2L2_SERCOM5_ISSPI bool "SPI" select SAMD2L2_HAVE_SPI config SAMD2L2_SERCOM5_ISUSART bool "USART" select USART5_SERIALDRIVER endchoice config SAMD2L2_HAVE_SPI bool select SPI menu "SPI options" depends on SAMD2L2_HAVE_SPI config SAMD2L2_SPI_DMA bool "SPI DMA" default n depends on SAMD2L2_DMAC && EXPERIMENTAL ---help--- Use DMA for SPI SERCOM peripherals. config SAMD2L2_SPI_REGDEBUG bool "SPI register-Level Debug" default n depends on DEBUG_SPI_INFO ---help--- Enable very low-level register access debug. Depends on DEBUG_SPI. endmenu # SPI options config SAMD2L2_HAVE_I2C bool select I2C menu "I2C options" depends on SAMD2L2_HAVE_I2C config SAMD2L2_I2C_REGDEBUG bool "I2C register-Level Debug" default n depends on DEBUG_I2C_INFO ---help--- Enable very low-level register access debug. Depends on DEBUG_I2C. endmenu # I2C options menu "USB options" depends on SAMD2L2_HAVE_USB config SAMD2L2_USB_ENABLE_PPEP bool "Enable Ping-Pong Endpoints" default n ---help--- To maximize throughput, an endpoint can be configured for ping-pong operation. When this is done the input and output endpoint with the same address are used in the same direction. The CPU or DMA Controller can then read/write one data buffer while the USB module writes/reads from the other buffer. This gives double buffered communication. config SAMD2L2_USB_REGDEBUG bool "USB register-Level Debug" default n depends on DEBUG_USB_INFO ---help--- Enable very low-level register access debug. Depends on CONFIG_DEBUG_USB_INFO. endmenu # USB options