Linux Audio

Check our new training course

Embedded Linux Audio

Check our new training course
with Creative Commons CC-BY-SA
lecture materials

Bootlin logo

Elixir Cross Referencer

Loading...
# 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"
endif