1 menu "Clock Source drivers"
2 depends on !ARCH_USES_GETTIMEOFFSET
25 def_bool y if CLKSRC_I8253 || CLKEVT_I8253 || I8253_LOCK
31 bool "BCM2835 timer driver" if COMPILE_TEST
32 depends on GENERIC_CLOCKEVENTS
35 Enables the support for the BCM2835 timer driver.
37 config DIGICOLOR_TIMER
38 bool "Digicolor timer driver" if COMPILE_TEST
39 depends on GENERIC_CLOCKEVENTS
43 Enables the support for the digicolor timer driver.
46 bool "DW APB timer driver" if COMPILE_TEST
47 depends on GENERIC_CLOCKEVENTS
49 Enables the support for the dw_apb timer.
51 config DW_APB_TIMER_OF
57 bool "Rockchip timer driver" if COMPILE_TEST
58 depends on ARM || ARM64
61 Enables the support for the rockchip timer driver.
63 config ARMADA_370_XP_TIMER
64 bool "Armada 370 and XP timer driver" if COMPILE_TEST
69 Enables the support for the Armada 370 and XP timer driver.
72 bool "Meson6 timer driver" if COMPILE_TEST
73 depends on GENERIC_CLOCKEVENTS
76 Enables the support for the Meson6 timer driver.
79 bool "Orion timer driver" if COMPILE_TEST
84 Enables the support for the Orion timer driver
87 bool "Sun4i timer driver" if COMPILE_TEST
88 depends on GENERIC_CLOCKEVENTS
92 Enables support for the Sun4i timer.
95 bool "Sun5i timer driver" if COMPILE_TEST
99 Enables support the Sun5i timer.
102 bool "Tegra timer driver" if COMPILE_TEST
106 Enables support for the Tegra driver.
109 bool "VT8500 timer driver" if COMPILE_TEST
110 depends on GENERIC_CLOCKEVENTS
113 Enables support for the VT8500 driver.
115 config CADENCE_TTC_TIMER
116 bool "Cadence TTC timer driver" if COMPILE_TEST
117 depends on COMMON_CLK
119 Enables support for the cadence ttc driver.
122 bool "ASM9260 timer driver" if COMPILE_TEST
123 depends on GENERIC_CLOCKEVENTS
127 Enables support for the ASM9260 timer.
129 config CLKSRC_NOMADIK_MTU
130 bool "Nomakdik clocksource driver" if COMPILE_TEST
134 Support for Multi Timer Unit. MTU provides access
135 to multiple interrupt generating programmable
136 32-bit free running decrementing counters.
138 config CLKSRC_NOMADIK_MTU_SCHED_CLOCK
140 depends on CLKSRC_NOMADIK_MTU
142 Use the Multi Timer Unit as the sched_clock.
144 config CLKSRC_DBX500_PRCMU
145 bool "Clocksource PRCMU Timer" if COMPILE_TEST
146 depends on GENERIC_CLOCKEVENTS
149 Use the always on PRCMU Timer as clocksource
151 config CLKSRC_DBX500_PRCMU_SCHED_CLOCK
152 bool "Clocksource PRCMU Timer sched_clock"
153 depends on (CLKSRC_DBX500_PRCMU && !CLKSRC_NOMADIK_MTU_SCHED_CLOCK)
156 Use the always on PRCMU Timer as sched_clock
159 bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32
160 depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST)
164 Support to use the timers of EFM32 SoCs as clock source and clock
167 config CLKSRC_LPC32XX
168 bool "Clocksource for LPC32XX" if COMPILE_TEST
169 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
174 Support for the LPC32XX clocksource.
176 config CLKSRC_PISTACHIO
177 bool "Clocksource for Pistachio SoC" if COMPILE_TEST
181 Enables the clocksource for the Pistachio SoC.
184 bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST
185 depends on GENERIC_SCHED_CLOCK
186 select CLKSRC_OF if OF
188 This option enables support for Texas Instruments 32.768 Hz clocksource
189 available on many OMAP-like platforms.
192 bool "NPS400 clocksource driver" if COMPILE_TEST
193 depends on !PHYS_ADDR_T_64BIT
195 select CLKSRC_OF if OF
197 NPS400 clocksource support.
198 Got 64 bit counter with update rate up to 1000MHz.
199 This counter is accessed via couple of 32 bit memory mapped registers.
202 bool "Clocksource for STM32 SoCs" if !ARCH_STM32
203 depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST)
207 bool "Clocksource for MPS2 SoCs" if COMPILE_TEST
208 depends on GENERIC_SCHED_CLOCK
212 config ARM_ARCH_TIMER
214 select CLKSRC_OF if OF
215 select CLKSRC_ACPI if ACPI
217 config ARM_ARCH_TIMER_EVTSTREAM
218 bool "Support for ARM architected timer event stream generation"
219 default y if ARM_ARCH_TIMER
220 depends on ARM_ARCH_TIMER
222 This option enables support for event stream generation based on
223 the ARM architected timer. It is used for waking up CPUs executing
224 the wfe instruction at a frequency represented as a power-of-2
225 divisor of the clock rate.
226 The main use of the event stream is wfe-based timeouts of userspace
227 locking implementations. It might also be useful for imposing timeout
228 on wfe to safeguard against any programming errors in case an expected
229 event is not generated.
230 This must be disabled for hardware validation purposes to detect any
231 hardware anomalies of missing events.
233 config ARM_GLOBAL_TIMER
235 select CLKSRC_OF if OF
237 This options enables support for the ARM global timer unit
239 config ARM_TIMER_SP804
240 bool "Support for Dual Timer SP804 module"
241 depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP
243 select CLKSRC_OF if OF
245 config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
247 depends on ARM_GLOBAL_TIMER
250 Use ARM global timer clock source as sched_clock
252 config ARMV7M_SYSTICK
253 bool "Support for the ARMv7M system time" if COMPILE_TEST
254 select CLKSRC_OF if OF
257 This options enables support for the ARMv7M system timer unit
260 select CLKSRC_OF if OF
261 def_bool SOC_AT91SAM9 || SOC_SAMA5
268 config CLKSRC_METAG_GENERIC
271 This option enables support for the Meta per-thread timers.
273 config CLKSRC_EXYNOS_MCT
274 bool "Exynos multi core timer driver" if COMPILE_TEST
277 Support for Multi Core Timer controller on Exynos SoCs.
279 config CLKSRC_SAMSUNG_PWM
280 bool "PWM timer driver for Samsung S3C, S5P" if COMPILE_TEST
281 depends on GENERIC_CLOCKEVENTS
284 This is a new clocksource driver for the PWM timer found in
285 Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
286 for all devicetree enabled platforms. This driver will be
287 needed only on systems that do not have the Exynos MCT available.
290 bool "Freescale FlexTimer Module driver" if COMPILE_TEST
291 depends on GENERIC_CLOCKEVENTS
295 Support for Freescale FlexTimer Module (FTM) timer.
301 Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
303 config OXNAS_RPS_TIMER
304 bool "Oxford Semiconductor OXNAS RPS Timers driver" if COMPILE_TEST
305 depends on GENERIC_CLOCKEVENTS
309 This enables support for the Oxford Semiconductor OXNAS RPS timers.
311 config SYS_SUPPORTS_SH_CMT
315 bool "Mediatek timer driver" if COMPILE_TEST
316 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
320 Support for Mediatek timer driver.
322 config SYS_SUPPORTS_SH_MTU2
325 config SYS_SUPPORTS_SH_TMU
328 config SYS_SUPPORTS_EM_STI
332 bool "Renesas CMT timer driver" if COMPILE_TEST
333 depends on GENERIC_CLOCKEVENTS
335 default SYS_SUPPORTS_SH_CMT
337 This enables build of a clocksource and clockevent driver for
338 the Compare Match Timer (CMT) hardware available in 16/32/48-bit
339 variants on a wide range of Mobile and Automotive SoCs from Renesas.
342 bool "Renesas MTU2 timer driver" if COMPILE_TEST
343 depends on GENERIC_CLOCKEVENTS
345 default SYS_SUPPORTS_SH_MTU2
347 This enables build of a clockevent driver for the Multi-Function
348 Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
349 This hardware comes with 16 bit-timer registers.
352 bool "Renesas TMU timer driver" if COMPILE_TEST
353 depends on GENERIC_CLOCKEVENTS
355 default SYS_SUPPORTS_SH_TMU
357 This enables build of a clocksource and clockevent driver for
358 the 32-bit Timer Unit (TMU) hardware available on a wide range
362 bool "Renesas STI timer driver" if COMPILE_TEST
363 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
364 default SYS_SUPPORTS_EM_STI
366 This enables build of a clocksource and clockevent driver for
367 the 48-bit System Timer (STI) hardware available on a SoCs
368 such as EMEV2 from former NEC Electronics.
371 bool "Qualcomm MSM timer" if COMPILE_TEST
375 This enables the clocksource and the per CPU clockevent driver for the
378 config CLKSRC_VERSATILE
379 bool "ARM Versatile (Express) reference platforms clock source"
380 depends on PLAT_VERSATILE && GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET
382 default y if MFD_VEXPRESS_SYSREG
384 This option enables clock source based on free running
385 counter available in the "System Registers" block of
386 ARM Versatile, RealView and Versatile Express reference
389 config CLKSRC_MIPS_GIC
394 config CLKSRC_TANGO_XTAL
395 bool "Clocksource for Tango SoC" if COMPILE_TEST
400 This enables the clocksource for Tango SoC
403 bool "Clocksource for PXA or SA-11x0 platform" if COMPILE_TEST
404 depends on GENERIC_CLOCKEVENTS
408 This enables OST0 support available on PXA and SA-11x0
412 bool "Clockevent timer for the H8300 platform" if COMPILE_TEST
413 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
415 This enables the 8 bits timer for the H8300 platform.
418 bool "Clockevent timer for the H83069 platform" if COMPILE_TEST
419 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
421 This enables the 16 bits timer for the H8300 platform with the
425 bool "Clocksource for the H8300 platform" if COMPILE_TEST
426 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
428 This enables the clocksource for the H8300 platform with the
431 config CLKSRC_IMX_GPT
432 bool "Clocksource using i.MX GPT" if COMPILE_TEST
433 depends on ARM && CLKDEV_LOOKUP
437 bool "Low power clocksource found in the LPC" if COMPILE_TEST
438 select CLKSRC_OF if OF
442 Enable this option to use the Low Power controller timer