48 lines
1.5 KiB
YAML
48 lines
1.5 KiB
YAML
# Copyright (c) 2020, STMicroelectronics
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
description: |
|
|
STM32 lptim : low power timer
|
|
The lptim node to be used for counting ticks during lowpower modes
|
|
must be named stm32_lp_tick_source in the DTS, as follows:
|
|
stm32_lp_tick_source: &lptim1 {
|
|
status = "okay";
|
|
}
|
|
|
|
compatible: "st,stm32-lptim"
|
|
|
|
include:
|
|
- name: st,stm32-timers.yaml
|
|
property-blocklist:
|
|
# 'resets' property is not supported yet
|
|
- resets
|
|
- st,prescaler
|
|
- st,countermode
|
|
|
|
properties:
|
|
st,prescaler:
|
|
type: int
|
|
default: 1
|
|
description: |
|
|
Clock divider at the input of the lptimer clock, default reset value is 'not divided'.
|
|
|
|
Prescaler allows to achieve higher LPTIM timeout (up to 256s when lptim clocked by LSE)
|
|
and consequently higher core sleep durations, but impacts the tick precision.
|
|
To be used with caution.
|
|
CONFIG_SYS_CLOCK_TICKS_PER_SEC could be used to tune tick duration and gain precision,
|
|
at kernel timing granularity cost.
|
|
|
|
For example, when LPTIM is clocked by the LSE (32768Hz) and st,prescaler = <32>:
|
|
LPTIM global timeout is 64 seconds with an increment of 0.97 ms.
|
|
Using CONFIG_SYS_CLOCK_TICKS_PER_SEC = 4096, tick = 0.24 ms, LPTIM precision is 4 ticks.
|
|
Using CONFIG_SYS_CLOCK_TICKS_PER_SEC = 1024, tick = 0.97 ms, LPTIM precision is 1 ticks.
|
|
enum:
|
|
- 1
|
|
- 2
|
|
- 4
|
|
- 8
|
|
- 16
|
|
- 32
|
|
- 64
|
|
- 128
|