Merge branch 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[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
273 config CLKSRC_MPS2
274         bool "Clocksource for MPS2 SoCs" if COMPILE_TEST
275         depends on GENERIC_SCHED_CLOCK
276         select CLKSRC_MMIO
277         select TIMER_OF
278
279 config ARC_TIMERS
280         bool "Support for 32-bit TIMERn counters in ARC Cores" if COMPILE_TEST
281         select TIMER_OF
282         help
283           These are legacy 32-bit TIMER0 and TIMER1 counters found on all ARC cores
284           (ARC700 as well as ARC HS38).
285           TIMER0 serves as clockevent while TIMER1 provides clocksource
286
287 config ARC_TIMERS_64BIT
288         bool "Support for 64-bit counters in ARC HS38 cores" if COMPILE_TEST
289         depends on ARC_TIMERS
290         select TIMER_OF
291         help
292           This enables 2 different 64-bit timers: RTC (for UP) and GFRC (for SMP)
293           RTC is implemented inside the core, while GFRC sits outside the core in
294           ARConnect IP block. Driver automatically picks one of them for clocksource
295           as appropriate.
296
297 config ARM_ARCH_TIMER
298         bool
299         select TIMER_OF if OF
300         select TIMER_ACPI if ACPI
301
302 config ARM_ARCH_TIMER_EVTSTREAM
303         bool "Enable ARM architected timer event stream generation by default"
304         default y if ARM_ARCH_TIMER
305         depends on ARM_ARCH_TIMER
306         help
307           This option enables support by default for event stream generation
308           based on the ARM architected timer. It is used for waking up CPUs
309           executing the wfe instruction at a frequency represented as a
310           power-of-2 divisor of the clock rate. The behaviour can also be
311           overridden on the command line using the
312           clocksource.arm_arch_timer.evtstream parameter.
313           The main use of the event stream is wfe-based timeouts of userspace
314           locking implementations. It might also be useful for imposing timeout
315           on wfe to safeguard against any programming errors in case an expected
316           event is not generated.
317           This must be disabled for hardware validation purposes to detect any
318           hardware anomalies of missing events.
319
320 config ARM_ARCH_TIMER_OOL_WORKAROUND
321         bool
322
323 config FSL_ERRATUM_A008585
324         bool "Workaround for Freescale/NXP Erratum A-008585"
325         default y
326         depends on ARM_ARCH_TIMER && ARM64
327         select ARM_ARCH_TIMER_OOL_WORKAROUND
328         help
329           This option enables a workaround for Freescale/NXP Erratum
330           A-008585 ("ARM generic timer may contain an erroneous
331           value").  The workaround will only be active if the
332           fsl,erratum-a008585 property is found in the timer node.
333
334 config HISILICON_ERRATUM_161010101
335         bool "Workaround for Hisilicon Erratum 161010101"
336         default y
337         select ARM_ARCH_TIMER_OOL_WORKAROUND
338         depends on ARM_ARCH_TIMER && ARM64
339         help
340           This option enables a workaround for Hisilicon Erratum
341           161010101. The workaround will be active if the hisilicon,erratum-161010101
342           property is found in the timer node.
343
344 config ARM64_ERRATUM_858921
345         bool "Workaround for Cortex-A73 erratum 858921"
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 applicable to Cortex-A73
351           (all versions), whose counter may return incorrect values.
352           The workaround will be dynamically enabled when an affected
353           core is detected.
354
355 config ARM_GLOBAL_TIMER
356         bool "Support for the ARM global timer" if COMPILE_TEST
357         select TIMER_OF if OF
358         depends on ARM
359         help
360           This options enables support for the ARM global timer unit
361
362 config ARM_TIMER_SP804
363         bool "Support for Dual Timer SP804 module"
364         depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP
365         select CLKSRC_MMIO
366         select TIMER_OF if OF
367
368 config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
369         bool
370         depends on ARM_GLOBAL_TIMER
371         default y
372         help
373          Use ARM global timer clock source as sched_clock
374
375 config ARMV7M_SYSTICK
376         bool "Support for the ARMv7M system time" if COMPILE_TEST
377         select TIMER_OF if OF
378         select CLKSRC_MMIO
379         help
380           This options enables support for the ARMv7M system timer unit
381
382 config ATMEL_PIT
383         select TIMER_OF if OF
384         def_bool SOC_AT91SAM9 || SOC_SAMA5
385
386 config ATMEL_ST
387         bool "Atmel ST timer support" if COMPILE_TEST
388         select TIMER_OF
389         select MFD_SYSCON
390         help
391           Support for the Atmel ST timer.
392
393 config CLKSRC_METAG_GENERIC
394         def_bool y if METAG
395         help
396           This option enables support for the Meta per-thread timers.
397
398 config CLKSRC_EXYNOS_MCT
399         bool "Exynos multi core timer driver" if COMPILE_TEST
400         depends on ARM || ARM64
401         help
402           Support for Multi Core Timer controller on Exynos SoCs.
403
404 config CLKSRC_SAMSUNG_PWM
405         bool "PWM timer driver for Samsung S3C, S5P" if COMPILE_TEST
406         depends on HAS_IOMEM
407         help
408           This is a new clocksource driver for the PWM timer found in
409           Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
410           for all devicetree enabled platforms. This driver will be
411           needed only on systems that do not have the Exynos MCT available.
412
413 config FSL_FTM_TIMER
414         bool "Freescale FlexTimer Module driver" if COMPILE_TEST
415         depends on HAS_IOMEM
416         select CLKSRC_MMIO
417         help
418           Support for Freescale FlexTimer Module (FTM) timer.
419
420 config VF_PIT_TIMER
421         bool
422         select CLKSRC_MMIO
423         help
424           Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
425
426 config OXNAS_RPS_TIMER
427         bool "Oxford Semiconductor OXNAS RPS Timers driver" if COMPILE_TEST
428         select TIMER_OF
429         select CLKSRC_MMIO
430         help
431           This enables support for the Oxford Semiconductor OXNAS RPS timers.
432
433 config SYS_SUPPORTS_SH_CMT
434         bool
435
436 config MTK_TIMER
437         bool "Mediatek timer driver" if COMPILE_TEST
438         depends on HAS_IOMEM
439         select TIMER_OF
440         select CLKSRC_MMIO
441         help
442           Support for Mediatek timer driver.
443
444 config SYS_SUPPORTS_SH_MTU2
445         bool
446
447 config SYS_SUPPORTS_SH_TMU
448         bool
449
450 config SYS_SUPPORTS_EM_STI
451         bool
452
453 config CLKSRC_JCORE_PIT
454         bool "J-Core PIT timer driver" if COMPILE_TEST
455         depends on OF
456         depends on HAS_IOMEM
457         select CLKSRC_MMIO
458         help
459           This enables build of clocksource and clockevent driver for
460           the integrated PIT in the J-Core synthesizable, open source SoC.
461
462 config SH_TIMER_CMT
463         bool "Renesas CMT timer driver" if COMPILE_TEST
464         depends on HAS_IOMEM
465         default SYS_SUPPORTS_SH_CMT
466         help
467           This enables build of a clocksource and clockevent driver for
468           the Compare Match Timer (CMT) hardware available in 16/32/48-bit
469           variants on a wide range of Mobile and Automotive SoCs from Renesas.
470
471 config SH_TIMER_MTU2
472         bool "Renesas MTU2 timer driver" if COMPILE_TEST
473         depends on HAS_IOMEM
474         default SYS_SUPPORTS_SH_MTU2
475         help
476           This enables build of a clockevent driver for the Multi-Function
477           Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
478           This hardware comes with 16 bit-timer registers.
479
480 config RENESAS_OSTM
481         bool "Renesas OSTM timer driver" if COMPILE_TEST
482         select CLKSRC_MMIO
483         help
484           Enables the support for the Renesas OSTM.
485
486 config SH_TIMER_TMU
487         bool "Renesas TMU timer driver" if COMPILE_TEST
488         depends on HAS_IOMEM
489         default SYS_SUPPORTS_SH_TMU
490         help
491           This enables build of a clocksource and clockevent driver for
492           the 32-bit Timer Unit (TMU) hardware available on a wide range
493           SoCs from Renesas.
494
495 config EM_TIMER_STI
496         bool "Renesas STI timer driver" if COMPILE_TEST
497         depends on HAS_IOMEM
498         default SYS_SUPPORTS_EM_STI
499         help
500           This enables build of a clocksource and clockevent driver for
501           the 48-bit System Timer (STI) hardware available on a SoCs
502           such as EMEV2 from former NEC Electronics.
503
504 config CLKSRC_QCOM
505         bool "Qualcomm MSM timer" if COMPILE_TEST
506         depends on ARM
507         select TIMER_OF
508         help
509           This enables the clocksource and the per CPU clockevent driver for the
510           Qualcomm SoCs.
511
512 config CLKSRC_VERSATILE
513         bool "ARM Versatile (Express) reference platforms clock source" if COMPILE_TEST
514         depends on GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET
515         select TIMER_OF
516         default y if MFD_VEXPRESS_SYSREG
517         help
518           This option enables clock source based on free running
519           counter available in the "System Registers" block of
520           ARM Versatile, RealView and Versatile Express reference
521           platforms.
522
523 config CLKSRC_MIPS_GIC
524         bool
525         depends on MIPS_GIC
526         select TIMER_OF
527
528 config CLKSRC_TANGO_XTAL
529         bool "Clocksource for Tango SoC" if COMPILE_TEST
530         depends on ARM
531         select TIMER_OF
532         select CLKSRC_MMIO
533         help
534           This enables the clocksource for Tango SoC
535
536 config CLKSRC_PXA
537         bool "Clocksource for PXA or SA-11x0 platform" if COMPILE_TEST
538         depends on HAS_IOMEM
539         select CLKSRC_MMIO
540         help
541           This enables OST0 support available on PXA and SA-11x0
542           platforms.
543
544 config H8300_TMR8
545         bool "Clockevent timer for the H8300 platform" if COMPILE_TEST
546         depends on HAS_IOMEM
547         help
548           This enables the 8 bits timer for the H8300 platform.
549
550 config H8300_TMR16
551         bool "Clockevent timer for the H83069 platform" if COMPILE_TEST
552         depends on HAS_IOMEM
553         help
554           This enables the 16 bits timer for the H8300 platform with the
555           H83069 cpu.
556
557 config H8300_TPU
558         bool "Clocksource for the H8300 platform" if COMPILE_TEST
559         depends on HAS_IOMEM
560         help
561           This enables the clocksource for the H8300 platform with the
562           H8S2678 cpu.
563
564 config CLKSRC_IMX_GPT
565         bool "Clocksource using i.MX GPT" if COMPILE_TEST
566         depends on ARM && CLKDEV_LOOKUP
567         select CLKSRC_MMIO
568
569 config CLKSRC_IMX_TPM
570         bool "Clocksource using i.MX TPM" if COMPILE_TEST
571         depends on ARM && CLKDEV_LOOKUP
572         select CLKSRC_MMIO
573         help
574           Enable this option to use IMX Timer/PWM Module (TPM) timer as
575           clocksource.
576
577 config CLKSRC_ST_LPC
578         bool "Low power clocksource found in the LPC" if COMPILE_TEST
579         select TIMER_OF if OF
580         depends on HAS_IOMEM
581         select CLKSRC_MMIO
582         help
583           Enable this option to use the Low Power controller timer
584           as clocksource.
585
586 endmenu