303 lines
9.1 KiB
Plaintext
303 lines
9.1 KiB
Plaintext
# 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
|
|
#
|
|
|
|
# Setting shared by different subsystems
|
|
config UART_CONSOLE_ON_DEV_NAME
|
|
string "Device Name of UART Device for UART Console"
|
|
default "$(dt_str_val,DT_UART_CONSOLE_ON_DEV_NAME)" if HAS_DTS
|
|
default "UART_0"
|
|
depends on (UART_CONSOLE || CONSOLE_SUBSYS)
|
|
help
|
|
This option specifies the name of UART device to be used for
|
|
UART console.
|
|
|
|
menuconfig CONSOLE
|
|
bool "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
|
|
help
|
|
This is an option to be enabled by console drivers to signal
|
|
that some kind of console exists.
|
|
|
|
config CONSOLE_HANDLER
|
|
bool "Enable console input handler"
|
|
depends on UART_CONSOLE
|
|
select UART_INTERRUPT_DRIVEN
|
|
help
|
|
This option enables console input handler allowing to write simple
|
|
interaction between serial console and the OS.
|
|
|
|
config UART_CONSOLE
|
|
bool "Use UART for console"
|
|
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_INIT_PRIORITY
|
|
int "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 "Debug server hooks in debug console"
|
|
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 "Enable UART console mcumgr passthrough"
|
|
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 "Use USB port for console outputs"
|
|
select UART_CONSOLE
|
|
select USB_CDC_ACM
|
|
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 "Wait on DTR control signal"
|
|
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 "Use RAM console"
|
|
select CONSOLE_HAS_DRIVER
|
|
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 "Use RTT console"
|
|
depends on USE_SEGGER_RTT
|
|
select CONSOLE_HAS_DRIVER
|
|
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.
|
|
|
|
if RTT_CONSOLE
|
|
|
|
config RTT_TX_RETRY_CNT
|
|
int "Number of TX retries"
|
|
default 2
|
|
help
|
|
Number of TX retries before dropping the byte and assuming that
|
|
RTT session is inactive.
|
|
|
|
config RTT_TX_RETRY_DELAY_MS
|
|
int "Delay between TX retries in milliseconds"
|
|
default 2
|
|
help
|
|
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.
|
|
|
|
config RTT_TX_RETRY_IN_INTERRUPT
|
|
bool "Busy wait in the interrupt context for TX retry"
|
|
help
|
|
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
|
|
retries.
|
|
|
|
endif
|
|
|
|
config IPM_CONSOLE_SENDER
|
|
bool "Inter-processor Mailbox console sender"
|
|
select CONSOLE_HAS_DRIVER
|
|
help
|
|
Enable the sending side of IPM console
|
|
|
|
config IPM_CONSOLE_RECEIVER
|
|
bool "Inter-processor Mailbox console receiver"
|
|
select RING_BUFFER
|
|
help
|
|
Enable the receiving side of IPM console
|
|
|
|
config IPM_CONSOLE_STACK_SIZE
|
|
int "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 "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 "Enable pipe UART driver"
|
|
select UART_INTERRUPT_DRIVEN
|
|
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 "$(dt_str_val,DT_UART_PIPE_ON_DEV_NAME)" if HAS_DTS
|
|
default "UART_0"
|
|
depends on UART_PIPE
|
|
help
|
|
This option specifies the name of UART device to be used
|
|
for pipe UART.
|
|
|
|
config UART_MCUMGR
|
|
bool "Enable mcumgr UART driver"
|
|
select UART_INTERRUPT_DRIVEN
|
|
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
|
|
|
|
config UART_MCUMGR_ON_DEV_NAME
|
|
string "Device Name of UART Device for mcumgr UART"
|
|
default "$(dt_str_val,DT_UART_MCUMGR_ON_DEV_NAME)" if HAS_DTS
|
|
default "UART_0"
|
|
help
|
|
This option specifies the name of UART device to be used
|
|
for mcumgr UART.
|
|
|
|
config UART_MCUMGR_RX_BUF_SIZE
|
|
int "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 "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 "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 "Use the host terminal for console"
|
|
depends on ARCH_POSIX
|
|
select CONSOLE_HAS_DRIVER
|
|
help
|
|
Use the host terminal (where the native_posix binary was launched) for the
|
|
Zephyr console
|
|
|
|
config NATIVE_POSIX_STDIN_CONSOLE
|
|
bool "Use the host terminal stdin"
|
|
depends on NATIVE_POSIX_CONSOLE
|
|
help
|
|
No current use. Kept only as there is plans to start using these
|
|
drivers with the shell
|
|
|
|
config NATIVE_STDIN_POLL_PERIOD
|
|
int "Polling period for stdin"
|
|
depends on NATIVE_POSIX_STDIN_CONSOLE
|
|
default 20
|
|
help
|
|
In ms, polling period for stdin
|
|
|
|
config NATIVE_STDIN_PRIO
|
|
int "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 "Print to the host terminal stdout"
|
|
depends on NATIVE_POSIX_CONSOLE
|
|
default y
|
|
help
|
|
Zephyr's printk messages will be directed to the host terminal stdout.
|
|
|
|
config XTENSA_CONSOLE_INIT_PRIORITY
|
|
int "Init priority"
|
|
default 60
|
|
depends on XTENSA_SIM_CONSOLE
|
|
help
|
|
Device driver initialization priority.
|
|
|
|
config NATIVE_POSIX_CONSOLE_INIT_PRIORITY
|
|
int "Init priority"
|
|
default 60
|
|
depends on NATIVE_POSIX_CONSOLE
|
|
help
|
|
Device driver initialization priority.
|
|
|
|
source "drivers/console/Kconfig.telnet"
|
|
endif
|