# Kconfig - TI LM3S6965 platform configuration options

#
# Copyright (c) 2014-2015 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#

if SOC_TI_LM3S6965

config SOC
	default ti_lm3s6965

config SRAM_BASE_ADDRESS
	default 0x20000000

config FLASH_BASE_ADDRESS
	default 0x00000000

config NUM_IRQ_PRIO_BITS
	int
	default 3

config NUM_IRQS
	int
	# must be >= the highest interrupt number used
	# - include the UART interrupts
	default 34

config SYS_CLOCK_HW_CYCLES_PER_SEC
	int
	default 12000000

if UART_STELLARIS

config UART_STELLARIS_PORT_0
	def_bool y

if UART_STELLARIS_PORT_0
config UART_STELLARIS_PORT_0_IRQ_PRI
	default 3
config UART_STELLARIS_PORT_0_BAUD_RATE
	default 115200
endif

config UART_STELLARIS_PORT_1
	def_bool y

if UART_STELLARIS_PORT_1
config UART_STELLARIS_PORT_1_IRQ_PRI
	default 3
config UART_STELLARIS_PORT_1_BAUD_RATE
	default 115200
endif

config UART_STELLARIS_PORT_2
	def_bool y
if UART_STELLARIS_PORT_2
config UART_STELLARIS_PORT_2_IRQ_PRI
	default 3
config UART_STELLARIS_PORT_2_BAUD_RATE
	default 115200
endif

endif # UART_STELLARIS

config BLUETOOTH_UART_ON_DEV_NAME
	default "UART_1" if BLUETOOTH_UART

config UART_PIPE_ON_DEV_NAME
	default "UART_1" if UART_PIPE

config BLUETOOTH_MONITOR_ON_DEV_NAME
	default "UART_2" if  BLUETOOTH_DEBUG_MONITOR

endif
