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

comment "Tiva/Stellaris Configuration Options"

choice
	prompt "Tiva/Stellaris Chip Selection"
	default ARCH_CHIP_LM3S6965
	depends on ARCH_CHIP_LM || ARCH_CHIP_TIVA

config ARCH_CHIP_LM3S6918
	bool "LM3S6918"
	depends on ARCH_CHIP_LM
	select ARCH_CORTEXM3
	select ARCH_CHIP_LM3S
	select TIVA_HAVE_SSI1

config ARCH_CHIP_LM3S9B96
	bool "LM3S9B96"
	depends on ARCH_CHIP_LM
	select ARCH_CORTEXM3
	select ARCH_CHIP_LM3S

config ARCH_CHIP_LM3S6432
	bool "LM3S6432"
	depends on ARCH_CHIP_LM
	select ARCH_CORTEXM3
	select ARCH_CHIP_LM3S

config ARCH_CHIP_LM3S6965
	bool "LM3S6965"
	depends on ARCH_CHIP_LM
	select ARCH_CORTEXM3
	select ARCH_CHIP_LM3S

config ARCH_CHIP_LM3S8962
	bool "LM3S8962"
	depends on ARCH_CHIP_LM
	select ARCH_CORTEXM3
	select ARCH_CHIP_LM3S

config ARCH_CHIP_LM4F120
	bool "LM4F120"
	depends on ARCH_CHIP_LM
	select ARCH_CORTEXM4
	select ARCH_CHIP_LM4F
	select ARCH_HAVE_FPU

config ARCH_CHIP_TM4C123GH6ZRB
	bool "TM4C123GH6ZRB"
	depends on ARCH_CHIP_TIVA
	select ARCH_CORTEXM4
	select ARCH_CHIP_TM4C
	select ARCH_HAVE_FPU

config ARCH_CHIP_TM4C123GH6PMI
	bool "TM4C123GH6PMI"
	depends on ARCH_CHIP_TIVA
	select ARCH_CORTEXM4
	select ARCH_CHIP_TM4C
	select ARCH_HAVE_FPU

config ARCH_CHIP_CC3200
       bool "CC3200"
       depends on ARCH_CHIP_TIVA
       select ARCH_CORTEXM4

endchoice

# Chip families

config ARCH_CHIP_LM3S
	bool

config ARCH_CHIP_LM4F
	bool

config ARCH_CHIP_TM4C
	bool

config TIVA_HAVE_SSI1
	bool

config LM_REVA2
	bool "Rev A2"
	default n
	depends on ARCH_CHIP_LM
	---help---
		Some early silicon returned an increase LDO voltage or 2.75V to work
		around a PLL bug

config TIVA_BOARD_EARLYINIT
	bool
	default n

menu "Tiva/Stellaris Peripheral Support"

config TIVA_UART0
	bool "UART0"
	select ARCH_HAVE_UART0
	default n

config TIVA_UART1
	bool "UART1"
	select ARCH_HAVE_UART1
	default n

config TIVA_UART2
	bool "UART2"
	select ARCH_HAVE_UART2
	default n

config TIVA_UART3
	bool "UART3"
	default n
	depends on ARCH_CHIP_LM4F || ARCH_CHIP_TM4C
	select ARCH_HAVE_UART3

config TIVA_UART4
	bool "UART4"
	default n
	depends on ARCH_CHIP_LM4F || ARCH_CHIP_TM4C
	select ARCH_HAVE_UART4

config TIVA_UART5
	bool "UART5"
	default n
	depends on ARCH_CHIP_LM4F || ARCH_CHIP_TM4C
	select ARCH_HAVE_UART5

config TIVA_UART6
	bool "UART6"
	default n
	depends on ARCH_CHIP_LM4F || ARCH_CHIP_TM4C
	select ARCH_HAVE_UART6

config TIVA_UART7
	bool "UART7"
	default n
	depends on ARCH_CHIP_LM4F || ARCH_CHIP_TM4C
	select ARCH_HAVE_UART7

config SSI0_DISABLE
	bool "Disable SSI0"
	default y

config SSI1_DISABLE
	bool "Disable SSI1"
	default y

config TIVA_ETHERNET
	bool "Ethernet"
	default n
	select NETDEVICES
	---help---
		This must be set (along with NET) to build the Stellaris Ethernet driver.

config TIVA_FLASH
	bool "Internal FLASH driver"
	default n
	---help---
		Enable MTD driver support for internal FLASH.

endmenu

menu "Disable GPIO Interrupts"

config TIVA_DISABLE_GPIOA_IRQS
	bool "Disable GPIOA IRQs"
	default n

config TIVA_DISABLE_GPIOB_IRQS
	bool "Disable GPIOB IRQs"
	default n

config TIVA_DISABLE_GPIOC_IRQS
	bool "Disable GPIOC IRQs"
	default n

config TIVA_DISABLE_GPIOD_IRQS
	bool "Disable GPIOD IRQs"
	default n

config TIVA_DISABLE_GPIOE_IRQS
	bool "Disable GPIOE IRQs"
	default n

config TIVA_DISABLE_GPIOF_IRQS
	bool "Disable GPIOF IRQs"
	default n

config TIVA_DISABLE_GPIOG_IRQS
	bool "Disable GPIOG IRQs"
	default n

config TIVA_DISABLE_GPIOH_IRQS
	bool "Disable GPIOH IRQs"
	default n

config TIVA_DISABLE_GPIOJ_IRQS
	bool "Disable GPIOJ IRQs"
	default n

config TIVA_DISABLE_GPIOK_IRQS
	bool "Disable GPIOK IRQs"
	default n
	depends on ARCH_CHIP_TM4C

config TIVA_DISABLE_GPIOL_IRQS
	bool "Disable GPIOL IRQs"
	default n
	depends on ARCH_CHIP_TM4C

config TIVA_DISABLE_GPIOM_IRQS
	bool "Disable GPIOM IRQs"
	default n
	depends on ARCH_CHIP_TM4C

config TIVA_DISABLE_GPION_IRQS
	bool "Disable GPION IRQs"
	default n
	depends on ARCH_CHIP_TM4C

config TIVA_DISABLE_GPIOP_IRQS
	bool "Disable GPIOP IRQs"
	default n
	depends on ARCH_CHIP_TM4C

config TIVA_DISABLE_GPIOQ_IRQS
	bool "Disable GPIOQ IRQs"
	default n
	depends on ARCH_CHIP_TM4C

endmenu

if TIVA_ETHERNET
menu "Tiva/Stellaris Ethernet Configuration"

config TIVA_ETHLEDS
	bool "Ethernet LEDs"
	default n
	---help---
	Enable to use Ethernet LEDs on the board.

config TIVA_BOARDMAC
	bool "Board MAC"
	default n
	---help---
		If the board-specific logic can provide a MAC address (via
		tiva_ethernetmac()), then this should be selected.

config TIVA_ETHHDUPLEX
	bool "Force Half Duplex"
	default n
	---help---
		Set to force half duplex operation

config TIVA_ETHNOAUTOCRC
	bool "Disable auto-CRC"
	default n
	---help---
		Set to suppress auto-CRC generation

config TIVA_ETHNOPAD
	bool "Disable Tx Padding"
	default n
	---help---
		Set to suppress Tx padding

config TIVA_MULTICAST
	bool "Enable Multicast"
	default n
	---help---
		Set to enable multicast frames

config TIVA_PROMISCUOUS
	bool "Enable Promiscuous Mode"
	default n
	---help---
		Set to enable promiscuous mode

config TIVA_TIMESTAMP
	bool "Enable Timestamping"
	default n

config TIVA_BADCRC
	bool "Enable Bad CRC Rejection"
	default n
	---help---
		Set to enable bad CRC rejection.

config M3S_DUMPPACKET
	bool "Dump Packets"
	default n
	---help---
		Dump each packet received/sent to the console.

endmenu
endif

if !SSI0_DISABLE || !SSI1_DISABLE
menu "Tiva/Stellaris SSI Configuration"

config SSI_POLLWAIT
	bool "Poll Wait (No-Interrupt) Mode"
	default y

config SSI_TXLIMIT
	int "Tx Limit"
	default 4
	---help---
		Default of 4 assumes half of the 8 entry FIFO

endmenu
endif

if TIVA_FLASH
menu "Tiva/Stellaris Internal Flash Driver Configuration"

config TIVA_FLASH_STARTPAGE
	int "First page accessible by the MTD driver"
	default 250
	---help---
		To prevent accessing FLASH sections where code is stored.

endmenu
endif
