82 lines
2.2 KiB
Plaintext
82 lines
2.2 KiB
Plaintext
# 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
|