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
33 Enables the support for the digicolor timer driver.
36 bool "DW APB timer driver" if COMPILE_TEST
38 Enables the support for the dw_apb timer.
40 config DW_APB_TIMER_OF
46 bool "Rockchip timer driver" if COMPILE_TEST
47 depends on ARM || ARM64
50 Enables the support for the rockchip timer driver.
52 config ARMADA_370_XP_TIMER
53 bool "Armada 370 and XP timer driver" if COMPILE_TEST
57 Enables the support for the Armada 370 and XP timer driver.
60 bool "Meson6 timer driver" if COMPILE_TEST
63 Enables the support for the Meson6 timer driver.
66 bool "Orion timer driver" if COMPILE_TEST
71 Enables the support for the Orion timer driver
74 bool "Sun4i timer driver" if COMPILE_TEST
77 Enables support for the Sun4i timer.
80 bool "Sun5i timer driver" if COMPILE_TEST
84 Enables support the Sun5i timer.
87 bool "Tegra timer driver" if COMPILE_TEST
90 Enables support for the Tegra driver.
93 bool "VT8500 timer driver" if COMPILE_TEST
95 Enables support for the VT8500 driver.
97 config CADENCE_TTC_TIMER
98 bool "Cadence TTC timer driver" if COMPILE_TEST
101 Enables support for the cadence ttc driver.
104 bool "ASM9260 timer driver" if COMPILE_TEST
108 Enables support for the ASM9260 timer.
110 config CLKSRC_NOMADIK_MTU
111 bool "Nomakdik clocksource driver" if COMPILE_TEST
115 Support for Multi Timer Unit. MTU provides access
116 to multiple interrupt generating programmable
117 32-bit free running decrementing counters.
119 config CLKSRC_NOMADIK_MTU_SCHED_CLOCK
121 depends on CLKSRC_NOMADIK_MTU
123 Use the Multi Timer Unit as the sched_clock.
125 config CLKSRC_DBX500_PRCMU
126 bool "Clocksource PRCMU Timer" if COMPILE_TEST
128 Use the always on PRCMU Timer as clocksource
130 config CLKSRC_DBX500_PRCMU_SCHED_CLOCK
131 bool "Clocksource PRCMU Timer sched_clock"
132 depends on (CLKSRC_DBX500_PRCMU && !CLKSRC_NOMADIK_MTU_SCHED_CLOCK)
135 Use the always on PRCMU Timer as sched_clock
138 bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32
139 depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST)
143 Support to use the timers of EFM32 SoCs as clock source and clock
146 config CLKSRC_LPC32XX
147 bool "Clocksource for LPC32XX" if COMPILE_TEST
151 Support for the LPC32XX clocksource.
153 config CLKSRC_PISTACHIO
154 bool "Clocksource for Pistachio SoC" if COMPILE_TEST
157 Enables the clocksource for the Pistachio SoC.
160 bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST
161 depends on GENERIC_SCHED_CLOCK
162 select CLKSRC_OF if OF
164 This option enables support for Texas Instruments 32.768 Hz clocksource
165 available on many OMAP-like platforms.
168 bool "Clocksource for STM32 SoCs" if !ARCH_STM32
169 depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST)
172 config ARM_ARCH_TIMER
174 select CLKSRC_OF if OF
175 select CLKSRC_ACPI if ACPI
177 config ARM_ARCH_TIMER_EVTSTREAM
178 bool "Support for ARM architected timer event stream generation"
179 default y if ARM_ARCH_TIMER
180 depends on ARM_ARCH_TIMER
182 This option enables support for event stream generation based on
183 the ARM architected timer. It is used for waking up CPUs executing
184 the wfe instruction at a frequency represented as a power-of-2
185 divisor of the clock rate.
186 The main use of the event stream is wfe-based timeouts of userspace
187 locking implementations. It might also be useful for imposing timeout
188 on wfe to safeguard against any programming errors in case an expected
189 event is not generated.
190 This must be disabled for hardware validation purposes to detect any
191 hardware anomalies of missing events.
193 config ARM_GLOBAL_TIMER
195 select CLKSRC_OF if OF
197 This options enables support for the ARM global timer unit
199 config ARM_TIMER_SP804
200 bool "Support for Dual Timer SP804 module"
201 depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP
203 select CLKSRC_OF if OF
205 config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
207 depends on ARM_GLOBAL_TIMER
210 Use ARM global timer clock source as sched_clock
212 config ARMV7M_SYSTICK
214 select CLKSRC_OF if OF
217 This options enables support for the ARMv7M system timer unit
220 select CLKSRC_OF if OF
221 def_bool SOC_AT91SAM9 || SOC_SAMA5
228 config CLKSRC_METAG_GENERIC
231 This option enables support for the Meta per-thread timers.
233 config CLKSRC_EXYNOS_MCT
234 bool "Exynos multi core timer driver" if COMPILE_TEST
237 Support for Multi Core Timer controller on Exynos SoCs.
239 config CLKSRC_SAMSUNG_PWM
240 bool "PWM timer drvier for Samsung S3C, S5P" if COMPILE_TEST
242 This is a new clocksource driver for the PWM timer found in
243 Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
244 for all devicetree enabled platforms. This driver will be
245 needed only on systems that do not have the Exynos MCT available.
250 Support for Freescale FlexTimer Module (FTM) timer.
255 Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
257 config SYS_SUPPORTS_SH_CMT
261 bool "Mediatek timer driver" if COMPILE_TEST
265 Support for Mediatek timer driver.
267 config SYS_SUPPORTS_SH_MTU2
270 config SYS_SUPPORTS_SH_TMU
273 config SYS_SUPPORTS_EM_STI
277 bool "Renesas CMT timer driver" if COMPILE_TEST
278 depends on GENERIC_CLOCKEVENTS
280 default SYS_SUPPORTS_SH_CMT
282 This enables build of a clocksource and clockevent driver for
283 the Compare Match Timer (CMT) hardware available in 16/32/48-bit
284 variants on a wide range of Mobile and Automotive SoCs from Renesas.
287 bool "Renesas MTU2 timer driver" if COMPILE_TEST
288 depends on GENERIC_CLOCKEVENTS
290 default SYS_SUPPORTS_SH_MTU2
292 This enables build of a clockevent driver for the Multi-Function
293 Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
294 This hardware comes with 16 bit-timer registers.
297 bool "Renesas TMU timer driver" if COMPILE_TEST
298 depends on GENERIC_CLOCKEVENTS
300 default SYS_SUPPORTS_SH_TMU
302 This enables build of a clocksource and clockevent driver for
303 the 32-bit Timer Unit (TMU) hardware available on a wide range
307 bool "Renesas STI timer driver" if COMPILE_TEST
308 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
309 default SYS_SUPPORTS_EM_STI
311 This enables build of a clocksource and clockevent driver for
312 the 48-bit System Timer (STI) hardware available on a SoCs
313 such as EMEV2 from former NEC Electronics.
316 bool "Qualcomm MSM timer" if COMPILE_TEST
320 This enables the clocksource and the per CPU clockevent driver for the
323 config CLKSRC_VERSATILE
324 bool "ARM Versatile (Express) reference platforms clock source"
325 depends on PLAT_VERSATILE && GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET
327 default y if MFD_VEXPRESS_SYSREG
329 This option enables clock source based on free running
330 counter available in the "System Registers" block of
331 ARM Versatile, RealView and Versatile Express reference
334 config CLKSRC_MIPS_GIC
339 config CLKSRC_TANGO_XTAL
340 bool "Clocksource for Tango SoC" if COMPILE_TEST
344 This enables the clocksource for Tango SoC
347 bool "Clocksource for PXA or SA-11x0 platform" if COMPILE_TEST
348 depends on GENERIC_CLOCKEVENTS
351 This enables OST0 support available on PXA and SA-11x0
360 config CLKSRC_IMX_GPT
361 bool "Clocksource using i.MX GPT" if COMPILE_TEST
362 depends on ARM && CLKDEV_LOOKUP
366 bool "Low power clocksource found in the LPC" if COMPILE_TEST
367 select CLKSRC_OF if OF
369 Enable this option to use the Low Power controller timer