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