1 menu "Clock Source drivers"
2 depends on !ARCH_USES_GETTIMEOFFSET
25 def_bool y if CLKSRC_I8253 || CLKEVT_I8253 || I8253_LOCK
30 config DIGICOLOR_TIMER
31 bool "Digicolor timer driver" if COMPILE_TEST
32 depends on GENERIC_CLOCKEVENTS
34 Enables the support for the digicolor timer driver.
37 bool "DW APB timer driver" if COMPILE_TEST
38 depends on GENERIC_CLOCKEVENTS
40 Enables the support for the dw_apb timer.
42 config DW_APB_TIMER_OF
48 bool "Rockchip timer driver" if COMPILE_TEST
49 depends on ARM || ARM64
52 Enables the support for the rockchip timer driver.
54 config ARMADA_370_XP_TIMER
55 bool "Armada 370 and XP timer driver" if COMPILE_TEST
59 Enables the support for the Armada 370 and XP timer driver.
62 bool "Meson6 timer driver" if COMPILE_TEST
63 depends on GENERIC_CLOCKEVENTS
66 Enables the support for the Meson6 timer driver.
69 bool "Orion timer driver" if COMPILE_TEST
74 Enables the support for the Orion timer driver
77 bool "Sun4i timer driver" if COMPILE_TEST
78 depends on GENERIC_CLOCKEVENTS
81 Enables support for the Sun4i timer.
84 bool "Sun5i timer driver" if COMPILE_TEST
88 Enables support the Sun5i timer.
91 bool "Tegra timer driver" if COMPILE_TEST
94 Enables support for the Tegra driver.
97 bool "VT8500 timer driver" if COMPILE_TEST
98 depends on GENERIC_CLOCKEVENTS
100 Enables support for the VT8500 driver.
102 config CADENCE_TTC_TIMER
103 bool "Cadence TTC timer driver" if COMPILE_TEST
104 depends on COMMON_CLK
106 Enables support for the cadence ttc driver.
109 bool "ASM9260 timer driver" if COMPILE_TEST
110 depends on GENERIC_CLOCKEVENTS
114 Enables support for the ASM9260 timer.
116 config CLKSRC_NOMADIK_MTU
117 bool "Nomakdik clocksource driver" if COMPILE_TEST
121 Support for Multi Timer Unit. MTU provides access
122 to multiple interrupt generating programmable
123 32-bit free running decrementing counters.
125 config CLKSRC_NOMADIK_MTU_SCHED_CLOCK
127 depends on CLKSRC_NOMADIK_MTU
129 Use the Multi Timer Unit as the sched_clock.
131 config CLKSRC_DBX500_PRCMU
132 bool "Clocksource PRCMU Timer" if COMPILE_TEST
133 depends on GENERIC_CLOCKEVENTS
135 Use the always on PRCMU Timer as clocksource
137 config CLKSRC_DBX500_PRCMU_SCHED_CLOCK
138 bool "Clocksource PRCMU Timer sched_clock"
139 depends on (CLKSRC_DBX500_PRCMU && !CLKSRC_NOMADIK_MTU_SCHED_CLOCK)
142 Use the always on PRCMU Timer as sched_clock
145 bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32
146 depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST)
150 Support to use the timers of EFM32 SoCs as clock source and clock
153 config CLKSRC_LPC32XX
154 bool "Clocksource for LPC32XX" if COMPILE_TEST
155 depends on GENERIC_CLOCKEVENTS
159 Support for the LPC32XX clocksource.
161 config CLKSRC_PISTACHIO
162 bool "Clocksource for Pistachio SoC" if COMPILE_TEST
165 Enables the clocksource for the Pistachio SoC.
168 bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST
169 depends on GENERIC_SCHED_CLOCK
170 select CLKSRC_OF if OF
172 This option enables support for Texas Instruments 32.768 Hz clocksource
173 available on many OMAP-like platforms.
176 bool "Clocksource for STM32 SoCs" if !ARCH_STM32
177 depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST)
180 config ARM_ARCH_TIMER
182 select CLKSRC_OF if OF
183 select CLKSRC_ACPI if ACPI
185 config ARM_ARCH_TIMER_EVTSTREAM
186 bool "Support for ARM architected timer event stream generation"
187 default y if ARM_ARCH_TIMER
188 depends on ARM_ARCH_TIMER
190 This option enables support for event stream generation based on
191 the ARM architected timer. It is used for waking up CPUs executing
192 the wfe instruction at a frequency represented as a power-of-2
193 divisor of the clock rate.
194 The main use of the event stream is wfe-based timeouts of userspace
195 locking implementations. It might also be useful for imposing timeout
196 on wfe to safeguard against any programming errors in case an expected
197 event is not generated.
198 This must be disabled for hardware validation purposes to detect any
199 hardware anomalies of missing events.
201 config ARM_GLOBAL_TIMER
203 select CLKSRC_OF if OF
205 This options enables support for the ARM global timer unit
207 config ARM_TIMER_SP804
208 bool "Support for Dual Timer SP804 module"
209 depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP
211 select CLKSRC_OF if OF
213 config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
215 depends on ARM_GLOBAL_TIMER
218 Use ARM global timer clock source as sched_clock
220 config ARMV7M_SYSTICK
222 select CLKSRC_OF if OF
225 This options enables support for the ARMv7M system timer unit
228 select CLKSRC_OF if OF
229 def_bool SOC_AT91SAM9 || SOC_SAMA5
236 config CLKSRC_METAG_GENERIC
239 This option enables support for the Meta per-thread timers.
241 config CLKSRC_EXYNOS_MCT
242 bool "Exynos multi core timer driver" if COMPILE_TEST
245 Support for Multi Core Timer controller on Exynos SoCs.
247 config CLKSRC_SAMSUNG_PWM
248 bool "PWM timer drvier for Samsung S3C, S5P" if COMPILE_TEST
249 depends on GENERIC_CLOCKEVENTS
251 This is a new clocksource driver for the PWM timer found in
252 Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
253 for all devicetree enabled platforms. This driver will be
254 needed only on systems that do not have the Exynos MCT available.
257 bool "Freescale FlexTimer Module driver" if COMPILE_TEST
258 depends on GENERIC_CLOCKEVENTS
260 Support for Freescale FlexTimer Module (FTM) timer.
265 Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
267 config SYS_SUPPORTS_SH_CMT
271 bool "Mediatek timer driver" if COMPILE_TEST
272 depends on GENERIC_CLOCKEVENTS
276 Support for Mediatek timer driver.
278 config SYS_SUPPORTS_SH_MTU2
281 config SYS_SUPPORTS_SH_TMU
284 config SYS_SUPPORTS_EM_STI
288 bool "Renesas CMT timer driver" if COMPILE_TEST
289 depends on GENERIC_CLOCKEVENTS
291 default SYS_SUPPORTS_SH_CMT
293 This enables build of a clocksource and clockevent driver for
294 the Compare Match Timer (CMT) hardware available in 16/32/48-bit
295 variants on a wide range of Mobile and Automotive SoCs from Renesas.
298 bool "Renesas MTU2 timer driver" if COMPILE_TEST
299 depends on GENERIC_CLOCKEVENTS
301 default SYS_SUPPORTS_SH_MTU2
303 This enables build of a clockevent driver for the Multi-Function
304 Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
305 This hardware comes with 16 bit-timer registers.
308 bool "Renesas TMU timer driver" if COMPILE_TEST
309 depends on GENERIC_CLOCKEVENTS
311 default SYS_SUPPORTS_SH_TMU
313 This enables build of a clocksource and clockevent driver for
314 the 32-bit Timer Unit (TMU) hardware available on a wide range
318 bool "Renesas STI timer driver" if COMPILE_TEST
319 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
320 default SYS_SUPPORTS_EM_STI
322 This enables build of a clocksource and clockevent driver for
323 the 48-bit System Timer (STI) hardware available on a SoCs
324 such as EMEV2 from former NEC Electronics.
327 bool "Qualcomm MSM timer" if COMPILE_TEST
331 This enables the clocksource and the per CPU clockevent driver for the
334 config CLKSRC_VERSATILE
335 bool "ARM Versatile (Express) reference platforms clock source"
336 depends on PLAT_VERSATILE && GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET
338 default y if MFD_VEXPRESS_SYSREG
340 This option enables clock source based on free running
341 counter available in the "System Registers" block of
342 ARM Versatile, RealView and Versatile Express reference
345 config CLKSRC_MIPS_GIC
350 config CLKSRC_TANGO_XTAL
351 bool "Clocksource for Tango SoC" if COMPILE_TEST
356 This enables the clocksource for Tango SoC
359 bool "Clocksource for PXA or SA-11x0 platform" if COMPILE_TEST
360 depends on GENERIC_CLOCKEVENTS
363 This enables OST0 support available on PXA and SA-11x0
367 bool "Clockevent timer for the H8300 platform" if COMPILE_TEST
368 depends on GENERIC_CLOCKEVENTS
370 This enables the 8 bits timer for the H8300 platform.
373 bool "Clockevent timer for the H83069 platform" if COMPILE_TEST
374 depends on GENERIC_CLOCKEVENTS
376 This enables the 16 bits timer for the H8300 platform with the
380 bool "Clocksource for the H8300 platform" if COMPILE_TEST
381 depends on GENERIC_CLOCKEVENTS
383 This enables the clocksource for the H8300 platform with the
386 config CLKSRC_IMX_GPT
387 bool "Clocksource using i.MX GPT" if COMPILE_TEST
388 depends on ARM && CLKDEV_LOOKUP
392 bool "Low power clocksource found in the LPC" if COMPILE_TEST
393 select CLKSRC_OF if OF
395 Enable this option to use the Low Power controller timer