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