Linux preempt-rt

Check our new training course

Real-Time Linux with PREEMPT_RT

Check our new training course
with Creative Commons CC-BY-SA
lecture and lab materials

Bootlin logo

Elixir Cross Referencer

# Virtual UART RTT driver option

# Copyright (c) 2019 omSquare s.r.o.
# SPDX-License-Identifier: Apache-2.0

menuconfig UART_RTT
	bool "Enable UART RTT driver"
	depends on USE_SEGGER_RTT
	select SEGGER_RTT_CUSTOM_LOCKING
	help
	  This option enables access RTT channel as UART device.

if UART_RTT

# Workaround for not being able to have commas in macro arguments
DT_COMPAT_SEGGER_RTT_UART  := segger,rtt-uart

config UART_RTT_0
	def_bool $(dt_nodelabel_has_compat,rtt0,$(DT_COMPAT_SEGGER_RTT_UART))
	depends on SEGGER_RTT_MAX_NUM_UP_BUFFERS >= 1 && SEGGER_RTT_MAX_NUM_DOWN_BUFFERS >= 1
	depends on SEGGER_RTT_MODE_NO_BLOCK_SKIP
	select SERIAL_HAS_DRIVER
	select UART_RTT_DRIVER
	help
	  Enable UART on (default) RTT channel 0. Default channel has to be configured in non-blocking skip mode.

config UART_RTT_1
	def_bool $(dt_nodelabel_has_compat,rtt1,$(DT_COMPAT_SEGGER_RTT_UART))
	depends on SEGGER_RTT_MAX_NUM_UP_BUFFERS >= 2 && SEGGER_RTT_MAX_NUM_DOWN_BUFFERS >= 2
	select SERIAL_HAS_DRIVER
	select UART_RTT_DRIVER
	help
	  Enable UART on RTT channel 1

config UART_RTT_2
	def_bool $(dt_nodelabel_has_compat,rtt2,$(DT_COMPAT_SEGGER_RTT_UART))
	depends on SEGGER_RTT_MAX_NUM_UP_BUFFERS >= 3 && SEGGER_RTT_MAX_NUM_DOWN_BUFFERS >= 3
	select SERIAL_HAS_DRIVER
	select UART_RTT_DRIVER
	help
	  Enable UART on RTT channel 2

config UART_RTT_3
	def_bool $(dt_nodelabel_has_compat,rtt3,$(DT_COMPAT_SEGGER_RTT_UART))
	depends on SEGGER_RTT_MAX_NUM_UP_BUFFERS >= 4 && SEGGER_RTT_MAX_NUM_DOWN_BUFFERS >= 4
	select SERIAL_HAS_DRIVER
	select UART_RTT_DRIVER
	help
	  Enable UART on RTT channel 3

config UART_RTT_DRIVER
	bool

endif