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 drvier 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 SYS_SUPPORTS_SH_CMT
300 bool "Mediatek timer driver" if COMPILE_TEST
301 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
305 Support for Mediatek timer driver.
307 config SYS_SUPPORTS_SH_MTU2
310 config SYS_SUPPORTS_SH_TMU
313 config SYS_SUPPORTS_EM_STI
317 bool "Renesas CMT timer driver" if COMPILE_TEST
318 depends on GENERIC_CLOCKEVENTS
320 default SYS_SUPPORTS_SH_CMT
322 This enables build of a clocksource and clockevent driver for
323 the Compare Match Timer (CMT) hardware available in 16/32/48-bit
324 variants on a wide range of Mobile and Automotive SoCs from Renesas.
327 bool "Renesas MTU2 timer driver" if COMPILE_TEST
328 depends on GENERIC_CLOCKEVENTS
330 default SYS_SUPPORTS_SH_MTU2
332 This enables build of a clockevent driver for the Multi-Function
333 Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
334 This hardware comes with 16 bit-timer registers.
337 bool "Renesas TMU timer driver" if COMPILE_TEST
338 depends on GENERIC_CLOCKEVENTS
340 default SYS_SUPPORTS_SH_TMU
342 This enables build of a clocksource and clockevent driver for
343 the 32-bit Timer Unit (TMU) hardware available on a wide range
347 bool "Renesas STI timer driver" if COMPILE_TEST
348 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
349 default SYS_SUPPORTS_EM_STI
351 This enables build of a clocksource and clockevent driver for
352 the 48-bit System Timer (STI) hardware available on a SoCs
353 such as EMEV2 from former NEC Electronics.
356 bool "Qualcomm MSM timer" if COMPILE_TEST
360 This enables the clocksource and the per CPU clockevent driver for the
363 config CLKSRC_VERSATILE
364 bool "ARM Versatile (Express) reference platforms clock source"
365 depends on PLAT_VERSATILE && GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET
367 default y if MFD_VEXPRESS_SYSREG
369 This option enables clock source based on free running
370 counter available in the "System Registers" block of
371 ARM Versatile, RealView and Versatile Express reference
374 config CLKSRC_MIPS_GIC
379 config CLKSRC_TANGO_XTAL
380 bool "Clocksource for Tango SoC" if COMPILE_TEST
385 This enables the clocksource for Tango SoC
388 bool "Clocksource for PXA or SA-11x0 platform" if COMPILE_TEST
389 depends on GENERIC_CLOCKEVENTS
393 This enables OST0 support available on PXA and SA-11x0
397 bool "Clockevent timer for the H8300 platform" if COMPILE_TEST
398 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
400 This enables the 8 bits timer for the H8300 platform.
403 bool "Clockevent timer for the H83069 platform" if COMPILE_TEST
404 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
406 This enables the 16 bits timer for the H8300 platform with the
410 bool "Clocksource for the H8300 platform" if COMPILE_TEST
411 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
413 This enables the clocksource for the H8300 platform with the
416 config CLKSRC_IMX_GPT
417 bool "Clocksource using i.MX GPT" if COMPILE_TEST
418 depends on ARM && CLKDEV_LOOKUP
422 bool "Low power clocksource found in the LPC" if COMPILE_TEST
423 select CLKSRC_OF if OF
427 Enable this option to use the Low Power controller timer