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 "Clocksource for STM32 SoCs" if !ARCH_STM32
186 depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST)
189 config ARM_ARCH_TIMER
191 select CLKSRC_OF if OF
192 select CLKSRC_ACPI if ACPI
194 config ARM_ARCH_TIMER_EVTSTREAM
195 bool "Support for ARM architected timer event stream generation"
196 default y if ARM_ARCH_TIMER
197 depends on ARM_ARCH_TIMER
199 This option enables support for event stream generation based on
200 the ARM architected timer. It is used for waking up CPUs executing
201 the wfe instruction at a frequency represented as a power-of-2
202 divisor of the clock rate.
203 The main use of the event stream is wfe-based timeouts of userspace
204 locking implementations. It might also be useful for imposing timeout
205 on wfe to safeguard against any programming errors in case an expected
206 event is not generated.
207 This must be disabled for hardware validation purposes to detect any
208 hardware anomalies of missing events.
210 config ARM_GLOBAL_TIMER
212 select CLKSRC_OF if OF
214 This options enables support for the ARM global timer unit
216 config ARM_TIMER_SP804
217 bool "Support for Dual Timer SP804 module"
218 depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP
220 select CLKSRC_OF if OF
222 config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
224 depends on ARM_GLOBAL_TIMER
227 Use ARM global timer clock source as sched_clock
229 config ARMV7M_SYSTICK
231 select CLKSRC_OF if OF
234 This options enables support for the ARMv7M system timer unit
237 select CLKSRC_OF if OF
238 def_bool SOC_AT91SAM9 || SOC_SAMA5
245 config CLKSRC_METAG_GENERIC
248 This option enables support for the Meta per-thread timers.
250 config CLKSRC_EXYNOS_MCT
251 bool "Exynos multi core timer driver" if COMPILE_TEST
254 Support for Multi Core Timer controller on Exynos SoCs.
256 config CLKSRC_SAMSUNG_PWM
257 bool "PWM timer drvier for Samsung S3C, S5P" if COMPILE_TEST
258 depends on GENERIC_CLOCKEVENTS
261 This is a new clocksource driver for the PWM timer found in
262 Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
263 for all devicetree enabled platforms. This driver will be
264 needed only on systems that do not have the Exynos MCT available.
267 bool "Freescale FlexTimer Module driver" if COMPILE_TEST
268 depends on GENERIC_CLOCKEVENTS
272 Support for Freescale FlexTimer Module (FTM) timer.
278 Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
280 config SYS_SUPPORTS_SH_CMT
284 bool "Mediatek timer driver" if COMPILE_TEST
285 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
289 Support for Mediatek timer driver.
291 config SYS_SUPPORTS_SH_MTU2
294 config SYS_SUPPORTS_SH_TMU
297 config SYS_SUPPORTS_EM_STI
301 bool "Renesas CMT timer driver" if COMPILE_TEST
302 depends on GENERIC_CLOCKEVENTS
304 default SYS_SUPPORTS_SH_CMT
306 This enables build of a clocksource and clockevent driver for
307 the Compare Match Timer (CMT) hardware available in 16/32/48-bit
308 variants on a wide range of Mobile and Automotive SoCs from Renesas.
311 bool "Renesas MTU2 timer driver" if COMPILE_TEST
312 depends on GENERIC_CLOCKEVENTS
314 default SYS_SUPPORTS_SH_MTU2
316 This enables build of a clockevent driver for the Multi-Function
317 Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
318 This hardware comes with 16 bit-timer registers.
321 bool "Renesas TMU timer driver" if COMPILE_TEST
322 depends on GENERIC_CLOCKEVENTS
324 default SYS_SUPPORTS_SH_TMU
326 This enables build of a clocksource and clockevent driver for
327 the 32-bit Timer Unit (TMU) hardware available on a wide range
331 bool "Renesas STI timer driver" if COMPILE_TEST
332 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
333 default SYS_SUPPORTS_EM_STI
335 This enables build of a clocksource and clockevent driver for
336 the 48-bit System Timer (STI) hardware available on a SoCs
337 such as EMEV2 from former NEC Electronics.
340 bool "Qualcomm MSM timer" if COMPILE_TEST
344 This enables the clocksource and the per CPU clockevent driver for the
347 config CLKSRC_VERSATILE
348 bool "ARM Versatile (Express) reference platforms clock source"
349 depends on PLAT_VERSATILE && GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET
351 default y if MFD_VEXPRESS_SYSREG
353 This option enables clock source based on free running
354 counter available in the "System Registers" block of
355 ARM Versatile, RealView and Versatile Express reference
358 config CLKSRC_MIPS_GIC
363 config CLKSRC_TANGO_XTAL
364 bool "Clocksource for Tango SoC" if COMPILE_TEST
369 This enables the clocksource for Tango SoC
372 bool "Clocksource for PXA or SA-11x0 platform" if COMPILE_TEST
373 depends on GENERIC_CLOCKEVENTS
377 This enables OST0 support available on PXA and SA-11x0
381 bool "Clockevent timer for the H8300 platform" if COMPILE_TEST
382 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
384 This enables the 8 bits timer for the H8300 platform.
387 bool "Clockevent timer for the H83069 platform" if COMPILE_TEST
388 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
390 This enables the 16 bits timer for the H8300 platform with the
394 bool "Clocksource for the H8300 platform" if COMPILE_TEST
395 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
397 This enables the clocksource for the H8300 platform with the
400 config CLKSRC_IMX_GPT
401 bool "Clocksource using i.MX GPT" if COMPILE_TEST
402 depends on ARM && CLKDEV_LOOKUP
406 bool "Low power clocksource found in the LPC" if COMPILE_TEST
407 select CLKSRC_OF if OF
411 Enable this option to use the Low Power controller timer