288 lines
9.0 KiB
Plaintext
288 lines
9.0 KiB
Plaintext
# 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
|
|
|
|
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 "Console input handler"
|
|
depends on UART_CONSOLE && SERIAL_SUPPORT_INTERRUPT
|
|
select UART_INTERRUPT_DRIVEN
|
|
help
|
|
This option enables console input handler allowing to write simple
|
|
interaction between serial console and the OS.
|
|
|
|
config CONSOLE_INIT_PRIORITY
|
|
int "Console init priority"
|
|
default 60 if UART_CONSOLE || XTENSA_SIM_CONSOLE
|
|
default KERNEL_INIT_PRIORITY_DEFAULT
|
|
help
|
|
Console driver device initialization priority.
|
|
|
|
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.
|
|
|
|
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 "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 UART_CONSOLE_INPUT_EXPIRED
|
|
bool "Support for UART console input expired mechanism"
|
|
default y
|
|
depends on UART_CONSOLE && PM
|
|
help
|
|
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.
|
|
|
|
config UART_CONSOLE_INPUT_EXPIRED_TIMEOUT
|
|
int "Fixed amount of time to keep the UART console in use flag true"
|
|
default 15000
|
|
depends on UART_CONSOLE_INPUT_EXPIRED
|
|
help
|
|
Fixed amount of time which unit is milliseconds to keep the UART
|
|
console in use flag true.
|
|
|
|
config JAILHOUSE_DEBUG_CONSOLE
|
|
bool "Use JAILHOUSE_DEBUG console"
|
|
select CONSOLE_HAS_DRIVER
|
|
depends on ARM64
|
|
help
|
|
Emit console messages to a jailhouse hypervisor debug console.
|
|
Useful in board bring-up if there aren't any working serial
|
|
drivers.
|
|
|
|
# Workaround for not being able to have commas in macro arguments
|
|
DT_CHOSEN_Z_RAM_CONSOLE := zephyr,ram-console
|
|
|
|
config RAM_CONSOLE
|
|
bool "Use RAM console"
|
|
select CONSOLE_HAS_DRIVER
|
|
select RAM_CONSOLE_BUFFER_SECTION if $(dt_chosen_enabled,$(DT_CHOSEN_Z_RAM_CONSOLE))
|
|
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_SECTION
|
|
bool "Use dedicated section as RAM console buffer"
|
|
depends on RAM_CONSOLE && $(dt_chosen_enabled,$(DT_CHOSEN_Z_RAM_CONSOLE))
|
|
select KERNEL_DIRECT_MAP if MMU
|
|
help
|
|
Use a dedicated section as the RAM console buffer, whose address is
|
|
known before build so that the console output messages can be easily
|
|
examined by a debugger or software tool from a parallel-running OS.
|
|
|
|
config RAM_CONSOLE_BUFFER_SIZE
|
|
int "Ram Console buffer size"
|
|
default $(dt_chosen_reg_size_int,$(DT_CHOSEN_Z_RAM_CONSOLE)) if RAM_CONSOLE_BUFFER_SECTION
|
|
default 1024
|
|
depends on RAM_CONSOLE
|
|
help
|
|
Total size of the RAM console buffer, to ensure it's always
|
|
NULL-terminated leave one byte unused, the actual length is
|
|
one byte less. Messages will wrap around if the actual 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 2048 if COVERAGE_GCOV
|
|
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
|
|
bool "Inter-processor Mailbox console"
|
|
depends on IPM
|
|
select CONSOLE_HAS_DRIVER
|
|
help
|
|
Enable console over Inter-processor Mailbox.
|
|
|
|
config IPM_CONSOLE_LINE_BUF_LEN
|
|
int "IPM console line buffer length"
|
|
default 128
|
|
depends on IPM_CONSOLE
|
|
help
|
|
IPM console line buffer length specify amount of the buffer
|
|
where characters are stored before sending the whole line.
|
|
|
|
config UART_MCUMGR
|
|
bool "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_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_TRANSPORT_UART_MTU
|
|
|
|
endif # UART_MCUMGR
|
|
|
|
config XTENSA_SIM_CONSOLE
|
|
bool "Use Xtensa simulator console"
|
|
depends on SIMULATOR_XTENSA
|
|
depends on !WINSTREAM_CONSOLE
|
|
select CONSOLE_HAS_DRIVER
|
|
default y
|
|
help
|
|
Use simulator console to print messages.
|
|
|
|
config POSIX_ARCH_CONSOLE
|
|
bool "Use the host terminal for console"
|
|
depends on ARCH_POSIX
|
|
select CONSOLE_HAS_DRIVER
|
|
help
|
|
Zephyr's printk messages will be directed to the host terminal stdout
|
|
|
|
config POSIX_ARCH_CONSOLE_INIT_PRIORITY
|
|
int "Init priority"
|
|
default 99
|
|
depends on POSIX_ARCH_CONSOLE
|
|
help
|
|
Device driver initialization priority.
|
|
|
|
config SEMIHOST_CONSOLE
|
|
bool "Use semihosting for console"
|
|
select CONSOLE_HAS_DRIVER
|
|
depends on SEMIHOST
|
|
help
|
|
Enable this option to use semihosting for console.
|
|
See SEMIHOST for a more complete description of semihosting.
|
|
|
|
module = UART_CONSOLE
|
|
module-str = UART console
|
|
source "subsys/logging/Kconfig.template.log_config"
|
|
|
|
config EFI_CONSOLE
|
|
bool "Use EFI console for console output"
|
|
select CONSOLE_HAS_DRIVER
|
|
help
|
|
Enable this option to use EFI console output.
|
|
|
|
config WINSTREAM_CONSOLE
|
|
bool "Use Winstream console"
|
|
depends on WINSTREAM
|
|
select CONSOLE_HAS_DRIVER
|
|
help
|
|
Use winstream as a console.
|
|
|
|
See the WINSTREAM Kconfig help for more information.
|
|
|
|
endif # CONSOLE
|