1# Timer driver configuration options
2
3# Copyright (c) 2014-2015 Wind River Systems, Inc.
4# Copyright (c) 2016 Cadence Design Systems, Inc.
5# Copyright (c) 2019 Intel Corp.
6# SPDX-License-Identifier: Apache-2.0
7
8if SYS_CLOCK_EXISTS
9
10menu "Timer drivers"
11
12config TIMER_HAS_64BIT_CYCLE_COUNTER
13	bool
14	help
15	  When this option is true, the k_cycle_get_64() call is
16	  available to provide values from a 64-bit cycle counter.
17
18config TIMER_READS_ITS_FREQUENCY_AT_RUNTIME
19	bool "Timer queries its hardware to find its frequency at runtime"
20	help
21	  The drivers select this option automatically when needed. Do not modify
22	  this unless you have a very good reason for it.
23
24config SYSTEM_CLOCK_SLOPPY_IDLE
25	bool "Timer allowed to skew uptime clock during idle"
26	help
27	  When true, the timer driver is not required to maintain a
28	  correct system uptime count when the system enters idle.
29	  Some platforms may take advantage of this to reduce the
30	  overhead from regular interrupts required to handle counter
31	  wraparound conditions.
32
33config SYSTEM_CLOCK_INIT_PRIORITY
34	int "System clock driver initialization priority"
35	default 0
36	help
37	  This options can be used to set a specific initialization priority
38	  value for the system clock driver. As driver initialization  might need
39	  the clock to be running already, you should let the default value as it
40	  is (0).
41
42# Hidden option to be selected by individual SoC.
43config TICKLESS_CAPABLE
44	bool
45	help
46	  Timer drivers should select this flag if they are capable of
47	  supporting tickless operation.  That is, a call to
48	  sys_clock_set_timeout() with a number of ticks greater than
49	  one should be expected not to produce a call to
50	  sys_clock_announce() (really, not to produce an interrupt at
51	  all) until the specified expiration.
52
53config SYSTEM_TIMER_HAS_DISABLE_SUPPORT
54	bool
55	help
56	  This option should be selected by drivers implementing support for
57	  sys_clock_disable() API.
58
59config SYSTEM_CLOCK_LOCK_FREE_COUNT
60	bool
61	help
62	  This option should be selected by drivers implementing a lock free
63	  cycle count accessor. This is needed for instrumenting spin lock
64	  hold times.
65
66source "drivers/timer/Kconfig.altera_avalon"
67source "drivers/timer/Kconfig.ambiq"
68source "drivers/timer/Kconfig.x86"
69source "drivers/timer/Kconfig.arcv2"
70source "drivers/timer/Kconfig.arm_arch"
71source "drivers/timer/Kconfig.cavs"
72source "drivers/timer/Kconfig.cc13xx_cc26xx_rtc"
73source "drivers/timer/Kconfig.cortex_m_systick"
74source "drivers/timer/Kconfig.esp32"
75source "drivers/timer/Kconfig.gecko"
76source "drivers/timer/Kconfig.ite_it8xxx2"
77source "drivers/timer/Kconfig.leon_gptimer"
78source "drivers/timer/Kconfig.litex"
79source "drivers/timer/Kconfig.mchp_xec_rtos"
80source "drivers/timer/Kconfig.mcux_gpt"
81source "drivers/timer/Kconfig.mcux_lptmr"
82source "drivers/timer/Kconfig.mcux_os"
83source "drivers/timer/Kconfig.mips_cp0"
84source "drivers/timer/Kconfig.native_posix"
85source "drivers/timer/Kconfig.npcx_itim"
86source "drivers/timer/Kconfig.nrf_rtc"
87source "drivers/timer/Kconfig.nrf_grtc"
88source "drivers/timer/Kconfig.nrf_xrtc"
89source "drivers/timer/Kconfig.rcar_cmt"
90source "drivers/timer/Kconfig.riscv_machine"
91source "drivers/timer/Kconfig.rv32m1_lptmr"
92source "drivers/timer/Kconfig.sam0_rtc"
93source "drivers/timer/Kconfig.smartbond"
94source "drivers/timer/Kconfig.stm32_lptim"
95source "drivers/timer/Kconfig.ti_dm_timer"
96source "drivers/timer/Kconfig.xlnx_psttc"
97source "drivers/timer/Kconfig.xtensa"
98source "drivers/timer/Kconfig.mtk_adsp"
99
100endmenu
101
102endif # SYS_CLOCK_EXISTS
103