# # 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 SAMDL_HAVE_TC2 select SAMDL_HAVE_TC3 select SAMDL_HAVE_TC5 config ARCH_FAMILY_SAMD20E bool default n config ARCH_FAMILY_SAMD20G bool default n select SAMDL_HAVE_SERCOM4 select SAMDL_HAVE_SERCOM5 config ARCH_FAMILY_SAMD20J bool default n select SAMDL_HAVE_SERCOM4 select SAMDL_HAVE_SERCOM5 select SAMDL_HAVE_TC6 select SAMDL_HAVE_TC7 config ARCH_FAMILY_SAMD21 bool default n select SAMDL_HAVE_DMAC select SAMDL_HAVE_USB config ARCH_FAMILY_SAMD21E bool default n config ARCH_FAMILY_SAMD21G bool default n select SAMDL_HAVE_SERCOM4 select SAMDL_HAVE_SERCOM5 config ARCH_FAMILY_SAMD21J bool default n select SAMDL_HAVE_SERCOM4 select SAMDL_HAVE_SERCOM5 select SAMDL_HAVE_TC2 select SAMDL_HAVE_TC3 select SAMDL_HAVE_TC5 config ARCH_FAMILY_SAML21 bool default n select SAMDL_HAVE_DMAC select SAMDL_HAVE_USB config ARCH_FAMILY_SAML21E bool default n config ARCH_FAMILY_SAML21G bool default n select SAMDL_HAVE_SERCOM4 select SAMDL_HAVE_SERCOM5 config ARCH_FAMILY_SAML21J bool default n select SAMDL_HAVE_SERCOM4 select SAMDL_HAVE_SERCOM5 select SAMDL_HAVE_TC2 select SAMDL_HAVE_TC3 select SAMDL_HAVE_TC5 menu "SAMD/L Peripheral Support" config SAMDL_HAVE_DMAC bool default n config SAMDL_HAVE_SERCOM4 bool default n config SAMDL_HAVE_SERCOM5 bool default n config SAMDL_HAVE_TC5 bool default n config SAMDL_HAVE_TC2 bool default n config SAMDL_HAVE_TC3 bool default n config SAMDL_HAVE_TC6 bool default n config SAMDL_HAVE_TC7 bool default n config SAMDL_HAVE_USB bool default n config SAMDL_AC bool "Analog Comparator" default n config SAMDL_ADC bool "Analog-to-Digital Converter" default n config SAMDL_DAC bool "Digital-to-Analog Converter" default n config SAMDL_DMAC bool "DMA Controller" default n select ARCH_DMA depends on SAMDL_HAVE_DMAC && EXPERIMENTAL config SAMDL_EVSYS bool "Event System" default n config SAMDL_NVMCTRL bool "Non-Volatile Memory Controller" default n config SAMDL_PTC bool "Peripheral Touch Controller" default n config SAMDL_RTC bool "Real Time Counter" default n config SAMDL_SERCOM0 bool "Serial Communication Interface 0" default n config SAMDL_SERCOM1 bool "Serial Communication Interface 1" default n config SAMDL_SERCOM2 bool "Serial Communication Interface 2" default n config SAMDL_SERCOM3 bool "Serial Communication Interface 3" default n config SAMDL_SERCOM4 bool "Serial Communication Interface 4" default n depends on SAMDL_HAVE_SERCOM4 config SAMDL_SERCOM5 bool "Serial Communication Interface 5" default n depends on SAMDL_HAVE_SERCOM5 config SAMDL_TC0 bool "Timer/Counter 0" default n config SAMDL_TC1 bool "Timer/Counter 1" default n config SAMDL_TC2 bool "Timer/Counter 2" default n depends on SAMDL_HAVE_TC2 config SAMDL_TC3 bool "Timer/Counter 3" default n depends on SAMDL_HAVE_TC3 config SAMDL_TC4 bool "Timer/Counter 4" default n config SAMDL_TC5 bool "Timer/Counter 5" default n depends on SAMDL_HAVE_TC5 config SAMDL_TC6 bool "Timer/Counter 6" default n depends on SAMDL_HAVE_TC6 config SAMDL_TC7 bool "Timer/Counter 7" default n depends on SAMDL_HAVE_TC7 config SAMDL_USB bool "USB" default n depends on SAMDL_HAVE_USB config SAMDL_WDT bool "Watchdog Timer" default n endmenu choice prompt "SERCOM0 mode" default SAMDL_SERCOM0_ISUSART depends on SAMDL_SERCOM0 config SAMDL_SERCOM0_ISI2C bool "I2C" select I2C select SAMDL_HAVE_I2C config SAMDL_SERCOM0_ISSPI bool "SPI" select SAMDL_HAVE_SPI config SAMDL_SERCOM0_ISUSART bool "USART" select USART0_SERIALDRIVER endchoice config SAMDL_DMAC_NDESC int "Number of additional DMA Descriptors" default 0 depends on SAMDL_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 SAMDL_SERCOM1_ISUSART depends on SAMDL_SERCOM1 config SAMDL_SERCOM1_ISI2C bool "I2C" select I2C select SAMDL_HAVE_I2C config SAMDL_SERCOM1_ISSPI bool "SPI" select SAMDL_HAVE_SPI config SAMDL_SERCOM1_ISUSART bool "USART" select USART1_SERIALDRIVER endchoice choice prompt "SERCOM2 mode" default SAMDL_SERCOM2_ISUSART depends on SAMDL_SERCOM2 config SAMDL_SERCOM2_ISI2C bool "I2C" select I2C select SAMDL_HAVE_I2C config SAMDL_SERCOM2_ISSPI bool "SPI" select SAMDL_HAVE_SPI config SAMDL_SERCOM2_ISUSART bool "USART" select USART2_SERIALDRIVER endchoice choice prompt "SERCOM3 mode" default SAMDL_SERCOM3_ISUSART depends on SAMDL_SERCOM3 config SAMDL_SERCOM3_ISI2C bool "I2C" select I2C select SAMDL_HAVE_I2C config SAMDL_SERCOM3_ISSPI bool "SPI" select SAMDL_HAVE_SPI config SAMDL_SERCOM3_ISUSART bool "USART" select USART3_SERIALDRIVER endchoice choice prompt "SERCOM4 mode" default SAMDL_SERCOM4_ISUSART depends on SAMDL_SERCOM4 config SAMDL_SERCOM4_ISI2C bool "I2C" select I2C select SAMDL_HAVE_I2C config SAMDL_SERCOM4_ISSPI bool "SPI" select SAMDL_HAVE_SPI config SAMDL_SERCOM4_ISUSART bool "USART" select USART4_SERIALDRIVER endchoice choice prompt "SERCOM5 mode" default SAMDL_SERCOM5_ISUSART depends on SAMDL_SERCOM5 config SAMDL_SERCOM5_ISI2C bool "I2C" select I2C select SAMDL_HAVE_I2C config SAMDL_SERCOM5_ISSPI bool "SPI" select SAMDL_HAVE_SPI config SAMDL_SERCOM5_ISUSART bool "USART" select USART5_SERIALDRIVER endchoice config SAMDL_HAVE_SPI bool select SPI if SAMDL_HAVE_SPI config SAMDL_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. endif # SAMDL_HAVE_SPI config SAMDL_HAVE_I2C bool select I2C if SAMDL_HAVE_I2C config SAMDL_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. endif # SAMDL_HAVE_I2C if SAMDL_HAVE_USB config SAMDL_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 SAMDL_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. endif # SAMDL_HAVE_USB