| # Copyright (c) 2014-2015 Wind River Systems, Inc. |
| # Copyright (c) 2016 Cadence Design Systems, Inc. |
| # Copyright (c) 2019 Intel Corp. |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| config NRF_RTC_TIMER |
| bool "nRF Real Time Counter (NRF_RTC1) Timer" |
| depends on CLOCK_CONTROL |
| depends on SOC_COMPATIBLE_NRF |
| select TICKLESS_CAPABLE |
| select NRF_HW_RTC1_RESERVED |
| help |
| This module implements a kernel device driver for the nRF Real Time |
| Counter NRF_RTC1 and provides the standard "system clock driver" |
| interfaces. |
| |
| if NRF_RTC_TIMER |
| |
| config NRF_RTC_TIMER_USER_CHAN_COUNT |
| int "Additional channels that can be used" |
| default 2 if NRF_802154_RADIO_DRIVER |
| default 0 |
| help |
| Use nrf_rtc_timer.h API. Driver is not managing allocation of channels. |
| |
| config NRF_RTC_TIMER_LOCK_ZERO_LATENCY_IRQS |
| # hidden option |
| bool |
| depends on ZERO_LATENCY_IRQS |
| default y if !BT_LL_SW_SPLIT |
| help |
| Enable use of __disable_irq() to disable Zero Latency IRQs to prevent |
| higher priority contexts (including ZLIs) that might preempt the |
| handler and call nrf_rtc_timer API from destroying the internal state |
| in nrf_rtc_timer. |
| |
| choice |
| prompt "Clock startup policy" |
| default SYSTEM_CLOCK_WAIT_FOR_STABILITY |
| |
| config SYSTEM_CLOCK_NO_WAIT |
| bool "No wait" |
| help |
| System clock source is initiated but does not wait for clock readiness. |
| When this option is picked, system clock may not be ready when code relying |
| on kernel API is executed. Requested timeouts will be prolonged by the |
| remaining startup time. |
| |
| config SYSTEM_CLOCK_WAIT_FOR_AVAILABILITY |
| bool "Wait for availability" |
| help |
| System clock source initialization waits until clock is available. In some |
| systems, clock initially runs from less accurate source which has faster |
| startup time and then seamlessly switches to the target clock source when |
| it is ready. When this option is picked, system clock is available after |
| system clock driver initialization but it may be less accurate. Option is |
| equivalent to waiting for stability if clock source does not have |
| intermediate state. |
| |
| config SYSTEM_CLOCK_WAIT_FOR_STABILITY |
| bool "Wait for stability" |
| help |
| System clock source initialization waits until clock is stable. When this |
| option is picked, system clock is available and stable after system clock |
| driver initialization. |
| |
| endchoice |
| |
| endif # NRF_RTC_TIMER |