nuttx/arch/arm/src/samdl/Kconfig

770 lines
14 KiB
Plaintext
Raw Normal View History

#
# 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
2015-06-20 22:31:53 +02:00
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
2015-06-20 22:31:53 +02:00
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
2015-06-20 22:31:53 +02:00
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
2015-06-20 22:31:53 +02:00
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
2015-06-20 22:31:53 +02:00
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
2015-06-20 22:31:53 +02:00
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
2015-06-20 22:31:53 +02:00
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
2015-06-20 22:31:53 +02:00
config ARCH_FAMILY_SAMD21
bool
default n
select SAMDL_HAVE_DMAC
select SAMDL_HAVE_USB
2015-06-20 22:31:53 +02:00
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_EIC
bool "External Interrupt Controller"
default n
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