# Kconfig - console driver configuration options

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

menuconfig CONSOLE
	bool
	prompt "Console drivers"

if CONSOLE

config CONSOLE_INPUT_MAX_LINE_LEN
	int "Console maximum input line length"
	default 128
	help
	  This option can be used to modify the maximum length a console input
	  can be.

config CONSOLE_HAS_DRIVER
	bool
	default n
	help
	  This is an option to be enabled by console drivers to signal
	  that some kind of console exists.

config CONSOLE_HANDLER
	bool
	prompt "Enable console input handler"
	depends on UART_CONSOLE
	select UART_INTERRUPT_DRIVEN
	default n
	help
	  This option enables console input handler allowing to write simple
	  interaction between serial console and the OS.

config UART_CONSOLE
	bool
	prompt "Use UART for console"
	default n
	depends on SERIAL && SERIAL_HAS_DRIVER
	select CONSOLE_HAS_DRIVER
	help
	  Enable this option to use one UART for console. Make sure
	  CONFIG_UART_CONSOLE_ON_DEV_NAME is also set correctly.

if !HAS_DTS
config UART_CONSOLE_ON_DEV_NAME
	string "Device Name of UART Device for UART Console"
	default "UART_0"
	depends on UART_CONSOLE
	help
	  This option specifies the name of UART device to be used for
	  UART console.
endif

config UART_CONSOLE_INIT_PRIORITY
	int
	prompt "Init priority"
	default 60
	depends on UART_CONSOLE
	help
	  Device driver initialization priority.
	  Console has to be initialized after the UART driver
	  it uses.

config UART_CONSOLE_DEBUG_SERVER_HOOKS
	bool
	prompt "Debug server hooks in debug console"
	default n
	depends on UART_CONSOLE
	help
	  This option allows a debug server agent such as GDB to take over the
	  handling of traffic that goes through the console logic. The debug
	  server looks at characters received and decides to handle them itself if
	  they are some sort of control characters, or let the regular console
	  code handle them if they are of no special significance to it.

config UART_CONSOLE_MCUMGR
	bool
	prompt "Enable UART console mcumgr passthrough"
	default n
	depends on UART_CONSOLE
	help
	  Enables the UART console to receive mcumgr frames for image upgrade
	  and device management.  When enabled, the UART console does not
	  process mcumgr frames, but it hands them up to a higher level module
	  (e.g., the shell).  If unset, incoming mcumgr frames are dropped.

config USB_UART_CONSOLE
	bool
	prompt "Use USB port for console outputs"
	depends on SERIAL
	select CONSOLE_HAS_DRIVER
	select USB_CDC_ACM
	default n
	help
	  Enable this option to use the USB UART for console output. The output
	  can be viewed from the USB host via /dev/ttyACM* port. Note that console
	  inputs from the USB UART are not functional yet. Also since the USB
	  layer currently doesn't support multiple interfaces, this shouldn't be
	  selected in conjunction with, say, USB Mass Storage.

config USB_UART_DTR_WAIT
	bool
	prompt "Wait on DTR control signal"
	default n
	depends on USB_UART_CONSOLE
	help
	  Enable this option to use flow control on the console. The uart console
	  waits until the DTR is asserted by the host.
	  Note: Disabling this might lead to missing console prints.

config RAM_CONSOLE
	bool
	prompt "Use RAM console"
	select CONSOLE_HAS_DRIVER
	default n
	help
	  Emit console messages to a RAM buffer "ram_console" which can
	  be examined at runtime with a debugger. Useful in board bring-up
	  if there aren't any working serial drivers.

config RAM_CONSOLE_BUFFER_SIZE
	int "Ram Console buffer size"
	default 1024
	depends on RAM_CONSOLE
	help
	  Size of the RAM console buffer. Messages will wrap around if the
	  length is exceeded.

config RTT_CONSOLE
	bool
	prompt "Use RTT console"
	depends on HAS_SEGGER_RTT
	select CONSOLE_HAS_DRIVER
	default n
	help
	  Emit console messages to a RAM buffer that is then read by the
	  Segger J-Link software and displayed on a computer in real-time.
	  Requires support for Segger J-Link on the companion IC onboard.

config IPM_CONSOLE_SENDER
	bool
	prompt "Inter-processor Mailbox console sender"
	select CONSOLE_HAS_DRIVER
	default n
	help
	  Enable the sending side of IPM console

config IPM_CONSOLE_RECEIVER
	bool
	prompt "Inter-processor Mailbox console receiver"
	select RING_BUFFER
	default n
	help
	  Enable the receiving side of IPM console

config IPM_CONSOLE_STACK_SIZE
	int
	prompt "Stack size for IPM console receiver thread"
	depends on IPM_CONSOLE_RECEIVER
	default 512
	help
	  Each instance of the IPM console receiver driver creates a worker
	  thread to print out incoming messages from the remote CPU. Specify the
	  stack size for these threads here.

config IPM_CONSOLE_INIT_PRIORITY
	int
	prompt "IPM console init priority"
	default 60
	depends on IPM_CONSOLE_SENDER || IPM_CONSOLE_RECEIVER
	help
	  Device driver initialization priority.
	  Console has to be initialized after the IPM subsystem
	  it uses.

config	UART_PIPE
	bool
	prompt "Enable pipe UART driver"
	select UART_INTERRUPT_DRIVEN
	default n
	help
	  Enable pipe UART driver. This driver allows application to communicate
	  over UART with custom defined protocol. Driver doesn't inspect received
	  data (as contrary to console UART driver) and all aspects of received
	  protocol data are handled by application provided callback.

if !HAS_DTS
config UART_PIPE_ON_DEV_NAME
	string "Device Name of UART Device for pipe UART"
	default "UART_0"
	depends on UART_PIPE
	help
	  This option specifies the name of UART device to be used
	  for pipe UART.
endif

config UART_MCUMGR
	bool
	prompt "Enable mcumgr UART driver"
	select UART_INTERRUPT_DRIVEN
	default n
	help
	  Enable the mcumgr UART driver. This driver allows the application to
	  communicate over UART using the mcumgr protocol for image upgrade and
	  device management. The driver doesn't inspect received data (as
	  contrary to console UART driver) and all aspects of received protocol
	  data are handled by an application provided callback.

if UART_MCUMGR
if !HAS_DTS
config UART_MCUMGR_ON_DEV_NAME
	string "Device Name of UART Device for mcumgr UART"
	default "UART_0"
	depends on UART_MCUMGR
	help
	  This option specifies the name of UART device to be used
	  for mcumgr UART.
endif # !HAS_DTS

config UART_MCUMGR_RX_BUF_SIZE
	int
	prompt "Size of receive buffer for mcumgr fragments received over UART, in bytes"
	default 128
	help
	  Specifies the size of the mcumgr UART receive buffer, in bytes. This
	  value must be large enough to accommodate any line sent by an mcumgr
	  client.

config UART_MCUMGR_RX_BUF_COUNT
	int
	prompt "Number of receive buffers for mcumgr fragments received over UART"
	default 2
	help
	  Specifies the number of the mcumgr UART receive buffers.  Receive
	  buffers hold received mcumgr fragments prior to reassembly.  This
	  setting's value must satisfy the following relation:
	  UART_MCUMGR_RX_BUF_COUNT * UART_MCUMGR_RX_BUF_SIZE >=
	  MCUMGR_SMP_UART_MTU

endif # UART_MCUMGR

config XTENSA_SIM_CONSOLE
	bool
	prompt "Use Xtensa simulator console"
	depends on SIMULATOR_XTENSA
	select CONSOLE_HAS_DRIVER
	default y
	help
	  Use simulator console to print messages.

config NATIVE_POSIX_CONSOLE
	bool
	prompt "Use native stdin/stdout for console"
	depends on ARCH_POSIX
	select CONSOLE_HAS_DRIVER
	default y
	help
	  Use native stdin and stdout to print messages and get input

config NATIVE_POSIX_STDIN_CONSOLE
	bool
	prompt "Read from native stdin for console"
	depends on NATIVE_POSIX_CONSOLE
	default y
	help
	  Use native console to get input.

config NATIVE_STDIN_POLL_PERIOD
	int
	prompt "Polling period for stdin"
	depends on NATIVE_POSIX_STDIN_CONSOLE
	default 20
	help
	  In ms, polling period for stdin

config NATIVE_STDIN_PRIO
	int
	prompt "Priority of the stdin polling thread"
	depends on NATIVE_POSIX_STDIN_CONSOLE
	default 4
	help
	  Priority of the native stdin polling thread

config NATIVE_POSIX_STDOUT_CONSOLE
	bool
	prompt "Print to native stdout"
	depends on NATIVE_POSIX_CONSOLE
	default y
	help
	  Use native console (stout) to print messages.

config XTENSA_CONSOLE_INIT_PRIORITY
	int
	prompt "Init priority"
	default 60
	depends on XTENSA_SIM_CONSOLE
	help
	  Device driver initialization priority.

config NATIVE_POSIX_CONSOLE_INIT_PRIORITY
	int
	prompt "Init priority"
	default 60
	depends on NATIVE_POSIX_CONSOLE
	help
	  Device driver initialization priority.

source "drivers/console/Kconfig.telnet"
source "drivers/console/Kconfig.ws"
endif
