dts: bindings: lptim stm32 has a prescaler entry for the lptim clock

This is a new parameter to divide the LPTIM input clock
by a prescaler, changing the max reachable timeout of the LP timer.
It will divide the LPTIM input clock by 1 (reset value) up to 128.
The lptim configuration register is written with a 3bit value.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
This commit is contained in:
Francois Ramu 2022-03-28 11:41:01 +02:00 committed by Marti Bolivar
commit a2ab04b679

View file

@ -14,6 +14,32 @@ include:
- 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
st,static-prescaler:
type: boolean
description: |