| # STM32 LPTIM configuration options |
| |
| # Copyright (c) 2019 STMicroelectronics |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| DT_CHOSEN_STDBY_TIMER := st,lptim-stdby-timer |
| |
| menuconfig STM32_LPTIM_TIMER |
| bool "STM32 Low Power Timer [EXPERIMENTAL]" |
| default y |
| depends on DT_HAS_ST_STM32_LPTIM_ENABLED |
| 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" |
| help |
| This option is deprecated and configuration of LPTIM domain clock |
| using devicetree should be preferred. |
| |
| 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 |
| 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 |
| |
| config STM32_LPTIM_TICK_FREQ_RATIO_OVERRIDE |
| bool "Override tick to freq ratio check" |
| default y if ZTEST |
| help |
| For LPTIM configuration, a specific tick freq is advised |
| depending on LPTIM input clock: |
| - LSI(32KHz): 4000 ticks/sec |
| - LSE(32678): 4096 ticks/sec |
| To prevent misconfigurations, a dedicated check is implemented |
| in the driver. |
| This options allows to override this check |
| |
| config STM32_LPTIM_STDBY_TIMER |
| bool |
| default $(dt_chosen_enabled,$(DT_CHOSEN_STDBY_TIMER)) |
| depends on COUNTER |
| depends on TICKLESS_KERNEL |
| select EXPERIMENTAL |
| help |
| Use an additional timer while entering Standby mode. |
| There are chips e.g. STM32WBAX family that use LPTIM as a system timer, |
| but LPTIM is not clocked in standby mode. These chips usually have |
| another timer that is not stopped, but it has lower frequency e.g. |
| RTC, thus it can't be used as a main system timer. |
| Same approach is used on STM32U5 and STOP3 mode. |
| |
| Use the Standby timer for timeout (wakeup) when the system is entering |
| Standby state. |
| |
| The chosen Standby timer node has to support setting alarm from the |
| counter API. |
| |
| endif # STM32_LPTIM_TIMER |