Loading...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 | # 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 "Enable 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 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_INIT_PRIORITY
int "Init priority"
default 95 if USB_UART_CONSOLE
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 UART_CONSOLE_INPUT_EXPIRED
bool "Enable 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 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 CDC ACM class for console.
As for the console driver, this option only changes the initialization
level.
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 2048 if COVERAGE
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.
# Workaround for not being able to have commas in macro arguments
DT_CHOSEN_Z_IPM_CONSOLE := zephyr,console
config IPM_CONSOLE_ON_DEV_NAME
string "IPM device name used by console"
default "$(dt_chosen_label,$(DT_CHOSEN_Z_IPM_CONSOLE))" if HAS_DTS
default "IPM_0"
depends on IPM_CONSOLE
help
IPM device name used by IPM console driver.
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_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.
# Workaround for not being able to have commas in macro arguments
DT_CHOSEN_Z_UART_PIPE := zephyr,uart-pipe
config UART_PIPE_ON_DEV_NAME
string "Device Name of UART Device for pipe UART"
default "$(dt_chosen_label,$(DT_CHOSEN_Z_UART_PIPE))" 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_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_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 99
depends on NATIVE_POSIX_CONSOLE
help
Device driver initialization priority.
config SEMIHOST_CONSOLE
bool "Use semihosting for console"
select CONSOLE_HAS_DRIVER
depends on CPU_CORTEX_M || ARM64
help
Enable this option to use semihosting for console.
Semihosting is a mechanism that enables code running on an ARM target
to communicate and use the Input/Output facilities on a host computer
that is running a debugger.
Additional information can be found in:
https://developer.arm.com/docs/dui0471/k/what-is-semihosting/what-is-semihosting
This option is compatible with hardware and with QEMU, through the
(automatic) use of the -semihosting-config switch when invoking it.
module = UART_CONSOLE
module-str = UART console
source "subsys/logging/Kconfig.template.log_config"
source "drivers/console/Kconfig.gsm_mux"
config UART_MUX
bool "Enable UART muxing (GSM 07.10) support [EXPERIMENTAL]"
depends on SERIAL_SUPPORT_INTERRUPT && GSM_MUX
select UART_INTERRUPT_DRIVEN
help
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.
if UART_MUX
config UART_MUX_INIT_PRIORITY
int "Init priority"
default 95
help
Device driver initialization priority. UART mux has to be
initialized after the UART driver it uses.
config UART_MUX_DEVICE_NAME
string "UART mux device name template"
default "GSM"
help
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.
config UART_MUX_RINGBUF_SIZE
int "UART mux ring buffer size"
default 256
help
UART mux ring buffer size when passing data from RX ISR to worker
thread that will do the unmuxing.
config UART_MUX_TEMP_BUF_SIZE
int "Size of the temp buffer when reading data from real UART"
default 32
help
Size of the temporary RX buffer in receiving ISR.
config UART_MUX_DEVICE_COUNT
int "Number of UART mux devices (DLCIs)"
default GSM_MUX_DLCI_MAX
range 1 64
help
Number of instances of UART muxes. Default value is set by
maximum number of DLCIs (Data Link Connection Identifiers)
configured in the system.
config UART_MUX_REAL_DEVICE_COUNT
int "Number of real UART devices"
default 1
help
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.
config UART_MUX_RX_STACK_SIZE
int "Size of the stack allocated for receiving data from UART"
default 512
help
Sets the stack size which will be used by the PPP RX workqueue.
config UART_MUX_RX_PRIORITY
int "RX workqueue thread priority"
default 7
help
Sets the priority of the RX workqueue thread.
module = UART_MUX
module-str = UART mux
source "subsys/logging/Kconfig.template.log_config"
endif # UART_MUX
config UART_MUX_VERBOSE_DEBUG
bool "Print hexdump of sent and received packets"
depends on UART_MUX_LOG_LEVEL_DBG
help
As there might be lot of debug output printed, only enable
this if really needed.
endif # CONSOLE
|