Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[sfrench/cifs-2.6.git] / drivers / clocksource / Kconfig
1 menu "Clock Source drivers"
2         depends on GENERIC_CLOCKEVENTS
3
4 config TIMER_OF
5         bool
6         select TIMER_PROBE
7
8 config TIMER_ACPI
9         bool
10         select TIMER_PROBE
11
12 config TIMER_PROBE
13         bool
14
15 config CLKSRC_I8253
16         bool
17
18 config CLKEVT_I8253
19         bool
20
21 config I8253_LOCK
22         bool
23
24 config OMAP_DM_TIMER
25         bool
26
27 config CLKBLD_I8253
28         def_bool y if CLKSRC_I8253 || CLKEVT_I8253 || I8253_LOCK
29
30 config CLKSRC_MMIO
31         bool
32
33 config BCM2835_TIMER
34         bool "BCM2835 timer driver" if COMPILE_TEST
35         select CLKSRC_MMIO
36         help
37           Enables the support for the BCM2835 timer driver.
38
39 config BCM_KONA_TIMER
40         bool "BCM mobile timer driver" if COMPILE_TEST
41         select CLKSRC_MMIO
42         help
43           Enables the support for the BCM Kona mobile timer driver.
44
45 config DIGICOLOR_TIMER
46         bool "Digicolor timer driver" if COMPILE_TEST
47         select CLKSRC_MMIO
48         depends on HAS_IOMEM
49         help
50           Enables the support for the digicolor timer driver.
51
52 config DW_APB_TIMER
53         bool "DW APB timer driver" if COMPILE_TEST
54         help
55           Enables the support for the dw_apb timer.
56
57 config DW_APB_TIMER_OF
58         bool
59         select DW_APB_TIMER
60         select TIMER_OF
61
62 config FTTMR010_TIMER
63         bool "Faraday Technology timer driver" if COMPILE_TEST
64         depends on HAS_IOMEM
65         select CLKSRC_MMIO
66         select TIMER_OF
67         select MFD_SYSCON
68         help
69           Enables support for the Faraday Technology timer block
70           FTTMR010.
71
72 config ROCKCHIP_TIMER
73         bool "Rockchip timer driver" if COMPILE_TEST
74         depends on ARM || ARM64
75         select TIMER_OF
76         select CLKSRC_MMIO
77         help
78           Enables the support for the rockchip timer driver.
79
80 config ARMADA_370_XP_TIMER
81         bool "Armada 370 and XP timer driver" if COMPILE_TEST
82         depends on ARM
83         select TIMER_OF
84         select CLKSRC_MMIO
85         help
86           Enables the support for the Armada 370 and XP timer driver.
87
88 config MESON6_TIMER
89         bool "Meson6 timer driver" if COMPILE_TEST
90         select CLKSRC_MMIO
91         help
92           Enables the support for the Meson6 timer driver.
93
94 config ORION_TIMER
95         bool "Orion timer driver" if COMPILE_TEST
96         depends on ARM
97         select TIMER_OF
98         select CLKSRC_MMIO
99         help
100           Enables the support for the Orion timer driver
101
102 config OWL_TIMER
103         bool "Owl timer driver" if COMPILE_TEST
104         select CLKSRC_MMIO
105         help
106           Enables the support for the Actions Semi Owl timer driver.
107
108 config RDA_TIMER
109         bool "RDA timer driver" if COMPILE_TEST
110         depends on GENERIC_CLOCKEVENTS
111         select CLKSRC_MMIO
112         select TIMER_OF
113         help
114           Enables the support for the RDA Micro timer driver.
115
116 config SUN4I_TIMER
117         bool "Sun4i timer driver" if COMPILE_TEST
118         depends on HAS_IOMEM
119         select CLKSRC_MMIO
120         select TIMER_OF
121         help
122           Enables support for the Sun4i timer.
123
124 config SUN5I_HSTIMER
125         bool "Sun5i timer driver" if COMPILE_TEST
126         select CLKSRC_MMIO
127         depends on COMMON_CLK
128         help
129           Enables support the Sun5i timer.
130
131 config TEGRA_TIMER
132         bool "Tegra timer driver" if COMPILE_TEST
133         select CLKSRC_MMIO
134         select TIMER_OF
135         depends on ARM || ARM64
136         help
137           Enables support for the Tegra driver.
138
139 config VT8500_TIMER
140         bool "VT8500 timer driver" if COMPILE_TEST
141         depends on HAS_IOMEM
142         help
143           Enables support for the VT8500 driver.
144
145 config NPCM7XX_TIMER
146         bool "NPCM7xx timer driver" if COMPILE_TEST
147         depends on HAS_IOMEM
148         select TIMER_OF
149         select CLKSRC_MMIO
150         help
151           Enable 24-bit TIMER0 and TIMER1 counters in the NPCM7xx architecture,
152           While TIMER0 serves as clockevent and TIMER1 serves as clocksource.
153
154 config CADENCE_TTC_TIMER
155         bool "Cadence TTC timer driver" if COMPILE_TEST
156         depends on COMMON_CLK
157         help
158           Enables support for the cadence ttc driver.
159
160 config ASM9260_TIMER
161         bool "ASM9260 timer driver" if COMPILE_TEST
162         select CLKSRC_MMIO
163         select TIMER_OF
164         help
165           Enables support for the ASM9260 timer.
166
167 config CLKSRC_NOMADIK_MTU
168         bool "Nomakdik clocksource driver" if COMPILE_TEST
169         depends on ARM
170         select CLKSRC_MMIO
171         help
172           Support for Multi Timer Unit. MTU provides access
173           to multiple interrupt generating programmable
174           32-bit free running decrementing counters.
175
176 config CLKSRC_DBX500_PRCMU
177         bool "Clocksource PRCMU Timer" if COMPILE_TEST
178         depends on HAS_IOMEM
179         help
180           Use the always on PRCMU Timer as clocksource
181
182 config CLPS711X_TIMER
183         bool "Cirrus logic timer driver" if COMPILE_TEST
184         select CLKSRC_MMIO
185         help
186           Enables support for the Cirrus Logic PS711 timer.
187
188 config ATLAS7_TIMER
189         bool "Atlas7 timer driver" if COMPILE_TEST
190         select CLKSRC_MMIO
191         help
192           Enables support for the Atlas7 timer.
193
194 config MXS_TIMER
195         bool "Mxs timer driver" if COMPILE_TEST
196         select CLKSRC_MMIO
197         select STMP_DEVICE
198         help
199           Enables support for the Mxs timer.
200
201 config PRIMA2_TIMER
202         bool "Prima2 timer driver" if COMPILE_TEST
203         select CLKSRC_MMIO
204         help
205           Enables support for the Prima2 timer.
206
207 config U300_TIMER
208         bool "U300 timer driver" if COMPILE_TEST
209         depends on ARM
210         select CLKSRC_MMIO
211         help
212           Enables support for the U300 timer.
213
214 config NSPIRE_TIMER
215         bool "NSpire timer driver" if COMPILE_TEST
216         select CLKSRC_MMIO
217         help
218           Enables support for the Nspire timer.
219
220 config KEYSTONE_TIMER
221         bool "Keystone timer driver" if COMPILE_TEST
222         depends on ARM || ARM64
223         select CLKSRC_MMIO
224         help
225           Enables support for the Keystone timer.
226
227 config INTEGRATOR_AP_TIMER
228         bool "Integrator-ap timer driver" if COMPILE_TEST
229         select CLKSRC_MMIO
230         help
231           Enables support for the Integrator-ap timer.
232
233 config CLKSRC_EFM32
234         bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32
235         depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST)
236         select CLKSRC_MMIO
237         default ARCH_EFM32
238         help
239           Support to use the timers of EFM32 SoCs as clock source and clock
240           event device.
241
242 config 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
251 config CLKSRC_PISTACHIO
252         bool "Clocksource for Pistachio SoC" if COMPILE_TEST
253         depends on HAS_IOMEM
254         select TIMER_OF
255         help
256           Enables the clocksource for the Pistachio SoC.
257
258 config CLKSRC_TI_32K
259         bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST
260         depends on GENERIC_SCHED_CLOCK
261         select TIMER_OF if OF
262         help
263           This option enables support for Texas Instruments 32.768 Hz clocksource
264           available on many OMAP-like platforms.
265
266 config CLKSRC_NPS
267         bool "NPS400 clocksource driver" if COMPILE_TEST
268         depends on !PHYS_ADDR_T_64BIT
269         select CLKSRC_MMIO
270         select TIMER_OF if OF
271         help
272           NPS400 clocksource support.
273           Got 64 bit counter with update rate up to 1000MHz.
274           This counter is accessed via couple of 32 bit memory mapped registers.
275
276 config CLKSRC_STM32
277         bool "Clocksource for STM32 SoCs" if !ARCH_STM32
278         depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST)
279         select CLKSRC_MMIO
280         select TIMER_OF
281
282 config CLKSRC_MPS2
283         bool "Clocksource for MPS2 SoCs" if COMPILE_TEST
284         depends on GENERIC_SCHED_CLOCK
285         select CLKSRC_MMIO
286         select TIMER_OF
287
288 config ARC_TIMERS
289         bool "Support for 32-bit TIMERn counters in ARC Cores" if COMPILE_TEST
290         depends on GENERIC_SCHED_CLOCK
291         select TIMER_OF
292         help
293           These are legacy 32-bit TIMER0 and TIMER1 counters found on all ARC cores
294           (ARC700 as well as ARC HS38).
295           TIMER0 serves as clockevent while TIMER1 provides clocksource
296
297 config ARC_TIMERS_64BIT
298         bool "Support for 64-bit counters in ARC HS38 cores" if COMPILE_TEST
299         depends on ARC_TIMERS
300         select TIMER_OF
301         help
302           This enables 2 different 64-bit timers: RTC (for UP) and GFRC (for SMP)
303           RTC is implemented inside the core, while GFRC sits outside the core in
304           ARConnect IP block. Driver automatically picks one of them for clocksource
305           as appropriate.
306
307 config ARM_ARCH_TIMER
308         bool
309         select TIMER_OF if OF
310         select TIMER_ACPI if ACPI
311
312 config ARM_ARCH_TIMER_EVTSTREAM
313         bool "Enable ARM architected timer event stream generation by default"
314         default y if ARM_ARCH_TIMER
315         depends on ARM_ARCH_TIMER
316         help
317           This option enables support by default for event stream generation
318           based on the ARM architected timer. It is used for waking up CPUs
319           executing the wfe instruction at a frequency represented as a
320           power-of-2 divisor of the clock rate. The behaviour can also be
321           overridden on the command line using the
322           clocksource.arm_arch_timer.evtstream parameter.
323           The main use of the event stream is wfe-based timeouts of userspace
324           locking implementations. It might also be useful for imposing timeout
325           on wfe to safeguard against any programming errors in case an expected
326           event is not generated.
327           This must be disabled for hardware validation purposes to detect any
328           hardware anomalies of missing events.
329
330 config ARM_ARCH_TIMER_OOL_WORKAROUND
331         bool
332
333 config FSL_ERRATUM_A008585
334         bool "Workaround for Freescale/NXP Erratum A-008585"
335         default y
336         depends on ARM_ARCH_TIMER && ARM64
337         select ARM_ARCH_TIMER_OOL_WORKAROUND
338         help
339           This option enables a workaround for Freescale/NXP Erratum
340           A-008585 ("ARM generic timer may contain an erroneous
341           value").  The workaround will only be active if the
342           fsl,erratum-a008585 property is found in the timer node.
343
344 config HISILICON_ERRATUM_161010101
345         bool "Workaround for Hisilicon Erratum 161010101"
346         default y
347         select ARM_ARCH_TIMER_OOL_WORKAROUND
348         depends on ARM_ARCH_TIMER && ARM64
349         help
350           This option enables a workaround for Hisilicon Erratum
351           161010101. The workaround will be active if the hisilicon,erratum-161010101
352           property is found in the timer node.
353
354 config ARM64_ERRATUM_858921
355         bool "Workaround for Cortex-A73 erratum 858921"
356         default y
357         select ARM_ARCH_TIMER_OOL_WORKAROUND
358         depends on ARM_ARCH_TIMER && ARM64
359         help
360           This option enables a workaround applicable to Cortex-A73
361           (all versions), whose counter may return incorrect values.
362           The workaround will be dynamically enabled when an affected
363           core is detected.
364
365 config SUN50I_ERRATUM_UNKNOWN1
366         bool "Workaround for Allwinner A64 erratum UNKNOWN1"
367         default y
368         depends on ARM_ARCH_TIMER && ARM64 && ARCH_SUNXI
369         select ARM_ARCH_TIMER_OOL_WORKAROUND
370         help
371           This option enables a workaround for instability in the timer on
372           the Allwinner A64 SoC. The workaround will only be active if the
373           allwinner,erratum-unknown1 property is found in the timer node.
374
375 config ARM_GLOBAL_TIMER
376         bool "Support for the ARM global timer" if COMPILE_TEST
377         select TIMER_OF if OF
378         depends on ARM
379         help
380           This options enables support for the ARM global timer unit
381
382 config ARM_TIMER_SP804
383         bool "Support for Dual Timer SP804 module"
384         depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP
385         select CLKSRC_MMIO
386         select TIMER_OF if OF
387
388 config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
389         bool
390         depends on ARM_GLOBAL_TIMER
391         default y
392         help
393          Use ARM global timer clock source as sched_clock
394
395 config ARMV7M_SYSTICK
396         bool "Support for the ARMv7M system time" if COMPILE_TEST
397         select TIMER_OF if OF
398         select CLKSRC_MMIO
399         help
400           This options enables support for the ARMv7M system timer unit
401
402 config ATMEL_PIT
403         select TIMER_OF if OF
404         def_bool SOC_AT91SAM9 || SOC_SAMA5
405
406 config ATMEL_ST
407         bool "Atmel ST timer support" if COMPILE_TEST
408         depends on HAS_IOMEM
409         select TIMER_OF
410         select MFD_SYSCON
411         help
412           Support for the Atmel ST timer.
413
414 config CLKSRC_EXYNOS_MCT
415         bool "Exynos multi core timer driver" if COMPILE_TEST
416         depends on ARM || ARM64
417         help
418           Support for Multi Core Timer controller on Exynos SoCs.
419
420 config CLKSRC_SAMSUNG_PWM
421         bool "PWM timer driver for Samsung S3C, S5P" if COMPILE_TEST
422         depends on HAS_IOMEM
423         help
424           This is a new clocksource driver for the PWM timer found in
425           Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
426           for all devicetree enabled platforms. This driver will be
427           needed only on systems that do not have the Exynos MCT available.
428
429 config FSL_FTM_TIMER
430         bool "Freescale FlexTimer Module driver" if COMPILE_TEST
431         depends on HAS_IOMEM
432         select CLKSRC_MMIO
433         help
434           Support for Freescale FlexTimer Module (FTM) timer.
435
436 config VF_PIT_TIMER
437         bool
438         select CLKSRC_MMIO
439         help
440           Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
441
442 config OXNAS_RPS_TIMER
443         bool "Oxford Semiconductor OXNAS RPS Timers driver" if COMPILE_TEST
444         select TIMER_OF
445         select CLKSRC_MMIO
446         help
447           This enables support for the Oxford Semiconductor OXNAS RPS timers.
448
449 config SYS_SUPPORTS_SH_CMT
450         bool
451
452 config MTK_TIMER
453         bool "Mediatek timer driver" if COMPILE_TEST
454         depends on HAS_IOMEM
455         select TIMER_OF
456         select CLKSRC_MMIO
457         help
458           Support for Mediatek timer driver.
459
460 config SPRD_TIMER
461         bool "Spreadtrum timer driver" if EXPERT
462         depends on HAS_IOMEM
463         depends on (ARCH_SPRD || COMPILE_TEST)
464         default ARCH_SPRD
465         select TIMER_OF
466         help
467           Enables support for the Spreadtrum timer driver.
468
469 config SYS_SUPPORTS_SH_MTU2
470         bool
471
472 config SYS_SUPPORTS_SH_TMU
473         bool
474
475 config SYS_SUPPORTS_EM_STI
476         bool
477
478 config CLKSRC_JCORE_PIT
479         bool "J-Core PIT timer driver" if COMPILE_TEST
480         depends on OF
481         depends on HAS_IOMEM
482         select CLKSRC_MMIO
483         help
484           This enables build of clocksource and clockevent driver for
485           the integrated PIT in the J-Core synthesizable, open source SoC.
486
487 config SH_TIMER_CMT
488         bool "Renesas CMT timer driver" if COMPILE_TEST
489         depends on HAS_IOMEM
490         default SYS_SUPPORTS_SH_CMT
491         help
492           This enables build of a clocksource and clockevent driver for
493           the Compare Match Timer (CMT) hardware available in 16/32/48-bit
494           variants on a wide range of Mobile and Automotive SoCs from Renesas.
495
496 config SH_TIMER_MTU2
497         bool "Renesas MTU2 timer driver" if COMPILE_TEST
498         depends on HAS_IOMEM
499         default SYS_SUPPORTS_SH_MTU2
500         help
501           This enables build of a clockevent driver for the Multi-Function
502           Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
503           This hardware comes with 16 bit-timer registers.
504
505 config RENESAS_OSTM
506         bool "Renesas OSTM timer driver" if COMPILE_TEST
507         select CLKSRC_MMIO
508         help
509           Enables the support for the Renesas OSTM.
510
511 config SH_TIMER_TMU
512         bool "Renesas TMU timer driver" if COMPILE_TEST
513         depends on HAS_IOMEM
514         default SYS_SUPPORTS_SH_TMU
515         help
516           This enables build of a clocksource and clockevent driver for
517           the 32-bit Timer Unit (TMU) hardware available on a wide range
518           SoCs from Renesas.
519
520 config EM_TIMER_STI
521         bool "Renesas STI timer driver" if COMPILE_TEST
522         depends on HAS_IOMEM
523         default SYS_SUPPORTS_EM_STI
524         help
525           This enables build of a clocksource and clockevent driver for
526           the 48-bit System Timer (STI) hardware available on a SoCs
527           such as EMEV2 from former NEC Electronics.
528
529 config CLKSRC_QCOM
530         bool "Qualcomm MSM timer" if COMPILE_TEST
531         depends on ARM
532         select TIMER_OF
533         help
534           This enables the clocksource and the per CPU clockevent driver for the
535           Qualcomm SoCs.
536
537 config CLKSRC_VERSATILE
538         bool "ARM Versatile (Express) reference platforms clock source" if COMPILE_TEST
539         depends on GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET
540         select TIMER_OF
541         default y if MFD_VEXPRESS_SYSREG
542         help
543           This option enables clock source based on free running
544           counter available in the "System Registers" block of
545           ARM Versatile, RealView and Versatile Express reference
546           platforms.
547
548 config CLKSRC_MIPS_GIC
549         bool
550         depends on MIPS_GIC
551         select TIMER_OF
552
553 config CLKSRC_TANGO_XTAL
554         bool "Clocksource for Tango SoC" if COMPILE_TEST
555         depends on ARM
556         select TIMER_OF
557         select CLKSRC_MMIO
558         help
559           This enables the clocksource for Tango SoC
560
561 config CLKSRC_PXA
562         bool "Clocksource for PXA or SA-11x0 platform" if COMPILE_TEST
563         depends on HAS_IOMEM
564         select CLKSRC_MMIO
565         help
566           This enables OST0 support available on PXA and SA-11x0
567           platforms.
568
569 config H8300_TMR8
570         bool "Clockevent timer for the H8300 platform" if COMPILE_TEST
571         depends on HAS_IOMEM
572         help
573           This enables the 8 bits timer for the H8300 platform.
574
575 config H8300_TMR16
576         bool "Clockevent timer for the H83069 platform" if COMPILE_TEST
577         depends on HAS_IOMEM
578         help
579           This enables the 16 bits timer for the H8300 platform with the
580           H83069 cpu.
581
582 config H8300_TPU
583         bool "Clocksource for the H8300 platform" if COMPILE_TEST
584         depends on HAS_IOMEM
585         help
586           This enables the clocksource for the H8300 platform with the
587           H8S2678 cpu.
588
589 config CLKSRC_IMX_GPT
590         bool "Clocksource using i.MX GPT" if COMPILE_TEST
591         depends on (ARM || ARM64) && CLKDEV_LOOKUP
592         select CLKSRC_MMIO
593
594 config CLKSRC_IMX_TPM
595         bool "Clocksource using i.MX TPM" if COMPILE_TEST
596         depends on ARM && CLKDEV_LOOKUP
597         select CLKSRC_MMIO
598         help
599           Enable this option to use IMX Timer/PWM Module (TPM) timer as
600           clocksource.
601
602 config CLKSRC_ST_LPC
603         bool "Low power clocksource found in the LPC" if COMPILE_TEST
604         select TIMER_OF if OF
605         depends on HAS_IOMEM
606         select CLKSRC_MMIO
607         help
608           Enable this option to use the Low Power controller timer
609           as clocksource.
610
611 config ATCPIT100_TIMER
612         bool "ATCPIT100 timer driver"
613         depends on NDS32 || COMPILE_TEST
614         depends on HAS_IOMEM
615         select TIMER_OF
616         default NDS32
617         help
618           This option enables support for the Andestech ATCPIT100 timers.
619
620 config RISCV_TIMER
621         bool "Timer for the RISC-V platform"
622         depends on GENERIC_SCHED_CLOCK && RISCV
623         default y
624         select TIMER_PROBE
625         select TIMER_OF
626         help
627           This enables the per-hart timer built into all RISC-V systems, which
628           is accessed via both the SBI and the rdcycle instruction.  This is
629           required for all RISC-V systems.
630
631 config CSKY_MP_TIMER
632         bool "SMP Timer for the C-SKY platform" if COMPILE_TEST
633         depends on CSKY
634         select TIMER_OF
635         help
636           Say yes here to enable C-SKY SMP timer driver used for C-SKY SMP
637           system.
638           csky,mptimer is not only used in SMP system, it also could be used
639           single core system. It's not a mmio reg and it use mtcr/mfcr instruction.
640
641 config GX6605S_TIMER
642         bool "Gx6605s SOC system timer driver" if COMPILE_TEST
643         depends on CSKY
644         select CLKSRC_MMIO
645         select TIMER_OF
646         help
647           This option enables support for gx6605s SOC's timer.
648
649 config MILBEAUT_TIMER
650         bool "Milbeaut timer driver" if COMPILE_TEST
651         depends on OF
652         depends on ARM
653         select TIMER_OF
654         select CLKSRC_MMIO
655         help
656           Enables the support for Milbeaut timer driver.
657
658 endmenu