# 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
