Boot Linux faster!

Check our new training course

Boot Linux faster!

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

Bootlin logo

Elixir Cross Referencer

# 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.

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.

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 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 doesnt support multiple interfaces, this shouldnt be
	selected in conjunction with say USB Mass Storage.

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_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.

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.

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 XTENSA_CONSOLE_INIT_PRIORITY
	int
	prompt "Init priority"
	default 60
	depends on XTENSA_SIM_CONSOLE
	help
	  Device driver initialization priority.

source "drivers/console/Kconfig.telnet"
endif