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