#
# Copyright (c) 2022-2023 Nordic Semiconductor
#
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
#

# Adds Flash to the trace backend choice.
choice NRF_MODEM_LIB_TRACE_BACKEND

config NRF_MODEM_LIB_TRACE_BACKEND_FLASH
	bool "Stream modem traces to flash"
	depends on FCB
	select FCB_ALLOW_FIXED_ENDMARKER
	depends on FLASH
	depends on FLASH_MAP
	help
	  Use flash trace backend.
	  Note that the backend takes time to erase the flash during initialization.

endchoice # NRF_MODEM_LIB_TRACE_BACKEND

if NRF_MODEM_LIB_TRACE_BACKEND_FLASH

config NRF_MODEM_LIB_TRACE_BACKEND_FLASH_BUF_SIZE
	int "Flash buffer size"
	default 1024

choice NRF_MODEM_TRACE_FLASH_NOSPACE_POLICY
	prompt "When flash is full"

config NRF_MODEM_TRACE_FLASH_NOSPACE_SIGNAL
	bool "Stop and signal"
	help
	  The application can be notified when the flash is full by implementing the
	  nrf_modem_lib_trace_callback function.

config NRF_MODEM_TRACE_FLASH_NOSPACE_ERASE_OLDEST
	bool "Erase oldest"
	help
	   Allow replacing the oldest trace data with new data.

endchoice # NRF_MODEM_TRACE_FLASH_NOSPACE_POLICY

config NRF_MODEM_LIB_TRACE_FLASH_SECTORS
	int "Number of Flash sectors"
	default 64

config NRF_MODEM_LIB_TRACE_BACKEND_FLASH_PARTITION_SIZE
	hex "External flash space reserved for modem traces"
	range 0 0x800000
	default 0x400000
	help
	  Flash space set aside for modem traces in the external flash.

endif # NRF_MODEM_LIB_TRACE_BACKEND_FLASH
