blob: 030e9885a06df630fd72e6bdb794e346ecac82d5 [file] [log] [blame]
# Copyright (c) 2024 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
DT_COMPAT_NORDIC_NRF_TBM := nordic,nrf-tbm
config DEBUG_NRF_ETR
bool "Coresight ETR handler (with Nordic TBM)"
depends on $(dt_compat_enabled,$(DT_COMPAT_NORDIC_NRF_TBM))
select NRFX_TBM
imply UART_ASYNC_API
default y
help
Module handles data stored in the ETR circular buffer (e.g. STM logging
data). Busyness is tracked using TBM (Trace Buffer Monitor) peripheral
which is specific to Nordic Semiconductor SoCs.
if DEBUG_NRF_ETR
config DEBUG_NRF_ETR_DECODE
bool "Decode ETR content"
default y if LOG_FRONTEND_STMESP_FSC
select MIPI_STP_DECODER
select CS_TRACE_DEFMT
select LOG_FRONTEND_STMESP_DEMUX
select LOG_OUTPUT
imply LOG_BACKEND_SHOW_COLOR
imply CBPRINTF_FP_SUPPORT
help
In this mode, log messages stored by Coresight STM logging frontends are
decoded and printed in the human readable form.
config DEBUG_NRF_ETR_DECODE_DROP_PERIOD
int "Period of dropped messages notification"
default 5000
help
Period (in milliseconds) how often it is checked if any dropped messages
have occurred.
config DEBUG_NRF_ETR_DEBUG
bool "Debug mode"
depends on !LOG_PRINTK
select MIPI_STP_DECODER
select CS_TRACE_DEFMT
help
In debug mode STPv2 decoded data is printed.
config DEBUG_NRF_ETR_STACK_SIZE
int "ETR thread stack size"
default 2048 if DEBUG_NRF_ETR_DECODE || DEBUG_NRF_ETR_DEBUG
default 1024
config DEBUG_NRF_ETR_BACKOFF
int "Thread backoff time (ms)"
default 10
help
Determines how often attempt to dump the data is performed.
config DEBUG_NRF_ETR_FLUSH_TIMEOUT
int "Backoff time during flushing (ms)"
default 100
help
When thread triggers flushing of ETR data, it periodically checks if
there is still a pending ETR data. This option specifies how often
thread is waking up to check. Given in milliseconds.
config DEBUG_NRF_ETR_SYNC_PERIOD
int "Period of custom synchronization frame"
default 0 if DEBUG_NRF_ETR_DECODE
default 0 if DEBUG_NRF_ETR_DEBUG
default 16
help
To help find the synchronization when decoding the ETR content
by a host tool a synchronization pattern (16 bytes of 0xFF) can be
sent on regular intervals. This frame is sent between Coresight formatter
frames. Use 0 to disable.
config DEBUG_NRF_ETR_SHELL
bool "Use shell"
select UART_ASYNC_API
select UART_ASYNC_RX_HELPER
select SHELL_LOG_BACKEND_CUSTOM
depends on DEBUG_NRF_ETR_DECODE
default y if SHELL
help
Enable shell with Coresight STM logging support.
if DEBUG_NRF_ETR_SHELL
config DEBUG_NRF_ETR_SHELL_PROMPT
string "Displayed prompt name"
default "uart:~$ "
help
Displayed prompt name for UART shell with Coresight STM logging.
config DEBUG_NRF_ETR_SHELL_ASYNC_RX_BUFFER_SIZE
int "Size of the RX buffer"
default 16
help
Size of a single RX buffer. Together with buffer count it defines the
space that can hold RX data. It may be decreased if shell input is
slow and may need to be increased if long messages are pasted directly
to the shell prompt.
config DEBUG_NRF_ETR_SHELL_ASYNC_RX_BUFFER_COUNT
int "Number of RX buffers"
default 4
range 2 64
help
Number of RX buffers.
endif # DEBUG_NRF_ETR_SHELL
endif # DEBUG_NRF_ETR
menuconfig DEBUG_CORESIGHT_NRF
bool "Coresight Trace support"
default y
depends on DT_HAS_NORDIC_CORESIGHT_NRF_ENABLED
select PINCTRL
select NRF_IRONSIDE_TDD_SERVICE
help
Support CoreSight peripherals in Test and Debug Domain for ARM
CoreSight System Trace Macrocell (STM) trace support.
if DEBUG_CORESIGHT_NRF
config DEBUG_CORESIGHT_NRF_ATB_TRACE_ID_STM_GLOBAL
def_hex 0x40
help
Global trace ID used by STM.
config DEBUG_CORESIGHT_NRF_STM_SYNC_BYTE_COUNT
int "STM: Emit synhronization packet every N bytes"
range 0 4095
default 512
config DEBUG_CORESIGHT_NRF_STM_HWEVENTS
bool "STM: Enable hardware events"
help
Enable the output of hardware events in STM.
config DEBUG_CORESIGHT_NRF_TPIU_FFCR_TRIG
bool "TPIU: Use flush request trigger"
default y
help
Use CTI channel 1 for triggering flush request in TPIU.
config DEBUG_CORESIGHT_NRF_TPIU_SYNC_FRAME_COUNT
int "TPIU: Emit synchronisation packet every N frames"
default 8
config DEBUG_CORESIGHT_NRF_TPIU_PORTSIZE
int "TPIU: Size of the current TPIU port in bits"
range 1 32
default 4
config DEBUG_CORESIGHT_NRF_ATBFUNNEL_HOLD_TIME
int "ATBFUNNEL: Hold time for the transaction"
range 1 15
default 4
help
Number of transactions that are output on the funnel master port from the
same slave.
config DEBUG_CORESIGHT_NRF_TSGEN_CLK_DIV
int
default 8
help
Clock division factor for generating trace timestamps. The timestamp
counter should not be slower than 10% of the fastest processor clock
frequency in the system, therefore its clock speed is divided by
eight.
module = DEBUG_CORESIGHT_NRF
module-str = CoreSight Trace
source "subsys/logging/Kconfig.template.log_config"
endif # DEBUG_CORESIGHT_NRF