# 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
# Setting shared by different subsystems
bool "Console drivers"
int "Console maximum input line length"
This option can be used to modify the maximum length a console input
This is an option to be enabled by console drivers to signal
that some kind of console exists.
bool "Console input handler"
depends on UART_CONSOLE && SERIAL_SUPPORT_INTERRUPT
This option enables console input handler allowing to write simple
interaction between serial console and the OS.
int "Console init priority"
default 95 if UART_MUX
default 60 if UART_CONSOLE || XTENSA_SIM_CONSOLE
Console driver device initialization priority.
bool "Use UART for console"
depends on SERIAL && SERIAL_HAS_DRIVER
Enable this option to use one UART for console.
bool "Debug server hooks in debug console"
depends on UART_CONSOLE
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.
bool "UART console mcumgr passthrough"
depends on UART_CONSOLE
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.
bool "Support for UART console input expired mechanism"
depends on UART_CONSOLE && PM
This option allows a notification to the power management module that
the module for UART console is in use now. If the interval of console
module doesn't receive any input message exceeds expired timeout, such
as UART_CONSOLE_INPUT_EXPIRED_TIMEOUT, the power management module is
allowed to enter sleep/deep sleep state and turn off the clock of UART
console module. This mechanism gives a window in which the users can
organize input message if CONFIG_PM is enabled.
int "Fixed amount of time to keep the UART console in use flag true"
depends on UART_CONSOLE_INPUT_EXPIRED
Fixed amount of time which unit is milliseconds to keep the UART
console in use flag true.
bool "Use JAILHOUSE_DEBUG console"
depends on ARM64
Emit console messages to a jailhouse hypervisor debug console.
Useful in board bring-up if there aren't any working serial
bool "Use RAM console"
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.
int "Ram Console buffer size"
depends on RAM_CONSOLE
Size of the RAM console buffer. Messages will wrap around if the
length is exceeded.
bool "Use RTT console"
depends on USE_SEGGER_RTT
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.
int "Number of TX retries"
Number of TX retries before dropping the byte and assuming that
RTT session is inactive.
int "Delay between TX retries in milliseconds"
Sleep period between TX retry attempts. During RTT session, host pulls data
periodically. Period starts from 1-2 milliseconds and can be increased
if traffic on RTT increases (also from host to device). In case of
heavy traffic data can be lost and it may be necessary to increase
delay or number of retries.
bool "Busy wait in the interrupt context for TX retry"
If enabled RTT console will busy wait between TX retries when console
assumes that RTT session is active. In case of heavy traffic data can
be lost and it may be necessary to increase delay or number of
bool "Inter-processor Mailbox console sender"
Enable the sending side of IPM console
bool "Inter-processor Mailbox console receiver"
Enable the receiving side of IPM console
int "Stack size for IPM console receiver thread"
depends on IPM_CONSOLE_RECEIVER
default 2048 if COVERAGE
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.
bool "Inter-processor Mailbox console"
depends on IPM
Enable console over Inter-processor Mailbox.
int "IPM console line buffer length"
depends on IPM_CONSOLE
IPM console line buffer length specify amount of the buffer
where characters are stored before sending the whole line.
bool "Mcumgr UART driver"
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.
int "Size of receive buffer for mcumgr fragments received over UART, in bytes"
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
int "Number of receive buffers for mcumgr fragments received over UART"
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 >=
endif # UART_MCUMGR
bool "Use Xtensa simulator console"
depends on SIMULATOR_XTENSA
Use simulator console to print messages.
bool "Use the host terminal for console"
depends on ARCH_POSIX
Zephyr's printk messages will be directed to the host terminal stdout
int "Init priority"
depends on POSIX_ARCH_CONSOLE
Device driver initialization priority.
bool "Use semihosting for console"
depends on SEMIHOST
Enable this option to use semihosting for console.
See SEMIHOST for a more complete description of semihosting.
module = UART_CONSOLE
module-str = UART console
bool "UART muxing (GSM 07.10) support [EXPERIMENTAL]"
depends on SERIAL_SUPPORT_INTERRUPT && GSM_MUX
Enable this option to create UART muxer that run over a physical
UART. The GSM 07.10 muxing protocol is used to separate the data
between these muxed UARTs.
string "UART mux device name template"
Device name template for the UART mux Devices. First device would
have name $(UART_MUX_DEVICE_NAME)_0, etc. User will access muxed
UART using this name.
int "UART mux ring buffer size"
UART mux ring buffer size when passing data from RX ISR to worker
thread that will do the unmuxing.
int "Size of the temp buffer when reading data from real UART"
Size of the temporary RX buffer in receiving ISR.
int "Number of UART mux devices (DLCIs)"
range 1 64
Number of instances of UART muxes. Default value is set by
maximum number of DLCIs (Data Link Connection Identifiers)
configured in the system.
int "Number of real UART devices"
Tells how many real UART devices there are. Typically there is
only one UART and the muxed UARTs are run on top of that. If you have
two modems for example, then you would need to increase this to two.
int "Size of the stack allocated for receiving data from UART"
Sets the stack size which will be used by the PPP RX workqueue.
int "RX workqueue thread priority"
Sets the priority of the RX workqueue thread.
module = UART_MUX
module-str = UART mux
endif # UART_MUX
bool "Print hexdump of sent and received packets"
depends on UART_MUX_LOG_LEVEL_DBG
As there might be lot of debug output printed, only enable
this if really needed.
bool "Use EFI console for console output"
Enable this option to use EFI console output.
bool "Use Winstream console"
depends on WINSTREAM
Use winstream as a console.
See the WINSTREAM Kconfig help for more information.
endif # CONSOLE