# Copyright (c) 2021 Google Inc
# SPDX-License-Identifier: Apache-2.0

menuconfig BBRAM
	bool "Battery-backed RAM drivers"
	help
	  Enable BBRAM (battery-backed RAM) driver configuration.

if BBRAM

module = BBRAM
module-str = bbram
source "subsys/logging/Kconfig.template.log_config"

config BBRAM_SHELL
	bool "Battery-backed RAM shell"
	depends on SHELL
	help
	  Enable the BBRAM shell with read and write commands.

config BBRAM_INIT_PRIORITY
	int "Init priority"
	# In STM32, BBRAM is a part of RTC. In this case init priority must be
	# lower than COUNTER_INIT_PRIORITY.
	default 65 if BBRAM_STM32
	default 10
	help
	  BBRAM driver initialization priority

source "drivers/bbram/Kconfig.npcx"

source "drivers/bbram/Kconfig.it8xxx2"

source "drivers/bbram/Kconfig.bbram_emul"

source "drivers/bbram/Kconfig.xec"

source "drivers/bbram/Kconfig.stm32"

endif # BBRAM
