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