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
34 Enables the support for the digicolor timer driver.
37 bool "DW APB timer driver" if COMPILE_TEST
38 depends on GENERIC_CLOCKEVENTS
40 Enables the support for the dw_apb timer.
42 config DW_APB_TIMER_OF
48 bool "Rockchip timer driver" if COMPILE_TEST
49 depends on ARM || ARM64
52 Enables the support for the rockchip timer driver.
54 config ARMADA_370_XP_TIMER
55 bool "Armada 370 and XP timer driver" if COMPILE_TEST
59 Enables the support for the Armada 370 and XP timer driver.
62 bool "Meson6 timer driver" if COMPILE_TEST
63 depends on GENERIC_CLOCKEVENTS
66 Enables the support for the Meson6 timer driver.
69 bool "Orion timer driver" if COMPILE_TEST
74 Enables the support for the Orion timer driver
77 bool "Sun4i timer driver" if COMPILE_TEST
78 depends on GENERIC_CLOCKEVENTS
81 Enables support for the Sun4i timer.
84 bool "Sun5i timer driver" if COMPILE_TEST
88 Enables support the Sun5i timer.
91 bool "Tegra timer driver" if COMPILE_TEST
94 Enables support for the Tegra driver.
97 bool "VT8500 timer driver" if COMPILE_TEST
98 depends on GENERIC_CLOCKEVENTS
100 Enables support for the VT8500 driver.
102 config CADENCE_TTC_TIMER
103 bool "Cadence TTC timer driver" if COMPILE_TEST
104 depends on COMMON_CLK
106 Enables support for the cadence ttc driver.
109 bool "ASM9260 timer driver" if COMPILE_TEST
110 depends on GENERIC_CLOCKEVENTS
114 Enables support for the ASM9260 timer.
116 config CLKSRC_NOMADIK_MTU
117 bool "Nomakdik clocksource driver" if COMPILE_TEST
121 Support for Multi Timer Unit. MTU provides access
122 to multiple interrupt generating programmable
123 32-bit free running decrementing counters.
125 config CLKSRC_NOMADIK_MTU_SCHED_CLOCK
127 depends on CLKSRC_NOMADIK_MTU
129 Use the Multi Timer Unit as the sched_clock.
131 config CLKSRC_DBX500_PRCMU
132 bool "Clocksource PRCMU Timer" if COMPILE_TEST
133 depends on GENERIC_CLOCKEVENTS
135 Use the always on PRCMU Timer as clocksource
137 config CLKSRC_DBX500_PRCMU_SCHED_CLOCK
138 bool "Clocksource PRCMU Timer sched_clock"
139 depends on (CLKSRC_DBX500_PRCMU && !CLKSRC_NOMADIK_MTU_SCHED_CLOCK)
142 Use the always on PRCMU Timer as sched_clock
145 bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32
146 depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST)
150 Support to use the timers of EFM32 SoCs as clock source and clock
153 config CLKSRC_LPC32XX
154 bool "Clocksource for LPC32XX" if COMPILE_TEST
155 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
159 Support for the LPC32XX clocksource.
161 config CLKSRC_PISTACHIO
162 bool "Clocksource for Pistachio SoC" if COMPILE_TEST
166 Enables the clocksource for the Pistachio SoC.
169 bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST
170 depends on GENERIC_SCHED_CLOCK
171 select CLKSRC_OF if OF
173 This option enables support for Texas Instruments 32.768 Hz clocksource
174 available on many OMAP-like platforms.
177 bool "Clocksource for STM32 SoCs" if !ARCH_STM32
178 depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST)
181 config ARM_ARCH_TIMER
183 select CLKSRC_OF if OF
184 select CLKSRC_ACPI if ACPI
186 config ARM_ARCH_TIMER_EVTSTREAM
187 bool "Support for ARM architected timer event stream generation"
188 default y if ARM_ARCH_TIMER
189 depends on ARM_ARCH_TIMER
191 This option enables support for event stream generation based on
192 the ARM architected timer. It is used for waking up CPUs executing
193 the wfe instruction at a frequency represented as a power-of-2
194 divisor of the clock rate.
195 The main use of the event stream is wfe-based timeouts of userspace
196 locking implementations. It might also be useful for imposing timeout
197 on wfe to safeguard against any programming errors in case an expected
198 event is not generated.
199 This must be disabled for hardware validation purposes to detect any
200 hardware anomalies of missing events.
202 config ARM_GLOBAL_TIMER
204 select CLKSRC_OF if OF
206 This options enables support for the ARM global timer unit
208 config ARM_TIMER_SP804
209 bool "Support for Dual Timer SP804 module"
210 depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP
212 select CLKSRC_OF if OF
214 config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
216 depends on ARM_GLOBAL_TIMER
219 Use ARM global timer clock source as sched_clock
221 config ARMV7M_SYSTICK
223 select CLKSRC_OF if OF
226 This options enables support for the ARMv7M system timer unit
229 select CLKSRC_OF if OF
230 def_bool SOC_AT91SAM9 || SOC_SAMA5
237 config CLKSRC_METAG_GENERIC
240 This option enables support for the Meta per-thread timers.
242 config CLKSRC_EXYNOS_MCT
243 bool "Exynos multi core timer driver" if COMPILE_TEST
246 Support for Multi Core Timer controller on Exynos SoCs.
248 config CLKSRC_SAMSUNG_PWM
249 bool "PWM timer drvier for Samsung S3C, S5P" if COMPILE_TEST
250 depends on GENERIC_CLOCKEVENTS
252 This is a new clocksource driver for the PWM timer found in
253 Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
254 for all devicetree enabled platforms. This driver will be
255 needed only on systems that do not have the Exynos MCT available.
258 bool "Freescale FlexTimer Module driver" if COMPILE_TEST
259 depends on GENERIC_CLOCKEVENTS
262 Support for Freescale FlexTimer Module (FTM) timer.
267 Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
269 config SYS_SUPPORTS_SH_CMT
273 bool "Mediatek timer driver" if COMPILE_TEST
274 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
278 Support for Mediatek timer driver.
280 config SYS_SUPPORTS_SH_MTU2
283 config SYS_SUPPORTS_SH_TMU
286 config SYS_SUPPORTS_EM_STI
290 bool "Renesas CMT timer driver" if COMPILE_TEST
291 depends on GENERIC_CLOCKEVENTS
293 default SYS_SUPPORTS_SH_CMT
295 This enables build of a clocksource and clockevent driver for
296 the Compare Match Timer (CMT) hardware available in 16/32/48-bit
297 variants on a wide range of Mobile and Automotive SoCs from Renesas.
300 bool "Renesas MTU2 timer driver" if COMPILE_TEST
301 depends on GENERIC_CLOCKEVENTS
303 default SYS_SUPPORTS_SH_MTU2
305 This enables build of a clockevent driver for the Multi-Function
306 Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
307 This hardware comes with 16 bit-timer registers.
310 bool "Renesas TMU timer driver" if COMPILE_TEST
311 depends on GENERIC_CLOCKEVENTS
313 default SYS_SUPPORTS_SH_TMU
315 This enables build of a clocksource and clockevent driver for
316 the 32-bit Timer Unit (TMU) hardware available on a wide range
320 bool "Renesas STI timer driver" if COMPILE_TEST
321 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
322 default SYS_SUPPORTS_EM_STI
324 This enables build of a clocksource and clockevent driver for
325 the 48-bit System Timer (STI) hardware available on a SoCs
326 such as EMEV2 from former NEC Electronics.
329 bool "Qualcomm MSM timer" if COMPILE_TEST
333 This enables the clocksource and the per CPU clockevent driver for the
336 config CLKSRC_VERSATILE
337 bool "ARM Versatile (Express) reference platforms clock source"
338 depends on PLAT_VERSATILE && GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET
340 default y if MFD_VEXPRESS_SYSREG
342 This option enables clock source based on free running
343 counter available in the "System Registers" block of
344 ARM Versatile, RealView and Versatile Express reference
347 config CLKSRC_MIPS_GIC
352 config CLKSRC_TANGO_XTAL
353 bool "Clocksource for Tango SoC" if COMPILE_TEST
358 This enables the clocksource for Tango SoC
361 bool "Clocksource for PXA or SA-11x0 platform" if COMPILE_TEST
362 depends on GENERIC_CLOCKEVENTS
365 This enables OST0 support available on PXA and SA-11x0
369 bool "Clockevent timer for the H8300 platform" if COMPILE_TEST
370 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
372 This enables the 8 bits timer for the H8300 platform.
375 bool "Clockevent timer for the H83069 platform" if COMPILE_TEST
376 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
378 This enables the 16 bits timer for the H8300 platform with the
382 bool "Clocksource for the H8300 platform" if COMPILE_TEST
383 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
385 This enables the clocksource for the H8300 platform with the
388 config CLKSRC_IMX_GPT
389 bool "Clocksource using i.MX GPT" if COMPILE_TEST
390 depends on ARM && CLKDEV_LOOKUP
394 bool "Low power clocksource found in the LPC" if COMPILE_TEST
395 select CLKSRC_OF if OF
398 Enable this option to use the Low Power controller timer