blob: 4931af5dd2d9c40c055a7036f54e36023b3e50b6 [file] [log] [blame]
#
# For a description of the syntax of this configuration file,
# see the file kconfig-language.txt in the NuttX tools repository.
#
comment "Maxim Integrate MAX326xx Configuration Options"
# Chip Selection
choice
prompt "MAX326xx Chip Selection"
default ARCH_CHIP_MAX32630
depends on ARCH_CHIP_MAX326XX
config ARCH_CHIP_MAX32620
bool "MAX32620"
select ARCH_FAMILY_MAX32620
depends on EXPERIMENTAL # Not fully implemented
config ARCH_CHIP_MAX32621
bool "MAX32621"
select ARCH_FAMILY_MAX32620
depends on EXPERIMENTAL # Not fully implemented
config ARCH_CHIP_MAX32630
bool "MAX32630"
select ARCH_FAMILY_MAX32630
depends on EXPERIMENTAL # Not fully implemented
config ARCH_CHIP_MAX32632
bool "MAX32632"
select ARCH_FAMILY_MAX32630
depends on EXPERIMENTAL # Not fully implemented
config ARCH_CHIP_MAX32660
bool "MAX32660"
select ARCH_FAMILY_MAX32660
endchoice # MAX326xx Chip Selection
# Chip Families
#
# Chip Families are determined by sharing a common User Guide for the chip
# specification:
#
# CONFIG_ARCH_FAMILY_MAX32620: MAX32620 Rev C, User Guide, AN6242,
# Rev 2, 2/17
# CONFIG_ARCH_FAMILY_MAX32630: MAX32630 Rev B, User Guide, AN6349,
# Rev 0, 10/16
# CONFIG_ARCH_FAMILY_MAX32660: MAX32660 User Guide, AN6659, Rev0, 7/18
config ARCH_FAMILY_MAX32620
bool
default n
select ARCH_CORTEXM4
select MAX326XX_HAVE_WWDOG
select MAX326XX_HAVE_LLWDOG
select MAX326XX_HAVE_WAKEUP
select MAX326XX_HAVE_CRC
select MAX326XX_HAVE_AES
select MAX326XX_HAVE_USB20
select MAX326XX_HAVE_TMR32_2
select MAX326XX_HAVE_TMR32_3
select MAX326XX_HAVE_TMR32_4
select MAX326XX_HAVE_TMR32_5
select MAX326XX_HAVE_PTENGINE
select MAX326XX_HAVE_SPIM2
select MAX326XX_HAVE_SPIS1
select MAX326XX_HAVE_SPIXIP
select MAX326XX_HAVE_I2SS
select MAX326XX_HAVE_I2CM2
select MAX326XX_HAVE_I2CS1
select MAX326XX_HAVE_UART2
select MAX326XX_HAVE_UART3
select MAX326XX_HAVE_1WIREM
select MAX326XX_HAVE_ADC10
config ARCH_FAMILY_MAX32630
bool
default n
select ARCH_CORTEXM4
select MAX326XX_HAVE_WWDOG
select MAX326XX_HAVE_LLWDOG
select MAX326XX_HAVE_WAKEUP
select MAX326XX_HAVE_CRC
select MAX326XX_HAVE_AES
select MAX326XX_HAVE_USB20
select MAX326XX_HAVE_TMR32_2
select MAX326XX_HAVE_TMR32_3
select MAX326XX_HAVE_TMR32_4
select MAX326XX_HAVE_TMR32_5
select MAX326XX_HAVE_PTENGINE
select MAX326XX_HAVE_SPIM2
select MAX326XX_HAVE_SPIXIP
select MAX326XX_HAVE_I2CM2
select MAX326XX_HAVE_UART2
select MAX326XX_HAVE_UART3
select MAX326XX_HAVE_1WIREM
select MAX326XX_HAVE_ADC10
config ARCH_FAMILY_MAX32660
bool
default n
select ARCH_CORTEXM4
select MAX326XX_HAVE_DMA
select MAX326XX_HAVE_I2CS1
select MAX326XX_HAVE_SPIS1
select MAX326XX_HAVE_WDOG
select MAX326XX_HAVE_TMR8
# Chip-Specific Peripheral support
config MAX326XX_HAVE_AES
bool
default n
config MAX326XX_HAVE_WDOG
bool
default n
config MAX326XX_HAVE_WWDOG
bool
default n
config MAX326XX_HAVE_LLWDOG
bool
default n
config MAX326XX_HAVE_WAKEUP
bool
default n
config MAX326XX_HAVE_CRC
bool
default n
config MAX326XX_HAVE_DMA
bool
default n
config MAX326XX_HAVE_USB20
bool
default n
config MAX326XX_HAVE_TMR32_2
bool
default n
config MAX326XX_HAVE_TMR32_3
bool
default n
config MAX326XX_HAVE_TMR32_4
bool
default n
config MAX326XX_HAVE_TMR32_5
bool
default n
config MAX326XX_HAVE_TMR8
bool
default n
config MAX326XX_HAVE_SPIM2
bool
default n
config MAX326XX_HAVE_SPIS1
bool
default n
config MAX326XX_HAVE_SPIXIP
bool
default n
config MAX326XX_HAVE_I2SS
bool
default n
config MAX326XX_HAVE_I2CM2
bool
default n
config MAX326XX_HAVE_I2CS1
bool
default n
config MAX326XX_HAVE_UART2
bool
default n
config MAX326XX_HAVE_UART3
bool
default n
config MAX326XX_HAVE_1WIREM
bool
default n
config MAX326XX_HAVE_ADC10
bool
default n
# Driver support
config MAX326XX_HAVE_I2CM
bool
default n
config MAX326XX_HAVE_SPIM
bool
default n
config MAX326XX_HAVE_UART
bool
default n
# Peripheral Driver Selections
menu "MAX32xx Peripheral Selection"
config MAX326XX_WDOG
bool "Watchdog Timer"
default n
depends on MAX326XX_HAVE_WDOG
config MAX326XX_WWDOG0
bool "Windowed Watchdog Timer (WDT0)"
default n
depends on MAX326XX_HAVE_WWDOG
config MAX326XX_WWDOG1
bool "Low-Level Watchdog Timer (WDT1)"
default n
depends on MAX326XX_HAVE_WWDOG
config MAX326XX_RWDOG
bool "Recovery Watchdog"
default n
depends on MAX326XX_HAVE_LLWDOG
config MAX326XX_WAKEUP
bool "Wakeup Timer"
default n
depends on MAX326XX_HAVE_WAKEUP
config MAX326XX_RTC
bool "RTC"
default n
config MAX326XX_CRC
bool "CRC 16/32"
default n
depends on MAX326XX_HAVE_CRC
config MAX326XX_AES
bool "AES 128, 192, 256"
default n
depends on MAX326XX_HAVE_AES
config MAX326XX_USB20
bool "USB 2.0 Device"
default n
depends on MAX326XX_HAVE_USB20
config MAX326XX_TMR32_0
bool "32-Bit Timer 0"
default n
config MAX326XX_TMR32_1
bool "32-Bit Timer 1"
default n
config MAX326XX_TMR32_2
bool "32-Bit Timer 2"
default n
depends on MAX326XX_HAVE_TMR32_2
config MAX326XX_TMR32_3
bool "32-Bit Timer 3"
default n
depends on MAX326XX_HAVE_TMR32_3
config MAX326XX_TMR32_4
bool "32-Bit Timer 4"
default n
depends on MAX326XX_HAVE_TMR32_4
config MAX326XX_TMR32_5
bool "32-Bit Timer 5"
default n
depends on MAX326XX_HAVE_TMR32_5
config MAX326XX_TMR8
bool "8-Bit Timer"
default n
depends on MAX326XX_HAVE_TMR8
config MAX326XX_PTENGINE
bool "Pulse Train Engine"
default n
depends on MAX326XX_HAVE_PTENGINE
config MAX326XX_SPIM0
bool "SPI Master 0"
default n
select MAX326XX_HAVE_SPIM
config MAX326XX_SPIM1
bool "SPI Master 1"
default n
select MAX326XX_HAVE_SPIM
config MAX326XX_SPIM2
bool "SPI Master 2"
default n
depends on MAX326XX_HAVE_SPIM2
select MAX326XX_HAVE_SPIM
config MAX326XX_SPIS0
bool "SPI Slave 0"
default n
depends on !MAX326XX_SPIM0 || !ARCH_FAMILY_MAX32660
config MAX326XX_SPIS1
bool "SPI Slave 1"
default n
depends on MAX326XX_HAVE_SPIS1
depends on !MAX326XX_SPIM1 || !ARCH_FAMILY_MAX32660
config MAX326XX_SPIXIP
bool "SPI XIP"
default n
depends on MAX326XX_HAVE_SPIXIP
config MAX326XX_I2SS
bool "I2S Slave"
default n
depends on MAX326XX_HAVE_I2SS
config MAX326XX_I2CM0
bool "I2C Master 0"
default n
select MAX326XX_HAVE_I2CM
config MAX326XX_I2CM1
bool "I2C Master 1"
default n
select MAX326XX_HAVE_I2CM
config MAX326XX_I2CM2
bool "I2C Master 2"
default n
select MAX326XX_HAVE_I2CM
depends on MAX326XX_HAVE_I2CM2
config MAX326XX_I2CS0
bool "I2C Slave 0"
default n
depends on !MAX326XX_I2CM0 || !ARCH_FAMILY_MAX32660
config MAX326XX_I2CS1
bool "I2C Slave 1"
default n
depends on MAX326XX_HAVE_I2CS1
depends on !MAX326XX_I2CM1 || !ARCH_FAMILY_MAX32660
config MAX326XX_UART0
bool "UART 0"
default n
select MAX326XX_HAVE_UART
select UART0_SERIALDRIVER
config MAX326XX_UART1
bool "UART 1"
default n
select MAX326XX_HAVE_UART
select UART1_SERIALDRIVER
config MAX326XX_UART2
bool "UART 2"
default n
select MAX326XX_HAVE_UART
select UART2_SERIALDRIVER
depends on MAX326XX_HAVE_UART2
config MAX326XX_UART3
bool "UART 3"
default n
select UART3_SERIALDRIVER
depends on MAX326XX_HAVE_UART3
config MAX326XX_1WIREM
bool "1-Wire Master"
default n
depends on MAX326XX_HAVE_1WIREM
config MAX326XX_ADC10
bool "10-Bit ADC"
default n
depends on MAX326XX_HAVE_ADC10
endmenu # MAX32xx Peripheral Selection
config MAX326XX_ICC
bool "Instruction Cache Controller (ICC)"
default y
select ARMV7M_HAVE_ICACHE
config MAX326XX_DMA
bool "Standard DMA"
default n
depends on MAX326XX_HAVE_DMA
config MAX326XX_GPIOIRQ
bool "GPIO Interrupt Support"
default n
menu "SPI Master Configuration"
depends on MAX326XX_HAVE_SPIM
if MAX326XX_SPIM0
config MAX326XX_3WIRE
bool "SP0 3-pin mode"
default n
---help---
By default, 4-pin mode is supported(MISO, MOSI, SCK, SS). Selecting
this option enables 3-pin mode (SOSI, SCK, SS). The SISO pin is bi-
directional, half duplex in the 3-pin mode.
REVISIT: Perhaps this should be an on-the-fly configuration as an
SPI "Hardware Feature" so that we can support 3-wire and 4-wire
devices on the same SPI bus?
endif # MAX326XX_SPIM0
config MAX326_SPI_REGDEBUG
bool "SPI Register level debug"
depends on DEBUG_MEMCARD_INFO
default n
---help---
Output detailed register-level SPI device debug information.
Very invasive! Requires also DEBUG_MEMCARD_INFO.
endmenu # SPI Master Configuration