Merge branch 'sched-wait-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-2.6-microblaze.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         depends on HAS_IOMEM
390         select TIMER_OF
391         select MFD_SYSCON
392         help
393           Support for the Atmel ST timer.
394
395 config CLKSRC_METAG_GENERIC
396         def_bool y if METAG
397         help
398           This option enables support for the Meta per-thread timers.
399
400 config CLKSRC_EXYNOS_MCT
401         bool "Exynos multi core timer driver" if COMPILE_TEST
402         depends on ARM || ARM64
403         help
404           Support for Multi Core Timer controller on Exynos SoCs.
405
406 config CLKSRC_SAMSUNG_PWM
407         bool "PWM timer driver for Samsung S3C, S5P" if COMPILE_TEST
408         depends on HAS_IOMEM
409         help
410           This is a new clocksource driver for the PWM timer found in
411           Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
412           for all devicetree enabled platforms. This driver will be
413           needed only on systems that do not have the Exynos MCT available.
414
415 config FSL_FTM_TIMER
416         bool "Freescale FlexTimer Module driver" if COMPILE_TEST
417         depends on HAS_IOMEM
418         select CLKSRC_MMIO
419         help
420           Support for Freescale FlexTimer Module (FTM) timer.
421
422 config VF_PIT_TIMER
423         bool
424         select CLKSRC_MMIO
425         help
426           Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
427
428 config OXNAS_RPS_TIMER
429         bool "Oxford Semiconductor OXNAS RPS Timers driver" if COMPILE_TEST
430         select TIMER_OF
431         select CLKSRC_MMIO
432         help
433           This enables support for the Oxford Semiconductor OXNAS RPS timers.
434
435 config SYS_SUPPORTS_SH_CMT
436         bool
437
438 config MTK_TIMER
439         bool "Mediatek timer driver" if COMPILE_TEST
440         depends on HAS_IOMEM
441         select TIMER_OF
442         select CLKSRC_MMIO
443         help
444           Support for Mediatek timer driver.
445
446 config SPRD_TIMER
447         bool "Spreadtrum timer driver" if COMPILE_TEST
448         depends on HAS_IOMEM
449         select TIMER_OF
450         help
451           Enables support for the Spreadtrum timer driver.
452
453 config SYS_SUPPORTS_SH_MTU2
454         bool
455
456 config SYS_SUPPORTS_SH_TMU
457         bool
458
459 config SYS_SUPPORTS_EM_STI
460         bool
461
462 config CLKSRC_JCORE_PIT
463         bool "J-Core PIT timer driver" if COMPILE_TEST
464         depends on OF
465         depends on HAS_IOMEM
466         select CLKSRC_MMIO
467         help
468           This enables build of clocksource and clockevent driver for
469           the integrated PIT in the J-Core synthesizable, open source SoC.
470
471 config SH_TIMER_CMT
472         bool "Renesas CMT timer driver" if COMPILE_TEST
473         depends on HAS_IOMEM
474         default SYS_SUPPORTS_SH_CMT
475         help
476           This enables build of a clocksource and clockevent driver for
477           the Compare Match Timer (CMT) hardware available in 16/32/48-bit
478           variants on a wide range of Mobile and Automotive SoCs from Renesas.
479
480 config SH_TIMER_MTU2
481         bool "Renesas MTU2 timer driver" if COMPILE_TEST
482         depends on HAS_IOMEM
483         default SYS_SUPPORTS_SH_MTU2
484         help
485           This enables build of a clockevent driver for the Multi-Function
486           Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
487           This hardware comes with 16 bit-timer registers.
488
489 config RENESAS_OSTM
490         bool "Renesas OSTM timer driver" if COMPILE_TEST
491         select CLKSRC_MMIO
492         help
493           Enables the support for the Renesas OSTM.
494
495 config SH_TIMER_TMU
496         bool "Renesas TMU timer driver" if COMPILE_TEST
497         depends on HAS_IOMEM
498         default SYS_SUPPORTS_SH_TMU
499         help
500           This enables build of a clocksource and clockevent driver for
501           the 32-bit Timer Unit (TMU) hardware available on a wide range
502           SoCs from Renesas.
503
504 config EM_TIMER_STI
505         bool "Renesas STI timer driver" if COMPILE_TEST
506         depends on HAS_IOMEM
507         default SYS_SUPPORTS_EM_STI
508         help
509           This enables build of a clocksource and clockevent driver for
510           the 48-bit System Timer (STI) hardware available on a SoCs
511           such as EMEV2 from former NEC Electronics.
512
513 config CLKSRC_QCOM
514         bool "Qualcomm MSM timer" if COMPILE_TEST
515         depends on ARM
516         select TIMER_OF
517         help
518           This enables the clocksource and the per CPU clockevent driver for the
519           Qualcomm SoCs.
520
521 config CLKSRC_VERSATILE
522         bool "ARM Versatile (Express) reference platforms clock source" if COMPILE_TEST
523         depends on GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET
524         select TIMER_OF
525         default y if MFD_VEXPRESS_SYSREG
526         help
527           This option enables clock source based on free running
528           counter available in the "System Registers" block of
529           ARM Versatile, RealView and Versatile Express reference
530           platforms.
531
532 config CLKSRC_MIPS_GIC
533         bool
534         depends on MIPS_GIC
535         select TIMER_OF
536
537 config CLKSRC_TANGO_XTAL
538         bool "Clocksource for Tango SoC" if COMPILE_TEST
539         depends on ARM
540         select TIMER_OF
541         select CLKSRC_MMIO
542         help
543           This enables the clocksource for Tango SoC
544
545 config CLKSRC_PXA
546         bool "Clocksource for PXA or SA-11x0 platform" if COMPILE_TEST
547         depends on HAS_IOMEM
548         select CLKSRC_MMIO
549         help
550           This enables OST0 support available on PXA and SA-11x0
551           platforms.
552
553 config H8300_TMR8
554         bool "Clockevent timer for the H8300 platform" if COMPILE_TEST
555         depends on HAS_IOMEM
556         help
557           This enables the 8 bits timer for the H8300 platform.
558
559 config H8300_TMR16
560         bool "Clockevent timer for the H83069 platform" if COMPILE_TEST
561         depends on HAS_IOMEM
562         help
563           This enables the 16 bits timer for the H8300 platform with the
564           H83069 cpu.
565
566 config H8300_TPU
567         bool "Clocksource for the H8300 platform" if COMPILE_TEST
568         depends on HAS_IOMEM
569         help
570           This enables the clocksource for the H8300 platform with the
571           H8S2678 cpu.
572
573 config CLKSRC_IMX_GPT
574         bool "Clocksource using i.MX GPT" if COMPILE_TEST
575         depends on ARM && CLKDEV_LOOKUP
576         select CLKSRC_MMIO
577
578 config CLKSRC_IMX_TPM
579         bool "Clocksource using i.MX TPM" if COMPILE_TEST
580         depends on ARM && CLKDEV_LOOKUP
581         select CLKSRC_MMIO
582         help
583           Enable this option to use IMX Timer/PWM Module (TPM) timer as
584           clocksource.
585
586 config CLKSRC_ST_LPC
587         bool "Low power clocksource found in the LPC" if COMPILE_TEST
588         select TIMER_OF if OF
589         depends on HAS_IOMEM
590         select CLKSRC_MMIO
591         help
592           Enable this option to use the Low Power controller timer
593           as clocksource.
594
595 endmenu