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