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