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
36 Enables the support for the digicolor timer driver.
39 bool "DW APB timer driver" if COMPILE_TEST
40 depends on GENERIC_CLOCKEVENTS
42 Enables the support for the dw_apb timer.
44 config DW_APB_TIMER_OF
50 bool "Rockchip timer driver" if COMPILE_TEST
51 depends on ARM || ARM64
54 Enables the support for the rockchip timer driver.
56 config ARMADA_370_XP_TIMER
57 bool "Armada 370 and XP timer driver" if COMPILE_TEST
62 Enables the support for the Armada 370 and XP timer driver.
65 bool "Meson6 timer driver" if COMPILE_TEST
66 depends on GENERIC_CLOCKEVENTS
69 Enables the support for the Meson6 timer driver.
72 bool "Orion timer driver" if COMPILE_TEST
77 Enables the support for the Orion timer driver
80 bool "Sun4i timer driver" if COMPILE_TEST
81 depends on GENERIC_CLOCKEVENTS
85 Enables support for the Sun4i timer.
88 bool "Sun5i timer driver" if COMPILE_TEST
92 Enables support the Sun5i timer.
95 bool "Tegra timer driver" if COMPILE_TEST
99 Enables support for the Tegra driver.
102 bool "VT8500 timer driver" if COMPILE_TEST
103 depends on GENERIC_CLOCKEVENTS
106 Enables support for the VT8500 driver.
108 config CADENCE_TTC_TIMER
109 bool "Cadence TTC timer driver" if COMPILE_TEST
110 depends on COMMON_CLK
112 Enables support for the cadence ttc driver.
115 bool "ASM9260 timer driver" if COMPILE_TEST
116 depends on GENERIC_CLOCKEVENTS
120 Enables support for the ASM9260 timer.
122 config CLKSRC_NOMADIK_MTU
123 bool "Nomakdik clocksource driver" if COMPILE_TEST
127 Support for Multi Timer Unit. MTU provides access
128 to multiple interrupt generating programmable
129 32-bit free running decrementing counters.
131 config CLKSRC_NOMADIK_MTU_SCHED_CLOCK
133 depends on CLKSRC_NOMADIK_MTU
135 Use the Multi Timer Unit as the sched_clock.
137 config CLKSRC_DBX500_PRCMU
138 bool "Clocksource PRCMU Timer" if COMPILE_TEST
139 depends on GENERIC_CLOCKEVENTS
142 Use the always on PRCMU Timer as clocksource
144 config CLKSRC_DBX500_PRCMU_SCHED_CLOCK
145 bool "Clocksource PRCMU Timer sched_clock"
146 depends on (CLKSRC_DBX500_PRCMU && !CLKSRC_NOMADIK_MTU_SCHED_CLOCK)
149 Use the always on PRCMU Timer as sched_clock
152 bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32
153 depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST)
157 Support to use the timers of EFM32 SoCs as clock source and clock
160 config CLKSRC_LPC32XX
161 bool "Clocksource for LPC32XX" if COMPILE_TEST
162 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
167 Support for the LPC32XX clocksource.
169 config CLKSRC_PISTACHIO
170 bool "Clocksource for Pistachio SoC" if COMPILE_TEST
174 Enables the clocksource for the Pistachio SoC.
177 bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST
178 depends on GENERIC_SCHED_CLOCK
179 select CLKSRC_OF if OF
181 This option enables support for Texas Instruments 32.768 Hz clocksource
182 available on many OMAP-like platforms.
185 bool "NPS400 clocksource driver" if COMPILE_TEST
186 depends on !PHYS_ADDR_T_64BIT
188 select CLKSRC_OF if OF
190 NPS400 clocksource support.
191 Got 64 bit counter with update rate up to 1000MHz.
192 This counter is accessed via couple of 32 bit memory mapped registers.
195 bool "Clocksource for STM32 SoCs" if !ARCH_STM32
196 depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST)
200 bool "Clocksource for MPS2 SoCs" if COMPILE_TEST
201 depends on GENERIC_SCHED_CLOCK
205 config ARM_ARCH_TIMER
207 select CLKSRC_OF if OF
208 select CLKSRC_ACPI if ACPI
210 config ARM_ARCH_TIMER_EVTSTREAM
211 bool "Support for ARM architected timer event stream generation"
212 default y if ARM_ARCH_TIMER
213 depends on ARM_ARCH_TIMER
215 This option enables support for event stream generation based on
216 the ARM architected timer. It is used for waking up CPUs executing
217 the wfe instruction at a frequency represented as a power-of-2
218 divisor of the clock rate.
219 The main use of the event stream is wfe-based timeouts of userspace
220 locking implementations. It might also be useful for imposing timeout
221 on wfe to safeguard against any programming errors in case an expected
222 event is not generated.
223 This must be disabled for hardware validation purposes to detect any
224 hardware anomalies of missing events.
226 config ARM_GLOBAL_TIMER
228 select CLKSRC_OF if OF
230 This options enables support for the ARM global timer unit
232 config ARM_TIMER_SP804
233 bool "Support for Dual Timer SP804 module"
234 depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP
236 select CLKSRC_OF if OF
238 config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
240 depends on ARM_GLOBAL_TIMER
243 Use ARM global timer clock source as sched_clock
245 config ARMV7M_SYSTICK
247 select CLKSRC_OF if OF
250 This options enables support for the ARMv7M system timer unit
253 select CLKSRC_OF if OF
254 def_bool SOC_AT91SAM9 || SOC_SAMA5
261 config CLKSRC_METAG_GENERIC
264 This option enables support for the Meta per-thread timers.
266 config CLKSRC_EXYNOS_MCT
267 bool "Exynos multi core timer driver" if COMPILE_TEST
270 Support for Multi Core Timer controller on Exynos SoCs.
272 config CLKSRC_SAMSUNG_PWM
273 bool "PWM timer driver for Samsung S3C, S5P" if COMPILE_TEST
274 depends on GENERIC_CLOCKEVENTS
277 This is a new clocksource driver for the PWM timer found in
278 Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
279 for all devicetree enabled platforms. This driver will be
280 needed only on systems that do not have the Exynos MCT available.
283 bool "Freescale FlexTimer Module driver" if COMPILE_TEST
284 depends on GENERIC_CLOCKEVENTS
288 Support for Freescale FlexTimer Module (FTM) timer.
294 Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
296 config OXNAS_RPS_TIMER
297 bool "Oxford Semiconductor OXNAS RPS Timers driver" if COMPILE_TEST
298 depends on GENERIC_CLOCKEVENTS
302 This enables support for the Oxford Semiconductor OXNAS RPS timers.
304 config SYS_SUPPORTS_SH_CMT
308 bool "Mediatek timer driver" if COMPILE_TEST
309 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
313 Support for Mediatek timer driver.
315 config SYS_SUPPORTS_SH_MTU2
318 config SYS_SUPPORTS_SH_TMU
321 config SYS_SUPPORTS_EM_STI
325 bool "Renesas CMT timer driver" if COMPILE_TEST
326 depends on GENERIC_CLOCKEVENTS
328 default SYS_SUPPORTS_SH_CMT
330 This enables build of a clocksource and clockevent driver for
331 the Compare Match Timer (CMT) hardware available in 16/32/48-bit
332 variants on a wide range of Mobile and Automotive SoCs from Renesas.
335 bool "Renesas MTU2 timer driver" if COMPILE_TEST
336 depends on GENERIC_CLOCKEVENTS
338 default SYS_SUPPORTS_SH_MTU2
340 This enables build of a clockevent driver for the Multi-Function
341 Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
342 This hardware comes with 16 bit-timer registers.
345 bool "Renesas TMU timer driver" if COMPILE_TEST
346 depends on GENERIC_CLOCKEVENTS
348 default SYS_SUPPORTS_SH_TMU
350 This enables build of a clocksource and clockevent driver for
351 the 32-bit Timer Unit (TMU) hardware available on a wide range
355 bool "Renesas STI timer driver" if COMPILE_TEST
356 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
357 default SYS_SUPPORTS_EM_STI
359 This enables build of a clocksource and clockevent driver for
360 the 48-bit System Timer (STI) hardware available on a SoCs
361 such as EMEV2 from former NEC Electronics.
364 bool "Qualcomm MSM timer" if COMPILE_TEST
368 This enables the clocksource and the per CPU clockevent driver for the
371 config CLKSRC_VERSATILE
372 bool "ARM Versatile (Express) reference platforms clock source"
373 depends on PLAT_VERSATILE && GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET
375 default y if MFD_VEXPRESS_SYSREG
377 This option enables clock source based on free running
378 counter available in the "System Registers" block of
379 ARM Versatile, RealView and Versatile Express reference
382 config CLKSRC_MIPS_GIC
387 config CLKSRC_TANGO_XTAL
388 bool "Clocksource for Tango SoC" if COMPILE_TEST
393 This enables the clocksource for Tango SoC
396 bool "Clocksource for PXA or SA-11x0 platform" if COMPILE_TEST
397 depends on GENERIC_CLOCKEVENTS
401 This enables OST0 support available on PXA and SA-11x0
405 bool "Clockevent timer for the H8300 platform" if COMPILE_TEST
406 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
408 This enables the 8 bits timer for the H8300 platform.
411 bool "Clockevent timer for the H83069 platform" if COMPILE_TEST
412 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
414 This enables the 16 bits timer for the H8300 platform with the
418 bool "Clocksource for the H8300 platform" if COMPILE_TEST
419 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
421 This enables the clocksource for the H8300 platform with the
424 config CLKSRC_IMX_GPT
425 bool "Clocksource using i.MX GPT" if COMPILE_TEST
426 depends on ARM && CLKDEV_LOOKUP
430 bool "Low power clocksource found in the LPC" if COMPILE_TEST
431 select CLKSRC_OF if OF
435 Enable this option to use the Low Power controller timer