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