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