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

config BBRAM_STM32
	bool "ST STM32 Battery-backed RAM drivers"
	default y
	depends on DT_HAS_ST_STM32_BBRAM_ENABLED
	depends on COUNTER
	help
	  This option enables the BBRAM driver for STM32 family of
	  processors.

	  STM32 BBRAM are 32-bit registers which can be used for storing user
	  application data. They are implemented in the backup domain that remains
	  powered-on by VBAT when the VDD power is switched off. They are not reset
	  by system reset or when the device wakes up from Standby mode. They are
	  reset by a backup domain reset.
