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 depends on OF
258 select CLKSRC_MMIO
259 help
260 Enables support for the Integrator-AP timer.
261
262config CLKSRC_LPC32XX
263 bool "Clocksource for LPC32XX" if COMPILE_TEST
264 depends on HAS_IOMEM
265 depends on ARM
266 select CLKSRC_MMIO
267 select TIMER_OF
268 help
269 Support for the LPC32XX clocksource.
270
271config CLKSRC_PISTACHIO
272 bool "Clocksource for Pistachio SoC"
273 depends on HAS_IOMEM
274 depends on MIPS || COMPILE_TEST
275 select TIMER_OF
276 help
277 Enables the clocksource for the Pistachio SoC.
278
279config CLKSRC_TI_32K
280 bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST
281 depends on GENERIC_SCHED_CLOCK
282 select TIMER_OF if OF
283 help
284 This option enables support for Texas Instruments 32.768 Hz clocksource
285 available on many OMAP-like platforms.
286
287config CLKSRC_STM32
288 bool "Clocksource for STM32 SoCs" if !ARCH_STM32
289 depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST)
290 select CLKSRC_MMIO
291 select TIMER_OF
292
293config CLKSRC_STM32_LP
294 bool "Low power clocksource for STM32 SoCs"
295 depends on MFD_STM32_LPTIMER || COMPILE_TEST
296
297config CLKSRC_MPS2
298 bool "Clocksource for MPS2 SoCs" if COMPILE_TEST
299 depends on GENERIC_SCHED_CLOCK
300 select CLKSRC_MMIO
301 select TIMER_OF
302
303config ARC_TIMERS
304 bool "Support for 32-bit TIMERn counters in ARC Cores" if COMPILE_TEST
305 depends on GENERIC_SCHED_CLOCK
306 select TIMER_OF
307 help
308 These are legacy 32-bit TIMER0 and TIMER1 counters found on all ARC cores
309 (ARC700 as well as ARC HS38).
310 TIMER0 serves as clockevent while TIMER1 provides clocksource.
311
312config ARC_TIMERS_64BIT
313 bool "Support for 64-bit counters in ARC HS38 cores" if COMPILE_TEST
314 depends on ARC_TIMERS
315 select TIMER_OF
316 help
317 This enables 2 different 64-bit timers: RTC (for UP) and GFRC (for SMP).
318 RTC is implemented inside the core, while GFRC sits outside the core in
319 ARConnect IP block. Driver automatically picks one of them for clocksource
320 as appropriate.
321
322config ARM_ARCH_TIMER
323 bool
324 select TIMER_OF if OF
325 select TIMER_ACPI if ACPI
326
327config ARM_ARCH_TIMER_EVTSTREAM
328 bool "Enable ARM architected timer event stream generation by default"
329 default y if ARM_ARCH_TIMER
330 depends on ARM_ARCH_TIMER
331 help
332 This option enables support by default for event stream generation
333 based on the ARM architected timer. It is used for waking up CPUs
334 executing the wfe instruction at a frequency represented as a
335 power-of-2 divisor of the clock rate. The behaviour can also be
336 overridden on the command line using the
337 clocksource.arm_arch_timer.evtstream parameter.
338 The main use of the event stream is wfe-based timeouts of userspace
339 locking implementations. It might also be useful for imposing timeout
340 on wfe to safeguard against any programming errors in case an expected
341 event is not generated.
342 This must be disabled for hardware validation purposes to detect any
343 hardware anomalies of missing events.
344
345config ARM_ARCH_TIMER_OOL_WORKAROUND
346 bool
347
348config FSL_ERRATUM_A008585
349 bool "Workaround for Freescale/NXP Erratum A-008585"
350 default y
351 depends on ARM_ARCH_TIMER && ARM64
352 select ARM_ARCH_TIMER_OOL_WORKAROUND
353 help
354 This option enables a workaround for Freescale/NXP Erratum
355 A-008585 ("ARM generic timer may contain an erroneous
356 value"). The workaround will only be active if the
357 fsl,erratum-a008585 property is found in the timer node.
358
359config HISILICON_ERRATUM_161010101
360 bool "Workaround for Hisilicon Erratum 161010101"
361 default y
362 select ARM_ARCH_TIMER_OOL_WORKAROUND
363 depends on ARM_ARCH_TIMER && ARM64
364 help
365 This option enables a workaround for Hisilicon Erratum
366 161010101. The workaround will be active if the hisilicon,erratum-161010101
367 property is found in the timer node.
368
369config ARM64_ERRATUM_858921
370 bool "Workaround for Cortex-A73 erratum 858921"
371 default y
372 select ARM_ARCH_TIMER_OOL_WORKAROUND
373 depends on ARM_ARCH_TIMER && ARM64
374 help
375 This option enables a workaround applicable to Cortex-A73
376 (all versions), whose counter may return incorrect values.
377 The workaround will be dynamically enabled when an affected
378 core is detected.
379
380config SUN50I_ERRATUM_UNKNOWN1
381 bool "Workaround for Allwinner A64 erratum UNKNOWN1"
382 default y
383 depends on ARM_ARCH_TIMER && ARM64 && ARCH_SUNXI
384 select ARM_ARCH_TIMER_OOL_WORKAROUND
385 help
386 This option enables a workaround for instability in the timer on
387 the Allwinner A64 SoC. The workaround will only be active if the
388 allwinner,erratum-unknown1 property is found in the timer node.
389
390config ARM_GLOBAL_TIMER
391 bool "Support for the ARM global timer" if COMPILE_TEST
392 select TIMER_OF if OF
393 depends on ARM
394 help
395 This option enables support for the ARM global timer unit.
396
397config ARM_GT_INITIAL_PRESCALER_VAL
398 int "ARM global timer initial prescaler value"
399 default 0
400 depends on ARM_GLOBAL_TIMER
401 help
402 When the ARM global timer initializes, its current rate is declared
403 to the kernel and maintained forever. Should its parent clock
404 change, the driver tries to fix the timer's internal prescaler.
405 On some machs (i.e. Zynq) the initial prescaler value thus poses
406 bounds about how much the parent clock is allowed to decrease or
407 increase wrt the initial clock value.
408 This affects CPU_FREQ max delta from the initial frequency.
409 Use 0 to use auto-detection in the driver.
410
411config ARM_TIMER_SP804
412 bool "Support for Dual Timer SP804 module"
413 depends on ARM || ARM64 || COMPILE_TEST
414 depends on GENERIC_SCHED_CLOCK && HAVE_CLK
415 select CLKSRC_MMIO
416 select TIMER_OF if OF
417
418config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
419 bool
420 depends on ARM_GLOBAL_TIMER
421 default y
422 help
423 Use ARM global timer clock source as sched_clock.
424
425config ARMV7M_SYSTICK
426 bool "Support for the ARMv7M system time" if COMPILE_TEST
427 select TIMER_OF if OF
428 select CLKSRC_MMIO
429 help
430 This option enables support for the ARMv7M system timer unit.
431
432config ATMEL_PIT
433 bool "Atmel PIT support" if COMPILE_TEST
434 depends on HAS_IOMEM
435 select TIMER_OF if OF
436 help
437 Support for the Periodic Interval Timer found on Atmel SoCs.
438
439config ATMEL_ST
440 bool "Atmel ST timer support" if COMPILE_TEST
441 depends on HAS_IOMEM
442 select TIMER_OF
443 select MFD_SYSCON
444 help
445 Support for the Atmel ST timer.
446
447config ATMEL_TCB_CLKSRC
448 bool "Atmel TC Block timer driver" if COMPILE_TEST
449 depends on ARM && OF && HAS_IOMEM
450 select TIMER_OF
451 help
452 Support for Timer Counter Blocks on Atmel SoCs.
453
454config CLKSRC_EXYNOS_MCT
455 bool "Exynos multi core timer driver" if COMPILE_TEST
456 depends on ARM || ARM64
457 depends on ARCH_ARTPEC || ARCH_EXYNOS || COMPILE_TEST
458 help
459 Support for Multi Core Timer controller on Exynos SoCs.
460
461config CLKSRC_SAMSUNG_PWM
462 bool "PWM timer driver for Samsung S3C, S5P" if COMPILE_TEST
463 depends on HAS_IOMEM
464 depends on ARCH_EXYNOS || ARCH_S3C64XX || ARCH_S5PV210 || COMPILE_TEST
465 help
466 This is a new clocksource driver for the PWM timer found in
467 Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
468 for all devicetree enabled platforms. This driver will be
469 needed only on systems that do not have the Exynos MCT available.
470
471config FSL_FTM_TIMER
472 bool "Freescale FlexTimer Module driver" if COMPILE_TEST
473 depends on HAS_IOMEM
474 select CLKSRC_MMIO
475 help
476 Support for Freescale FlexTimer Module (FTM) timer.
477
478config NXP_PIT_TIMER
479 bool "NXP Periodic Interrupt Timer" if COMPILE_TEST
480 select CLKSRC_MMIO
481 help
482 Support for Periodic Interrupt Timer on Freescale / NXP
483 SoCs. This periodic timer is found on the Vybrid Family and
484 the Automotive S32G2/3 platforms. It contains 4 channels
485 where two can be coupled to form a 64 bits channel.
486
487config SYS_SUPPORTS_SH_CMT
488 bool
489
490config MTK_TIMER
491 bool "Mediatek timer driver" if COMPILE_TEST
492 depends on HAS_IOMEM
493 select TIMER_OF
494 select CLKSRC_MMIO
495 help
496 Support for Mediatek timer driver.
497
498config MTK_CPUX_TIMER
499 bool "MediaTek CPUX timer driver" if COMPILE_TEST
500 depends on HAS_IOMEM
501 default ARCH_MEDIATEK
502 select TIMER_OF
503 select CLKSRC_MMIO
504 help
505 Support for MediaTek CPUXGPT timer driver.
506
507config SPRD_TIMER
508 bool "Spreadtrum timer driver" if EXPERT
509 depends on HAS_IOMEM
510 depends on (ARCH_SPRD || COMPILE_TEST)
511 default ARCH_SPRD
512 select TIMER_OF
513 help
514 Enables support for the Spreadtrum timer driver.
515
516config SYS_SUPPORTS_SH_MTU2
517 bool
518
519config SYS_SUPPORTS_SH_TMU
520 bool
521
522config SYS_SUPPORTS_EM_STI
523 bool
524
525config CLKSRC_JCORE_PIT
526 bool "J-Core PIT timer driver" if COMPILE_TEST
527 depends on OF
528 depends on HAS_IOMEM
529 select CLKSRC_MMIO
530 help
531 This enables build of clocksource and clockevent driver for
532 the integrated PIT in the J-Core synthesizable, open source SoC.
533
534config SH_TIMER_CMT
535 bool "Renesas CMT timer driver" if COMPILE_TEST
536 depends on HAS_IOMEM
537 default SYS_SUPPORTS_SH_CMT
538 help
539 This enables build of a clocksource and clockevent driver for
540 the Compare Match Timer (CMT) hardware available in 16/32/48-bit
541 variants on a wide range of Mobile and Automotive SoCs from Renesas.
542
543config SH_TIMER_MTU2
544 bool "Renesas MTU2 timer driver" if COMPILE_TEST
545 depends on HAS_IOMEM
546 default SYS_SUPPORTS_SH_MTU2
547 help
548 This enables build of a clockevent driver for the Multi-Function
549 Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
550 This hardware comes with 16-bit timer registers.
551
552config RENESAS_OSTM
553 bool "Renesas OSTM timer driver"
554 depends on ARCH_RENESAS || COMPILE_TEST
555 select CLKSRC_MMIO
556 select TIMER_OF
557 help
558 Enables the support for the Renesas OSTM.
559
560config SH_TIMER_TMU
561 bool "Renesas TMU timer driver" if COMPILE_TEST
562 depends on HAS_IOMEM
563 default SYS_SUPPORTS_SH_TMU
564 help
565 This enables build of a clocksource and clockevent driver for
566 the 32-bit Timer Unit (TMU) hardware available on a wide range
567 SoCs from Renesas.
568
569config EM_TIMER_STI
570 bool "Renesas STI timer driver" if COMPILE_TEST
571 depends on HAS_IOMEM
572 default SYS_SUPPORTS_EM_STI
573 help
574 This enables build of a clocksource and clockevent driver for
575 the 48-bit System Timer (STI) hardware available on a SoCs
576 such as EMEV2 from former NEC Electronics.
577
578config CLKSRC_QCOM
579 bool "Qualcomm MSM timer" if COMPILE_TEST
580 depends on ARM
581 select TIMER_OF
582 help
583 This enables the clocksource and the per CPU clockevent driver for the
584 Qualcomm SoCs.
585
586config CLKSRC_VERSATILE
587 bool "ARM Versatile (Express) reference platforms clock source" if COMPILE_TEST
588 depends on GENERIC_SCHED_CLOCK
589 select TIMER_OF
590 default y if (ARCH_VEXPRESS || ARCH_VERSATILE) && ARM
591 help
592 This option enables clock source based on free running
593 counter available in the "System Registers" block of
594 ARM Versatile and Versatile Express reference platforms.
595
596config CLKSRC_MIPS_GIC
597 bool
598 depends on MIPS_GIC
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