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