Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1# SPDX-License-Identifier: GPL-2.0-only
2menu "Clock Source drivers"
3 depends on GENERIC_CLOCKEVENTS
4
5config TIMER_OF
6 bool
7 select TIMER_PROBE
8
9config TIMER_ACPI
10 bool
11 select TIMER_PROBE
12
13config TIMER_PROBE
14 bool
15
16config CLKSRC_I8253
17 bool
18
19config CLKEVT_I8253
20 bool
21
22config I8253_LOCK
23 bool
24
25config OMAP_DM_SYSTIMER
26 bool
27 select TIMER_OF
28
29config CLKBLD_I8253
30 def_bool y if CLKSRC_I8253 || CLKEVT_I8253 || I8253_LOCK
31
32config CLKSRC_MMIO
33 bool
34
35config BCM2835_TIMER
36 bool "BCM2835 timer driver" if COMPILE_TEST
37 select CLKSRC_MMIO
38 help
39 Enables the support for the BCM2835 timer driver.
40
41config BCM_KONA_TIMER
42 bool "BCM mobile timer driver" if COMPILE_TEST
43 select CLKSRC_MMIO
44 help
45 Enables the support for the BCM Kona mobile timer driver.
46
47config DAVINCI_TIMER
48 bool "Texas Instruments DaVinci timer driver" if COMPILE_TEST
49 help
50 Enables the support for the TI DaVinci timer driver.
51
52config DIGICOLOR_TIMER
53 bool "Digicolor timer driver" if COMPILE_TEST
54 select CLKSRC_MMIO
55 depends on HAS_IOMEM
56 help
57 Enables the support for the digicolor timer driver.
58
59config OMAP_DM_TIMER
60 bool "OMAP dual-mode timer driver" if ARCH_K3 || COMPILE_TEST
61 default y if ARCH_K3
62 select TIMER_OF
63 help
64 Enables the support for the TI dual-mode timer driver.
65
66config DW_APB_TIMER
67 bool "DW APB timer driver" if COMPILE_TEST
68 help
69 Enables the support for the dw_apb timer.
70
71config DW_APB_TIMER_OF
72 bool
73 select DW_APB_TIMER
74 select TIMER_OF
75
76config ECONET_EN751221_TIMER
77 bool "EcoNet EN751221 High Precision Timer" if COMPILE_TEST
78 depends on HAS_IOMEM
79 select CLKSRC_MMIO
80 select TIMER_OF
81 help
82 Support for CPU timer found on EcoNet MIPS based SoCs.
83
84config FTTMR010_TIMER
85 bool "Faraday Technology timer driver" if COMPILE_TEST
86 depends on HAS_IOMEM
87 select CLKSRC_MMIO
88 select TIMER_OF
89 select MFD_SYSCON
90 help
91 Enables support for the Faraday Technology timer block
92 FTTMR010.
93
94config IXP4XX_TIMER
95 bool "Intel XScale IXP4xx timer driver" if COMPILE_TEST
96 depends on HAS_IOMEM
97 select CLKSRC_MMIO
98 select TIMER_OF
99 help
100 Enables support for the Intel XScale IXP4xx SoC timer.
101
102config ROCKCHIP_TIMER
103 bool "Rockchip timer driver" if COMPILE_TEST
104 depends on ARM || ARM64
105 select TIMER_OF
106 select CLKSRC_MMIO
107 help
108 Enables the support for the Rockchip timer driver.
109
110config ARMADA_370_XP_TIMER
111 bool "Armada 370 and XP timer driver" if COMPILE_TEST
112 depends on ARM
113 select TIMER_OF
114 select CLKSRC_MMIO
115 help
116 Enables the support for the Armada 370 and XP timer driver.
117
118config MESON6_TIMER
119 bool "Meson6 timer driver" if COMPILE_TEST
120 select CLKSRC_MMIO
121 help
122 Enables the support for the Meson6 timer driver.
123
124config ORION_TIMER
125 bool "Orion timer driver" if COMPILE_TEST
126 depends on ARM
127 select TIMER_OF
128 select CLKSRC_MMIO
129 help
130 Enables the support for the Orion timer driver
131
132config OWL_TIMER
133 bool "Owl timer driver" if COMPILE_TEST
134 select CLKSRC_MMIO
135 help
136 Enables the support for the Actions Semi Owl timer driver.
137
138config RDA_TIMER
139 bool "RDA timer driver" if COMPILE_TEST
140 select CLKSRC_MMIO
141 select TIMER_OF
142 help
143 Enables the support for the RDA Micro timer driver.
144
145config REALTEK_OTTO_TIMER
146 bool "Clocksource/timer for the Realtek Otto platform" if COMPILE_TEST
147 select TIMER_OF
148 help
149 This driver adds support for the timers found in the Realtek RTL83xx
150 and RTL93xx SoCs series. This includes chips such as RTL8380, RTL8381
151 and RTL832, as well as chips from the RTL839x series, such as RTL8390
152 RT8391, RTL8392, RTL8393 and RTL8396 and chips of the RTL930x series
153 such as RTL9301, RTL9302 or RTL9303.
154
155config SUN4I_TIMER
156 bool "Sun4i timer driver" if COMPILE_TEST
157 depends on HAS_IOMEM
158 select CLKSRC_MMIO
159 select TIMER_OF
160 help
161 Enables support for the Sun4i timer.
162
163config SUN5I_HSTIMER
164 bool "Sun5i timer driver" if COMPILE_TEST
165 select CLKSRC_MMIO
166 depends on COMMON_CLK
167 help
168 Enables support the Sun5i timer.
169
170config TEGRA_TIMER
171 bool "Tegra timer driver" if COMPILE_TEST
172 select CLKSRC_MMIO
173 select TIMER_OF
174 depends on ARCH_TEGRA || COMPILE_TEST
175 help
176 Enables support for the Tegra driver.
177
178config TEGRA186_TIMER
179 bool "NVIDIA Tegra186 timer driver"
180 depends on ARCH_TEGRA || COMPILE_TEST
181 depends on WATCHDOG && WATCHDOG_CORE
182 help
183 Enables support for the timers and watchdogs found on NVIDIA
184 Tegra186 and later SoCs.
185
186config VT8500_TIMER
187 bool "VT8500 timer driver" if COMPILE_TEST
188 depends on HAS_IOMEM
189 help
190 Enables support for the VT8500 driver.
191
192config NPCM7XX_TIMER
193 bool "NPCM7xx timer driver" if COMPILE_TEST
194 depends on HAS_IOMEM
195 select TIMER_OF
196 select CLKSRC_MMIO
197 help
198 Enable 24-bit TIMER0 and TIMER1 counters in the NPCM7xx architecture,
199 where TIMER0 serves as clockevent and TIMER1 serves as clocksource.
200
201config CADENCE_TTC_TIMER
202 bool "Cadence TTC timer driver" if COMPILE_TEST
203 depends on COMMON_CLK
204 help
205 Enables support for the Cadence TTC driver.
206
207config ASM9260_TIMER
208 bool "ASM9260 timer driver" if COMPILE_TEST
209 select CLKSRC_MMIO
210 select TIMER_OF
211 help
212 Enables support for the ASM9260 timer.
213
214config CLKSRC_NOMADIK_MTU
215 bool "Nomakdik clocksource driver" if COMPILE_TEST
216 depends on ARM
217 select CLKSRC_MMIO
218 help
219 Support for Multi Timer Unit. MTU provides access
220 to multiple interrupt generating programmable
221 32-bit free running decrementing counters.
222
223config CLKSRC_DBX500_PRCMU
224 bool "Clocksource PRCMU Timer" if COMPILE_TEST
225 depends on HAS_IOMEM
226 help
227 Use the always on PRCMU Timer as clocksource.
228
229config CLPS711X_TIMER
230 bool "Cirrus Logic timer driver" if COMPILE_TEST
231 select CLKSRC_MMIO
232 help
233 Enables support for the Cirrus Logic PS711 timer.
234
235config MXS_TIMER
236 bool "MXS timer driver" if COMPILE_TEST
237 select CLKSRC_MMIO
238 select STMP_DEVICE
239 help
240 Enables support for the MXS timer.
241
242config NSPIRE_TIMER
243 bool "NSpire timer driver" if COMPILE_TEST
244 select CLKSRC_MMIO
245 help
246 Enables support for the Nspire timer.
247
248config KEYSTONE_TIMER
249 bool "Keystone timer driver" if COMPILE_TEST
250 depends on ARM || ARM64
251 select CLKSRC_MMIO
252 help
253 Enables support for the Keystone timer.
254
255config INTEGRATOR_AP_TIMER
256 bool "Integrator-AP timer driver" if COMPILE_TEST
257 select CLKSRC_MMIO
258 help
259 Enables support for the Integrator-AP timer.
260
261config CLKSRC_LPC32XX
262 bool "Clocksource for LPC32XX" if COMPILE_TEST
263 depends on HAS_IOMEM
264 depends on ARM
265 select CLKSRC_MMIO
266 select TIMER_OF
267 help
268 Support for the LPC32XX clocksource.
269
270config CLKSRC_PISTACHIO
271 bool "Clocksource for Pistachio SoC"
272 depends on HAS_IOMEM
273 depends on MIPS || COMPILE_TEST
274 select TIMER_OF
275 help
276 Enables the clocksource for the Pistachio SoC.
277
278config CLKSRC_TI_32K
279 bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST
280 depends on GENERIC_SCHED_CLOCK
281 select TIMER_OF if OF
282 help
283 This option enables support for Texas Instruments 32.768 Hz clocksource
284 available on many OMAP-like platforms.
285
286config CLKSRC_STM32
287 bool "Clocksource for STM32 SoCs" if !ARCH_STM32
288 depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST)
289 select CLKSRC_MMIO
290 select TIMER_OF
291
292config CLKSRC_STM32_LP
293 bool "Low power clocksource for STM32 SoCs"
294 depends on MFD_STM32_LPTIMER || COMPILE_TEST
295
296config CLKSRC_MPS2
297 bool "Clocksource for MPS2 SoCs" if COMPILE_TEST
298 depends on GENERIC_SCHED_CLOCK
299 select CLKSRC_MMIO
300 select TIMER_OF
301
302config ARC_TIMERS
303 bool "Support for 32-bit TIMERn counters in ARC Cores" if COMPILE_TEST
304 depends on GENERIC_SCHED_CLOCK
305 select TIMER_OF
306 help
307 These are legacy 32-bit TIMER0 and TIMER1 counters found on all ARC cores
308 (ARC700 as well as ARC HS38).
309 TIMER0 serves as clockevent while TIMER1 provides clocksource.
310
311config ARC_TIMERS_64BIT
312 bool "Support for 64-bit counters in ARC HS38 cores" if COMPILE_TEST
313 depends on ARC_TIMERS
314 select TIMER_OF
315 help
316 This enables 2 different 64-bit timers: RTC (for UP) and GFRC (for SMP).
317 RTC is implemented inside the core, while GFRC sits outside the core in
318 ARConnect IP block. Driver automatically picks one of them for clocksource
319 as appropriate.
320
321config ARM_ARCH_TIMER
322 bool
323 select TIMER_OF if OF
324 select TIMER_ACPI if ACPI
325
326config ARM_ARCH_TIMER_EVTSTREAM
327 bool "Enable ARM architected timer event stream generation by default"
328 default y if ARM_ARCH_TIMER
329 depends on ARM_ARCH_TIMER
330 help
331 This option enables support by default for event stream generation
332 based on the ARM architected timer. It is used for waking up CPUs
333 executing the wfe instruction at a frequency represented as a
334 power-of-2 divisor of the clock rate. The behaviour can also be
335 overridden on the command line using the
336 clocksource.arm_arch_timer.evtstream parameter.
337 The main use of the event stream is wfe-based timeouts of userspace
338 locking implementations. It might also be useful for imposing timeout
339 on wfe to safeguard against any programming errors in case an expected
340 event is not generated.
341 This must be disabled for hardware validation purposes to detect any
342 hardware anomalies of missing events.
343
344config ARM_ARCH_TIMER_OOL_WORKAROUND
345 bool
346
347config FSL_ERRATUM_A008585
348 bool "Workaround for Freescale/NXP Erratum A-008585"
349 default y
350 depends on ARM_ARCH_TIMER && ARM64
351 select ARM_ARCH_TIMER_OOL_WORKAROUND
352 help
353 This option enables a workaround for Freescale/NXP Erratum
354 A-008585 ("ARM generic timer may contain an erroneous
355 value"). The workaround will only be active if the
356 fsl,erratum-a008585 property is found in the timer node.
357
358config HISILICON_ERRATUM_161010101
359 bool "Workaround for Hisilicon Erratum 161010101"
360 default y
361 select ARM_ARCH_TIMER_OOL_WORKAROUND
362 depends on ARM_ARCH_TIMER && ARM64
363 help
364 This option enables a workaround for Hisilicon Erratum
365 161010101. The workaround will be active if the hisilicon,erratum-161010101
366 property is found in the timer node.
367
368config ARM64_ERRATUM_858921
369 bool "Workaround for Cortex-A73 erratum 858921"
370 default y
371 select ARM_ARCH_TIMER_OOL_WORKAROUND
372 depends on ARM_ARCH_TIMER && ARM64
373 help
374 This option enables a workaround applicable to Cortex-A73
375 (all versions), whose counter may return incorrect values.
376 The workaround will be dynamically enabled when an affected
377 core is detected.
378
379config SUN50I_ERRATUM_UNKNOWN1
380 bool "Workaround for Allwinner A64 erratum UNKNOWN1"
381 default y
382 depends on ARM_ARCH_TIMER && ARM64 && ARCH_SUNXI
383 select ARM_ARCH_TIMER_OOL_WORKAROUND
384 help
385 This option enables a workaround for instability in the timer on
386 the Allwinner A64 SoC. The workaround will only be active if the
387 allwinner,erratum-unknown1 property is found in the timer node.
388
389config ARM_GLOBAL_TIMER
390 bool "Support for the ARM global timer" if COMPILE_TEST
391 select TIMER_OF if OF
392 depends on ARM
393 help
394 This option enables support for the ARM global timer unit.
395
396config ARM_GT_INITIAL_PRESCALER_VAL
397 int "ARM global timer initial prescaler value"
398 default 0
399 depends on ARM_GLOBAL_TIMER
400 help
401 When the ARM global timer initializes, its current rate is declared
402 to the kernel and maintained forever. Should its parent clock
403 change, the driver tries to fix the timer's internal prescaler.
404 On some machs (i.e. Zynq) the initial prescaler value thus poses
405 bounds about how much the parent clock is allowed to decrease or
406 increase wrt the initial clock value.
407 This affects CPU_FREQ max delta from the initial frequency.
408 Use 0 to use auto-detection in the driver.
409
410config ARM_TIMER_SP804
411 bool "Support for Dual Timer SP804 module"
412 depends on ARM || ARM64 || COMPILE_TEST
413 depends on GENERIC_SCHED_CLOCK && HAVE_CLK
414 select CLKSRC_MMIO
415 select TIMER_OF if OF
416
417config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
418 bool
419 depends on ARM_GLOBAL_TIMER
420 default y
421 help
422 Use ARM global timer clock source as sched_clock.
423
424config ARMV7M_SYSTICK
425 bool "Support for the ARMv7M system time" if COMPILE_TEST
426 select TIMER_OF if OF
427 select CLKSRC_MMIO
428 help
429 This option enables support for the ARMv7M system timer unit.
430
431config ATMEL_PIT
432 bool "Atmel PIT support" if COMPILE_TEST
433 depends on HAS_IOMEM
434 select TIMER_OF if OF
435 help
436 Support for the Periodic Interval Timer found on Atmel SoCs.
437
438config ATMEL_ST
439 bool "Atmel ST timer support" if COMPILE_TEST
440 depends on HAS_IOMEM
441 select TIMER_OF
442 select MFD_SYSCON
443 help
444 Support for the Atmel ST timer.
445
446config ATMEL_TCB_CLKSRC
447 bool "Atmel TC Block timer driver" if COMPILE_TEST
448 depends on ARM && OF && HAS_IOMEM
449 select TIMER_OF
450 help
451 Support for Timer Counter Blocks on Atmel SoCs.
452
453config CLKSRC_EXYNOS_MCT
454 bool "Exynos multi core timer driver" if COMPILE_TEST
455 depends on ARM || ARM64
456 depends on ARCH_ARTPEC || ARCH_EXYNOS || COMPILE_TEST
457 help
458 Support for Multi Core Timer controller on Exynos SoCs.
459
460config CLKSRC_SAMSUNG_PWM
461 bool "PWM timer driver for Samsung S3C, S5P" if COMPILE_TEST
462 depends on HAS_IOMEM
463 depends on ARCH_EXYNOS || ARCH_S3C64XX || ARCH_S5PV210 || COMPILE_TEST
464 help
465 This is a new clocksource driver for the PWM timer found in
466 Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
467 for all devicetree enabled platforms. This driver will be
468 needed only on systems that do not have the Exynos MCT available.
469
470config FSL_FTM_TIMER
471 bool "Freescale FlexTimer Module driver" if COMPILE_TEST
472 depends on HAS_IOMEM
473 select CLKSRC_MMIO
474 help
475 Support for Freescale FlexTimer Module (FTM) timer.
476
477config NXP_PIT_TIMER
478 bool "NXP Periodic Interrupt Timer" if COMPILE_TEST
479 select CLKSRC_MMIO
480 help
481 Support for Periodic Interrupt Timer on Freescale / NXP
482 SoCs. This periodic timer is found on the Vybrid Family and
483 the Automotive S32G2/3 platforms. It contains 4 channels
484 where two can be coupled to form a 64 bits channel.
485
486config SYS_SUPPORTS_SH_CMT
487 bool
488
489config MTK_TIMER
490 bool "Mediatek timer driver" if COMPILE_TEST
491 depends on HAS_IOMEM
492 select TIMER_OF
493 select CLKSRC_MMIO
494 help
495 Support for Mediatek timer driver.
496
497config MTK_CPUX_TIMER
498 bool "MediaTek CPUX timer driver" if COMPILE_TEST
499 depends on HAS_IOMEM
500 default ARCH_MEDIATEK
501 select TIMER_OF
502 select CLKSRC_MMIO
503 help
504 Support for MediaTek CPUXGPT timer driver.
505
506config SPRD_TIMER
507 bool "Spreadtrum timer driver" if EXPERT
508 depends on HAS_IOMEM
509 depends on (ARCH_SPRD || COMPILE_TEST)
510 default ARCH_SPRD
511 select TIMER_OF
512 help
513 Enables support for the Spreadtrum timer driver.
514
515config SYS_SUPPORTS_SH_MTU2
516 bool
517
518config SYS_SUPPORTS_SH_TMU
519 bool
520
521config SYS_SUPPORTS_EM_STI
522 bool
523
524config CLKSRC_JCORE_PIT
525 bool "J-Core PIT timer driver" if COMPILE_TEST
526 depends on OF
527 depends on HAS_IOMEM
528 select CLKSRC_MMIO
529 help
530 This enables build of clocksource and clockevent driver for
531 the integrated PIT in the J-Core synthesizable, open source SoC.
532
533config SH_TIMER_CMT
534 bool "Renesas CMT timer driver" if COMPILE_TEST
535 depends on HAS_IOMEM
536 default SYS_SUPPORTS_SH_CMT
537 help
538 This enables build of a clocksource and clockevent driver for
539 the Compare Match Timer (CMT) hardware available in 16/32/48-bit
540 variants on a wide range of Mobile and Automotive SoCs from Renesas.
541
542config SH_TIMER_MTU2
543 bool "Renesas MTU2 timer driver" if COMPILE_TEST
544 depends on HAS_IOMEM
545 default SYS_SUPPORTS_SH_MTU2
546 help
547 This enables build of a clockevent driver for the Multi-Function
548 Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
549 This hardware comes with 16-bit timer registers.
550
551config RENESAS_OSTM
552 bool "Renesas OSTM timer driver"
553 depends on ARCH_RENESAS || COMPILE_TEST
554 select CLKSRC_MMIO
555 select TIMER_OF
556 help
557 Enables the support for the Renesas OSTM.
558
559config SH_TIMER_TMU
560 bool "Renesas TMU timer driver" if COMPILE_TEST
561 depends on HAS_IOMEM
562 default SYS_SUPPORTS_SH_TMU
563 help
564 This enables build of a clocksource and clockevent driver for
565 the 32-bit Timer Unit (TMU) hardware available on a wide range
566 SoCs from Renesas.
567
568config EM_TIMER_STI
569 bool "Renesas STI timer driver" if COMPILE_TEST
570 depends on HAS_IOMEM
571 default SYS_SUPPORTS_EM_STI
572 help
573 This enables build of a clocksource and clockevent driver for
574 the 48-bit System Timer (STI) hardware available on a SoCs
575 such as EMEV2 from former NEC Electronics.
576
577config CLKSRC_QCOM
578 bool "Qualcomm MSM timer" if COMPILE_TEST
579 depends on ARM
580 select TIMER_OF
581 help
582 This enables the clocksource and the per CPU clockevent driver for the
583 Qualcomm SoCs.
584
585config CLKSRC_VERSATILE
586 bool "ARM Versatile (Express) reference platforms clock source" if COMPILE_TEST
587 depends on GENERIC_SCHED_CLOCK
588 select TIMER_OF
589 default y if (ARCH_VEXPRESS || ARCH_VERSATILE) && ARM
590 help
591 This option enables clock source based on free running
592 counter available in the "System Registers" block of
593 ARM Versatile and Versatile Express reference platforms.
594
595config CLKSRC_MIPS_GIC
596 bool
597 depends on MIPS_GIC
598 select CLOCKSOURCE_WATCHDOG
599 select TIMER_OF
600
601config CLKSRC_PXA
602 bool "Clocksource for PXA or SA-11x0 platform" if COMPILE_TEST
603 depends on HAS_IOMEM
604 select CLKSRC_MMIO
605 help
606 This enables OST0 support available on PXA and SA-11x0
607 platforms.
608
609config CLKSRC_IMX_GPT
610 bool "Clocksource using i.MX GPT" if COMPILE_TEST
611 depends on (ARM || ARM64) && HAVE_CLK
612 select CLKSRC_MMIO
613
614config CLKSRC_IMX_TPM
615 bool "Clocksource using i.MX TPM" if COMPILE_TEST
616 depends on (ARM || ARM64) && HAVE_CLK
617 select CLKSRC_MMIO
618 select TIMER_OF
619 help
620 Enable this option to use IMX Timer/PWM Module (TPM) timer as
621 clocksource.
622
623config TIMER_IMX_SYS_CTR
624 bool "i.MX system counter timer" if COMPILE_TEST
625 select TIMER_OF
626 help
627 Enable this option to use i.MX system counter timer as a
628 clockevent.
629
630config CLKSRC_LOONGSON1_PWM
631 bool "Clocksource using Loongson1 PWM"
632 depends on MACH_LOONGSON32 || COMPILE_TEST
633 select MIPS_EXTERNAL_TIMER
634 select TIMER_OF
635 help
636 Enable this option to use Loongson1 PWM timer as clocksource
637 instead of the performance counter.
638
639config CLKSRC_ST_LPC
640 bool "Low power clocksource found in the LPC" if COMPILE_TEST
641 select TIMER_OF if OF
642 depends on HAS_IOMEM
643 select CLKSRC_MMIO
644 help
645 Enable this option to use the Low Power controller timer
646 as clocksource.
647
648config GXP_TIMER
649 bool "GXP timer driver" if COMPILE_TEST && !ARCH_HPE
650 default ARCH_HPE
651 select TIMER_OF if OF
652 help
653 Provides a driver for the timer control found on HPE
654 GXP SOCs. This is required for all GXP SOCs.
655
656config RISCV_TIMER
657 bool "Timer for the RISC-V platform" if COMPILE_TEST
658 depends on GENERIC_SCHED_CLOCK && RISCV && RISCV_SBI
659 select TIMER_PROBE
660 select TIMER_OF
661 help
662 This enables the per-hart timer built into all RISC-V systems, which
663 is accessed via both the SBI and the rdcycle instruction. This is
664 required for all RISC-V systems.
665
666config CLINT_TIMER
667 bool "CLINT Timer for the RISC-V platform" if COMPILE_TEST
668 depends on GENERIC_SCHED_CLOCK && RISCV
669 select TIMER_PROBE
670 select TIMER_OF
671 help
672 This option enables the CLINT timer for RISC-V systems. The CLINT
673 driver is usually used for NoMMU RISC-V systems.
674
675config CSKY_MP_TIMER
676 bool "SMP Timer for the C-SKY platform" if COMPILE_TEST
677 depends on CSKY
678 select TIMER_OF
679 help
680 Say yes here to enable C-SKY SMP timer driver used for C-SKY SMP
681 system.
682 csky,mptimer is not only used in SMP system, it also could be used in
683 single core system. It's not a mmio reg and it uses mtcr/mfcr instruction.
684
685config GX6605S_TIMER
686 bool "Gx6605s SOC system timer driver" if COMPILE_TEST
687 depends on CSKY
688 select CLKSRC_MMIO
689 select TIMER_OF
690 help
691 This option enables support for gx6605s SOC's timer.
692
693config MILBEAUT_TIMER
694 bool "Milbeaut timer driver" if COMPILE_TEST
695 depends on OF
696 depends on ARM
697 select TIMER_OF
698 select CLKSRC_MMIO
699 help
700 Enables the support for Milbeaut timer driver.
701
702config MSC313E_TIMER
703 bool "MSC313E timer driver" if COMPILE_TEST
704 select TIMER_OF
705 select CLKSRC_MMIO
706 help
707 Enables support for the MStar MSC313E timer driver.
708 This provides access to multiple interrupt generating
709 programmable 32-bit free running incrementing counters.
710
711config INGENIC_TIMER
712 bool "Clocksource/timer using the TCU in Ingenic JZ SoCs"
713 default MACH_INGENIC
714 depends on MIPS || COMPILE_TEST
715 depends on COMMON_CLK
716 select MFD_SYSCON
717 select TIMER_OF
718 select IRQ_DOMAIN
719 help
720 Support for the timer/counter unit of the Ingenic JZ SoCs.
721
722config INGENIC_SYSOST
723 bool "Clocksource/timer using the SYSOST in Ingenic X SoCs"
724 depends on MIPS || COMPILE_TEST
725 depends on COMMON_CLK
726 select MFD_SYSCON
727 select TIMER_OF
728 select IRQ_DOMAIN
729 help
730 Support for the SYSOST of the Ingenic X Series SoCs.
731
732config INGENIC_OST
733 bool "Clocksource using the OST in Ingenic JZ SoCs"
734 depends on MIPS || COMPILE_TEST
735 depends on COMMON_CLK
736 select MFD_SYSCON
737 help
738 Support for the Operating System Timer of the Ingenic JZ SoCs.
739
740config MICROCHIP_PIT64B
741 bool "Microchip PIT64B support"
742 depends on OF && ARM
743 select TIMER_OF
744 help
745 This option enables Microchip PIT64B timer for Atmel
746 based system. It supports the oneshot, the periodic
747 modes and high resolution. It is used as a clocksource
748 and a clockevent.
749
750config GOLDFISH_TIMER
751 bool "Clocksource using goldfish-rtc"
752 depends on M68K || COMPILE_TEST
753 depends on RTC_DRV_GOLDFISH
754 help
755 Support for the timer/counter of goldfish-rtc
756
757config EP93XX_TIMER
758 bool "Cirrus Logic ep93xx timer driver" if COMPILE_TEST
759 depends on ARCH_EP93XX
760 depends on GENERIC_CLOCKEVENTS
761 depends on HAS_IOMEM
762 select CLKSRC_MMIO
763 select TIMER_OF
764 help
765 Enables support for the Cirrus Logic timer block
766 EP93XX.
767
768config RALINK_TIMER
769 bool "Ralink System Tick Counter"
770 depends on SOC_RT305X || SOC_MT7620 || COMPILE_TEST
771 select CLKSRC_MMIO
772 select TIMER_OF
773 help
774 Enables support for system tick counter present on
775 Ralink SoCs RT3352 and MT7620.
776
777config NXP_STM_TIMER
778 bool "NXP System Timer Module driver"
779 depends on ARCH_S32 || COMPILE_TEST
780 select CLKSRC_MMIO
781 help
782 Enables the support for NXP System Timer Module found in the
783 s32g NXP platform series.
784
785config RTK_SYSTIMER
786 bool "Realtek SYSTIMER support"
787 depends on ARM || ARM64
788 depends on ARCH_REALTEK || COMPILE_TEST
789 select TIMER_OF
790 help
791 This option enables the driver that registers the global 1 MHz hardware
792 counter as a clock event device on Realtek SoCs. Make sure to enable
793 this option only when building for a Realtek platform or for compilation
794 testing.
795
796endmenu