# Copyright (c) 2025 Basalte bv
# SPDX-License-Identifier: Apache-2.0

menuconfig NVMEM
	bool "Non Volatile Memory (NVMEM)"

if NVMEM

config NVMEM_BBRAM
	bool "NVMEM support for Battery Backed RAM"
	default y
	depends on BBRAM

config NVMEM_EEPROM
	bool "NVMEM support for EEPROM devices"
	default y
	depends on EEPROM

config NVMEM_FLASH
	bool "NVMEM (read) support for flash devices"
	default y
	depends on FLASH

config NVMEM_FLASH_WRITE
	bool "NVMEM write support for flash devices"
	depends on NVMEM_FLASH
	help
	  Allow writing to NVMEM cells in flash devices.

	  An explicit option is added for this as it's non-trivial
	  to write to flash devices requiring out-of-bands erase or
	  taking write-block sizes into account.

config NVMEM_OTP
	bool "NVMEM (read) support for OTP memory handling devices"
	default y
	depends on OTP

config NVMEM_OTP_WRITE
	bool "NVMEM (write) support for OTP memory handling devices"
	depends on NVMEM_OTP && OTP_PROGRAM

module = NVMEM
module-str = nvmem
source "subsys/logging/Kconfig.template.log_config"

endif # NVMEM
