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