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