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:
parent
23f03c8030
commit
a2ab04b679
1 changed files with 26 additions and 0 deletions
|
@ -14,6 +14,32 @@ include:
|
||||||
- st,countermode
|
- st,countermode
|
||||||
|
|
||||||
properties:
|
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:
|
st,static-prescaler:
|
||||||
type: boolean
|
type: boolean
|
||||||
description: |
|
description: |
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue