You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
81 lines
2.2 KiB
81 lines
2.2 KiB
# 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
|
|
|