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

if ARCH_ARM
choice
	prompt "ARM chip selection"
	default ARCH_CHIP_STM32

config ARCH_CHIP_C5471
	bool "TMS320 C5471"
	---help---
		TI TMS320 C5471, A180, or DA180 (ARM7TDMI)

config ARCH_CHIP_CALYPSO
	bool "Calypso"
	---help---
		TI Calypso-based cell phones (ARM7TDMI)

config ARCH_CHIP_DM320
	bool "TMS320 DM320"
	---help---
		TI DMS320 DM320 (ARM926EJS)

config ARCH_CHIP_IMX
	bool "Freescale iMX"
	---help---
		Freescale iMX architectures (ARM920T)

config ARCH_CHIP_KINETIS
	bool "Freescale Kinetis"
	---help---
		Freescale Kinetis Architectures (ARM Cortex-M4)

config ARCH_CHIP_LM3S
	bool "TI Stellaris"
	---help---
		TI Stellaris LMS3 architecutres (ARM Cortex-M3)

config ARCH_CHIP_LPC17XX
	bool "NXP LPC17xx"
	---help---
		NXP LPC17xx architectures (ARM Cortex-M3)

config ARCH_CHIP_LPC214X
	bool "NXP LPC214x"
	---help---
		NXP LPC2145x architectures (ARM7TDMI)

config ARCH_CHIP_LPC2378
	bool "NXP LPC2378"
	---help---
		NXP LPC2145x architectures (ARM7TDMI)

config ARCH_CHIP_LPC31XX
	bool "NXP LPC31XX"
	---help---
		NPX LPC31XX architectures (ARM926EJS).

config ARCH_CHIP_LPC43XX
	bool "NXP LPC43XX"
	---help---
		NPX LPC43XX architectures (ARM Cortex-M4).

config ARCH_CHIP_SAM3U
	bool "Atmel AT91SAM3U"
	---help---
		Atmel AT91SAM3U architectures (ARM Cortex-M3)

config ARCH_CHIP_STM32
	bool "STMicro STM32"
	---help---
		STMicro STM32 architectures (ARM Cortex-M3/4).

config ARCH_CHIP_STR71X
	bool "STMicro STR71x"
	---help---
		STMicro STR71x architectures (ARM7TDMI).

endchoice

config ARCH_ARM7TDMI
	bool
	default y			if ARCH_CHIP_C5471 || ARCH_CHIP_CALYPSO || ARCH_CHIP_LPC214X || ARCH_CHIP_LPC2378 || ARCH_CHIP_STR71X

config ARCH_ARM926EJS
	bool
	default y			if ARCH_CHIP_DM320 || ARCH_CHIP_LPC31XX

config ARCH_ARM920T
	bool
	default y			if ARCH_CHIP_IMX

config ARCH_CORTEXM
	bool
	default y			if ARCH_CHIP_KINETIS || ARCH_CHIP_LM3S || ARCH_CHIP_LPC17XX || ARCH_CHIP_LPC43XX || ARCH_CHIP_SAM3U || ARCH_CHIP_STM32

config ARCH_FAMILY
	string
	default "arm"		if ARCH_ARM7TDMI || ARCH_ARM926EJS || ARCH_ARM920T
	default "armv7-m"	if ARCH_CORTEXM

config ARCH_CHIP
	string
	default "c5471"		if ARCH_CHIP_C5471
	default "calypso"	if ARCH_CHIP_CALYPSO
	default "dm320"		if ARCH_CHIP_DM320
	default "imx"		if ARCH_CHIP_IMX
	default "kinetis"	if ARCH_CHIP_KINETIS
	default "lm3s"		if ARCH_CHIP_LM3S
	default "lpc17x"	if ARCH_CHIP_LPC17XX
	default "lpc214x"	if ARCH_CHIP_LPC214X
	default "lpc2378"	if ARCH_CHIP_LPC2378
	default "lpc31xx"	if ARCH_CHIP_LPC31XX
	default "lpc43xx"	if ARCH_CHIP_LPC43XX
	default "sam3u"		if ARCH_CHIP_SAM3U
	default "stm32"		if ARCH_CHIP_STM32
	default "str71x"	if ARCH_CHIP_STR71X

config ARCH_STACKDUMP
	bool "Dump stack on assertions"
	default n
	---help---
		Enable to do stack dumps after assertions

config ARCH_LEDS
	bool "Use board LEDs to show state"
	default y
	---help---
		Use LEDs to show state. Unique to boards that have LEDs

config ARCH_INTERRUPTSTACK
	bool "Use interrupt stack"
	default y
	---help---
		This architecture supports an interrupt stack. If defined, this symbol
		is the size of the interrupt stack in bytes.  If not defined, the user
		task stacks will be used during interrupt handling.

config ARCH_IRQPRIO
	bool "Interrupt priority"
	default y		if ARCH_CORTEXM
	---help---
		Select if your board supports interrupt prioritization.

config ARCH_LOOPSPERMSEC
	int "Delay loops per millisecond"
	default 5000
	---help---
		Delay loops nust be calibrated for correct operation.

config ARCH_CALIBRATION
	bool "Calibrate delay loop"
	default n
	---help---
		Enables some built in instrumentation that causes a 100 second delay
		during boot-up.  This 100 second delay serves no purpose other than it
		allows you to calibratre ARCH_LOOPSPERMSEC.  You simply use a stop
		watch to measure the 100 second delay then adjust ARCH_LOOPSPERMSEC until
		the delay actually is 100 seconds.

if ARCH_CHIP_C5471
source arch/arm/src/c5471/Kconfig
endif
if ARCH_CHIP_CALYPSO
source arch/arm/src/calypso/Kconfig
endif
if ARCH_CHIP_DM320
source arch/arm/src/dm320/Kconfig
endif
if ARCH_CHIP_IMX
source arch/arm/src/imx/Kconfig
endif
if ARCH_CHIP_KINETIS
source arch/arm/src/kinetis/Kconfig
endif
if ARCH_CHIP_LM3S
source arch/arm/src/lm3s/Kconfig
endif
if ARCH_CHIP_LPC17XX
source arch/arm/src/lpc17xx/Kconfig
endif
if ARCH_CHIP_LPC214X
source arch/arm/src/lpc214x/Kconfig
endif
if ARCH_CHIP_LPC2378
source arch/arm/src/lpc2378/Kconfig
endif
if ARCH_CHIP_LPC31XX
source arch/arm/src/lpc31xx/Kconfig
endif
if ARCH_CHIP_LPC43XX
source arch/arm/src/lpc43xx/Kconfig
endif
if ARCH_CHIP_SAM3U
source arch/arm/src/sam3u/Kconfig
endif
if ARCH_CHIP_STM32
source arch/arm/src/stm32/Kconfig
endif
if ARCH_CHIP_STR71X
source arch/arm/src/str71x/Kconfig
endif

endif
