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