mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-08-16 04:56:24 +00:00
The new GRTC reading manner of the SYSCOUNTER uses hardware mechanism which allows to keep it alive when any of CPUs is not sleeping. Otherwise the SYSCOUNTER goes into sleep mode. Thus there is no longer need to maintain the `CONFIG_NRF_GRTC_SLEEP_ALLOWED` symbol, however if the user wants to have the SYSCOUNTER enabled all the time the `CONFIG_NRF_GRTC_ALWAYS_ON` can be used instead. The nrfx_grtc driver no longer provides the `wakeup-read-sleep` reading manner. Also setting the GRTC clock source is performed by the nrfx_grtc driver so it has been removed from the `sys_clock_driver_init()` function. Signed-off-by: Adam Kondraciuk <adam.kondraciuk@nordicsemi.no>
60 lines
1.8 KiB
Plaintext
60 lines
1.8 KiB
Plaintext
# Timer driver configuration options
|
|
# Copyright (c) 2024 Nordic Semiconductor ASA
|
|
|
|
menuconfig NRF_GRTC_TIMER
|
|
bool "nRF GRTC Timer"
|
|
default y
|
|
depends on DT_HAS_NORDIC_NRF_GRTC_ENABLED
|
|
select TICKLESS_CAPABLE
|
|
select TIMER_HAS_64BIT_CYCLE_COUNTER
|
|
select NRFX_GRTC
|
|
help
|
|
This module implements a kernel device driver for the nRF Global Real
|
|
Time Counter NRF_GRTC and provides the standard "system clock driver"
|
|
interfaces.
|
|
|
|
if NRF_GRTC_TIMER
|
|
|
|
config NRF_GRTC_ALWAYS_ON
|
|
bool
|
|
help
|
|
Always keep the SYSCOUNTER active even if the CPU is in sleep mode.
|
|
|
|
config NRF_GRTC_TIMER_APP_DEFINED_INIT
|
|
bool "Application defines GRTC initialization"
|
|
help
|
|
Application defines the initialization procedure and time of the GRTC
|
|
drivers, rather than leaving it up to SYS_INIT.
|
|
|
|
config NRF_GRTC_START_SYSCOUNTER
|
|
bool "Start SYSCOUNTER on driver init"
|
|
select NRF_GRTC_TIMER_CLOCK_MANAGEMENT
|
|
help
|
|
Start the SYSCOUNTER when initializing the GRTC. This should only be
|
|
handled by one processor in the system.
|
|
|
|
config NRF_GRTC_TIMER_CLOCK_MANAGEMENT
|
|
bool
|
|
help
|
|
Compile additional driver code for enabling management functionality of
|
|
the GRTC. Usually this is only needed by the processor that is starting
|
|
the SYSCOUNTER, but can be shared by multiple processors in the system.
|
|
|
|
config NRF_GRTC_SYSCOUNTER_SLEEP_MINIMUM_LATENCY
|
|
int
|
|
default 1000
|
|
depends on POWEROFF
|
|
help
|
|
The value (in us) ensures that the wakeup event will not fire
|
|
too early. In other words, applying SYSCOUNTER sleep state for less than
|
|
NRF_GRTC_SYSCOUNTER_SLEEP_MINIMUM_LATENCY period makes no sense.
|
|
|
|
config NRF_GRTC_TIMER_AUTO_KEEP_ALIVE
|
|
bool
|
|
default y if NRF_GRTC_START_SYSCOUNTER
|
|
help
|
|
This feature prevents the SYSCOUNTER from sleeping when any core is in
|
|
active state.
|
|
|
|
endif # NRF_GRTC_TIMER
|