# STM32 LPTIM configuration options

# Copyright (c) 2019 STMicroelectronics
# SPDX-License-Identifier: Apache-2.0

menuconfig STM32_LPTIM_TIMER
	bool "STM32 Low Power Timer [EXPERIMENTAL]"
	depends on "$(dt_nodelabel_enabled,lptim1)"
	depends on CLOCK_CONTROL && PM
	select TICKLESS_CAPABLE
	select EXPERIMENTAL
	help
	  This module implements a kernel device driver for the LowPower Timer
	  and provides the standard "system clock driver" interfaces.

if STM32_LPTIM_TIMER

choice STM32_LPTIM_CLOCK
	prompt "LPTIM clock value configuration"

config STM32_LPTIM_CLOCK_LSI
	bool "LSI"
	help
	  Use LSI as LPTIM clock

config STM32_LPTIM_CLOCK_LSE
	bool "LSE"
	help
	  Use LSE as LPTIM clock

endchoice

config STM32_LPTIM_CLOCK
	int "LPTIM clock value"
	default 32768 if STM32_LPTIM_CLOCK_LSE
	default 32000 if STM32_LPTIM_CLOCK_LSI

config STM32_LPTIM_TIMEBASE
	hex "LPTIM AutoReload value"
	default 0xFFFF if STM32_LPTIM_CLOCK_LSE
	default 0xF9FF if STM32_LPTIM_CLOCK_LSI

endif # STM32_LPTIM_TIMER
