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
166 Support for the LPC32XX clocksource.
168 config CLKSRC_PISTACHIO
169 bool "Clocksource for Pistachio SoC" if COMPILE_TEST
173 Enables the clocksource for the Pistachio SoC.
176 bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST
177 depends on GENERIC_SCHED_CLOCK
178 select CLKSRC_OF if OF
180 This option enables support for Texas Instruments 32.768 Hz clocksource
181 available on many OMAP-like platforms.
184 bool "Clocksource for STM32 SoCs" if !ARCH_STM32
185 depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST)
188 config ARM_ARCH_TIMER
190 select CLKSRC_OF if OF
191 select CLKSRC_ACPI if ACPI
193 config ARM_ARCH_TIMER_EVTSTREAM
194 bool "Support for ARM architected timer event stream generation"
195 default y if ARM_ARCH_TIMER
196 depends on ARM_ARCH_TIMER
198 This option enables support for event stream generation based on
199 the ARM architected timer. It is used for waking up CPUs executing
200 the wfe instruction at a frequency represented as a power-of-2
201 divisor of the clock rate.
202 The main use of the event stream is wfe-based timeouts of userspace
203 locking implementations. It might also be useful for imposing timeout
204 on wfe to safeguard against any programming errors in case an expected
205 event is not generated.
206 This must be disabled for hardware validation purposes to detect any
207 hardware anomalies of missing events.
209 config ARM_GLOBAL_TIMER
211 select CLKSRC_OF if OF
213 This options enables support for the ARM global timer unit
215 config ARM_TIMER_SP804
216 bool "Support for Dual Timer SP804 module"
217 depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP
219 select CLKSRC_OF if OF
221 config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
223 depends on ARM_GLOBAL_TIMER
226 Use ARM global timer clock source as sched_clock
228 config ARMV7M_SYSTICK
230 select CLKSRC_OF if OF
233 This options enables support for the ARMv7M system timer unit
236 select CLKSRC_OF if OF
237 def_bool SOC_AT91SAM9 || SOC_SAMA5
244 config CLKSRC_METAG_GENERIC
247 This option enables support for the Meta per-thread timers.
249 config CLKSRC_EXYNOS_MCT
250 bool "Exynos multi core timer driver" if COMPILE_TEST
253 Support for Multi Core Timer controller on Exynos SoCs.
255 config CLKSRC_SAMSUNG_PWM
256 bool "PWM timer drvier for Samsung S3C, S5P" if COMPILE_TEST
257 depends on GENERIC_CLOCKEVENTS
260 This is a new clocksource driver for the PWM timer found in
261 Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
262 for all devicetree enabled platforms. This driver will be
263 needed only on systems that do not have the Exynos MCT available.
266 bool "Freescale FlexTimer Module driver" if COMPILE_TEST
267 depends on GENERIC_CLOCKEVENTS
271 Support for Freescale FlexTimer Module (FTM) timer.
277 Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
279 config SYS_SUPPORTS_SH_CMT
283 bool "Mediatek timer driver" if COMPILE_TEST
284 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
288 Support for Mediatek timer driver.
290 config SYS_SUPPORTS_SH_MTU2
293 config SYS_SUPPORTS_SH_TMU
296 config SYS_SUPPORTS_EM_STI
300 bool "Renesas CMT timer driver" if COMPILE_TEST
301 depends on GENERIC_CLOCKEVENTS
303 default SYS_SUPPORTS_SH_CMT
305 This enables build of a clocksource and clockevent driver for
306 the Compare Match Timer (CMT) hardware available in 16/32/48-bit
307 variants on a wide range of Mobile and Automotive SoCs from Renesas.
310 bool "Renesas MTU2 timer driver" if COMPILE_TEST
311 depends on GENERIC_CLOCKEVENTS
313 default SYS_SUPPORTS_SH_MTU2
315 This enables build of a clockevent driver for the Multi-Function
316 Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
317 This hardware comes with 16 bit-timer registers.
320 bool "Renesas TMU timer driver" if COMPILE_TEST
321 depends on GENERIC_CLOCKEVENTS
323 default SYS_SUPPORTS_SH_TMU
325 This enables build of a clocksource and clockevent driver for
326 the 32-bit Timer Unit (TMU) hardware available on a wide range
330 bool "Renesas STI timer driver" if COMPILE_TEST
331 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
332 default SYS_SUPPORTS_EM_STI
334 This enables build of a clocksource and clockevent driver for
335 the 48-bit System Timer (STI) hardware available on a SoCs
336 such as EMEV2 from former NEC Electronics.
339 bool "Qualcomm MSM timer" if COMPILE_TEST
343 This enables the clocksource and the per CPU clockevent driver for the
346 config CLKSRC_VERSATILE
347 bool "ARM Versatile (Express) reference platforms clock source"
348 depends on PLAT_VERSATILE && GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET
350 default y if MFD_VEXPRESS_SYSREG
352 This option enables clock source based on free running
353 counter available in the "System Registers" block of
354 ARM Versatile, RealView and Versatile Express reference
357 config CLKSRC_MIPS_GIC
362 config CLKSRC_TANGO_XTAL
363 bool "Clocksource for Tango SoC" if COMPILE_TEST
368 This enables the clocksource for Tango SoC
371 bool "Clocksource for PXA or SA-11x0 platform" if COMPILE_TEST
372 depends on GENERIC_CLOCKEVENTS
376 This enables OST0 support available on PXA and SA-11x0
380 bool "Clockevent timer for the H8300 platform" if COMPILE_TEST
381 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
383 This enables the 8 bits timer for the H8300 platform.
386 bool "Clockevent timer for the H83069 platform" if COMPILE_TEST
387 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
389 This enables the 16 bits timer for the H8300 platform with the
393 bool "Clocksource for the H8300 platform" if COMPILE_TEST
394 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
396 This enables the clocksource for the H8300 platform with the
399 config CLKSRC_IMX_GPT
400 bool "Clocksource using i.MX GPT" if COMPILE_TEST
401 depends on ARM && CLKDEV_LOOKUP
405 bool "Low power clocksource found in the LPC" if COMPILE_TEST
406 select CLKSRC_OF if OF
410 Enable this option to use the Low Power controller timer