# STM32 Cube LL RTC

# Copyright (c) 2018, Linaro Limited
# SPDX-License-Identifier: Apache-2.0

menuconfig COUNTER_RTC_STM32
	bool "STM32 Counter RTC driver"
	default y if !RTC
	depends on DT_HAS_ST_STM32_RTC_ENABLED
	select USE_STM32_LL_RTC
	select USE_STM32_LL_PWR
	select USE_STM32_LL_RCC
	select USE_STM32_LL_EXTI
	help
	  Build RTC driver for STM32 SoCs.
	  Tested on STM32 C0, F0, F2, F3, F4, F7, G0, G4, H7, L1, L4, L5, U5 series

if COUNTER_RTC_STM32

config COUNTER_RTC_STM32_SAVE_VALUE_BETWEEN_RESETS
	bool "Save rtc time value between resets"
	default n
	help
	  Keep the counter value after each reset.

config COUNTER_RTC_STM32_SUBSECONDS
	bool "Use the subseconds as a basic tick."
	depends on !SOC_SERIES_STM32F1X
	help
	  Use the subseconds as the basic time tick. It increases resolution
	  of the counter. The frequency of the time is RTC Source Clock divided
	  by 2. It is the clock after the first asynchronous prescaler.
	  The config increases power consumption.

endif # COUNTER_RTC_STM32
