# Kconfig - Non-volatile Storage NVS

#
# Copyright (c) 2018 Laczen
#
# SPDX-License-Identifier: Apache-2.0
#

config NVS
	bool "Non-volatile Storage"
	select FS_FLASH_STORAGE_PARTITION
	help
	  Enable support of Non-volatile Storage.

if NVS

config NVS_PROTECT_FLASH
	bool "Non-volatile Storage extra flash protection"
	help
	  Enable extra protection against unnecessary writes to flash. This
	  enables a extra read check, if data is not changed no write is
	  performed. If this check is already performed (e.g. no writes unless
	  data is changed) you can disable this operation.


config NVS_LOG
	bool "Non-volatile Storage logging"
	select SYS_LOG
	help
	  Enable logs and checks for Non-volatile Storage.

if NVS_LOG
	config NVS_LOG_LEVEL
		int "Non-volatile Storage Logging level"
		depends on SYS_LOG
		default 1
		range 0 4
		help
		  Sets log level for Non-volatile Storage.
		  Levels are:
		  0 OFF, do not write
		  1 ERROR, only write SYS_LOG_ERR
		  2 WARNING, write SYS_LOG_WRN in addition to previous level
		  3 INFO, write SYS_LOG_INF in addition to previous levels
		  4 DEBUG, write SYS_LOG_DBG in addition to previous levels

endif # NVS_LOG
endif # NVS
