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