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