hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/drivers/clocksource/Kconfig
....@@ -1,3 +1,4 @@
1
+# SPDX-License-Identifier: GPL-2.0-only
12 menu "Clock Source drivers"
23 depends on GENERIC_CLOCKEVENTS
34
....@@ -43,6 +44,11 @@
4344 help
4445 Enables the support for the BCM Kona mobile timer driver.
4546
47
+config DAVINCI_TIMER
48
+ bool "Texas Instruments DaVinci timer driver" if COMPILE_TEST
49
+ help
50
+ Enables the support for the TI DaVinci timer driver.
51
+
4652 config DIGICOLOR_TIMER
4753 bool "Digicolor timer driver" if COMPILE_TEST
4854 select CLKSRC_MMIO
....@@ -70,13 +76,23 @@
7076 Enables support for the Faraday Technology timer block
7177 FTTMR010.
7278
79
+config IXP4XX_TIMER
80
+ bool "Intel XScale IXP4xx timer driver" if COMPILE_TEST
81
+ depends on HAS_IOMEM
82
+ select CLKSRC_MMIO
83
+ select TIMER_OF if OF
84
+ help
85
+ Enables support for the Intel XScale IXP4xx SoC timer.
86
+
7387 config ROCKCHIP_TIMER
74
- bool "Rockchip timer driver" if COMPILE_TEST
88
+ tristate "Rockchip timer driver"
89
+ default ARCH_ROCKCHIP
90
+ depends on ARCH_ROCKCHIP || COMPILE_TEST
7591 depends on ARM || ARM64
7692 select TIMER_OF
7793 select CLKSRC_MMIO
7894 help
79
- Enables the support for the rockchip timer driver.
95
+ Enables the support for the Rockchip timer driver.
8096
8197 config ARMADA_370_XP_TIMER
8298 bool "Armada 370 and XP timer driver" if COMPILE_TEST
....@@ -106,8 +122,15 @@
106122 help
107123 Enables the support for the Actions Semi Owl timer driver.
108124
125
+config RDA_TIMER
126
+ bool "RDA timer driver" if COMPILE_TEST
127
+ select CLKSRC_MMIO
128
+ select TIMER_OF
129
+ help
130
+ Enables the support for the RDA Micro timer driver.
131
+
109132 config SUN4I_TIMER
110
- bool "Sun4i timer driver" if COMPILE_TEST
133
+ bool "Sun4i timer driver"
111134 depends on HAS_IOMEM
112135 select CLKSRC_MMIO
113136 select TIMER_OF
....@@ -124,7 +147,8 @@
124147 config TEGRA_TIMER
125148 bool "Tegra timer driver" if COMPILE_TEST
126149 select CLKSRC_MMIO
127
- depends on ARM
150
+ select TIMER_OF
151
+ depends on ARCH_TEGRA || COMPILE_TEST
128152 help
129153 Enables support for the Tegra driver.
130154
....@@ -141,13 +165,13 @@
141165 select CLKSRC_MMIO
142166 help
143167 Enable 24-bit TIMER0 and TIMER1 counters in the NPCM7xx architecture,
144
- While TIMER0 serves as clockevent and TIMER1 serves as clocksource.
168
+ where TIMER0 serves as clockevent and TIMER1 serves as clocksource.
145169
146170 config CADENCE_TTC_TIMER
147171 bool "Cadence TTC timer driver" if COMPILE_TEST
148172 depends on COMMON_CLK
149173 help
150
- Enables support for the cadence ttc driver.
174
+ Enables support for the Cadence TTC driver.
151175
152176 config ASM9260_TIMER
153177 bool "ASM9260 timer driver" if COMPILE_TEST
....@@ -165,20 +189,14 @@
165189 to multiple interrupt generating programmable
166190 32-bit free running decrementing counters.
167191
168
-config CLKSRC_NOMADIK_MTU_SCHED_CLOCK
169
- bool
170
- depends on CLKSRC_NOMADIK_MTU
171
- help
172
- Use the Multi Timer Unit as the sched_clock.
173
-
174192 config CLKSRC_DBX500_PRCMU
175193 bool "Clocksource PRCMU Timer" if COMPILE_TEST
176194 depends on HAS_IOMEM
177195 help
178
- Use the always on PRCMU Timer as clocksource
196
+ Use the always on PRCMU Timer as clocksource.
179197
180198 config CLPS711X_TIMER
181
- bool "Cirrus logic timer driver" if COMPILE_TEST
199
+ bool "Cirrus Logic timer driver" if COMPILE_TEST
182200 select CLKSRC_MMIO
183201 help
184202 Enables support for the Cirrus Logic PS711 timer.
....@@ -190,11 +208,11 @@
190208 Enables support for the Atlas7 timer.
191209
192210 config MXS_TIMER
193
- bool "Mxs timer driver" if COMPILE_TEST
211
+ bool "MXS timer driver" if COMPILE_TEST
194212 select CLKSRC_MMIO
195213 select STMP_DEVICE
196214 help
197
- Enables support for the Mxs timer.
215
+ Enables support for the MXS timer.
198216
199217 config PRIMA2_TIMER
200218 bool "Prima2 timer driver" if COMPILE_TEST
....@@ -223,17 +241,10 @@
223241 Enables support for the Keystone timer.
224242
225243 config INTEGRATOR_AP_TIMER
226
- bool "Integrator-ap timer driver" if COMPILE_TEST
244
+ bool "Integrator-AP timer driver" if COMPILE_TEST
227245 select CLKSRC_MMIO
228246 help
229
- Enables support for the Integrator-ap timer.
230
-
231
-config CLKSRC_DBX500_PRCMU_SCHED_CLOCK
232
- bool "Clocksource PRCMU Timer sched_clock"
233
- depends on (CLKSRC_DBX500_PRCMU && !CLKSRC_NOMADIK_MTU_SCHED_CLOCK)
234
- default y
235
- help
236
- Use the always on PRCMU Timer as sched_clock
247
+ Enables support for the Integrator-AP timer.
237248
238249 config CLKSRC_EFM32
239250 bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32
....@@ -275,14 +286,18 @@
275286 select TIMER_OF if OF
276287 help
277288 NPS400 clocksource support.
278
- Got 64 bit counter with update rate up to 1000MHz.
279
- This counter is accessed via couple of 32 bit memory mapped registers.
289
+ It has a 64-bit counter with update rate up to 1000MHz.
290
+ This counter is accessed via couple of 32-bit memory-mapped registers.
280291
281292 config CLKSRC_STM32
282293 bool "Clocksource for STM32 SoCs" if !ARCH_STM32
283294 depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST)
284295 select CLKSRC_MMIO
285296 select TIMER_OF
297
+
298
+config CLKSRC_STM32_LP
299
+ bool "Low power clocksource for STM32 SoCs"
300
+ depends on MFD_STM32_LPTIMER || COMPILE_TEST
286301
287302 config CLKSRC_MPS2
288303 bool "Clocksource for MPS2 SoCs" if COMPILE_TEST
....@@ -297,14 +312,14 @@
297312 help
298313 These are legacy 32-bit TIMER0 and TIMER1 counters found on all ARC cores
299314 (ARC700 as well as ARC HS38).
300
- TIMER0 serves as clockevent while TIMER1 provides clocksource
315
+ TIMER0 serves as clockevent while TIMER1 provides clocksource.
301316
302317 config ARC_TIMERS_64BIT
303318 bool "Support for 64-bit counters in ARC HS38 cores" if COMPILE_TEST
304319 depends on ARC_TIMERS
305320 select TIMER_OF
306321 help
307
- This enables 2 different 64-bit timers: RTC (for UP) and GFRC (for SMP)
322
+ This enables 2 different 64-bit timers: RTC (for UP) and GFRC (for SMP).
308323 RTC is implemented inside the core, while GFRC sits outside the core in
309324 ARConnect IP block. Driver automatically picks one of them for clocksource
310325 as appropriate.
....@@ -382,10 +397,10 @@
382397 select TIMER_OF if OF
383398 depends on ARM
384399 help
385
- This options enables support for the ARM global timer unit
400
+ This option enables support for the ARM global timer unit.
386401
387402 config ARM_TIMER_SP804
388
- bool "Support for Dual Timer SP804 module"
403
+ bool "Support for Dual Timer SP804 module" if COMPILE_TEST
389404 depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP
390405 select CLKSRC_MMIO
391406 select TIMER_OF if OF
....@@ -395,18 +410,21 @@
395410 depends on ARM_GLOBAL_TIMER
396411 default y
397412 help
398
- Use ARM global timer clock source as sched_clock
413
+ Use ARM global timer clock source as sched_clock.
399414
400415 config ARMV7M_SYSTICK
401416 bool "Support for the ARMv7M system time" if COMPILE_TEST
402417 select TIMER_OF if OF
403418 select CLKSRC_MMIO
404419 help
405
- This options enables support for the ARMv7M system timer unit
420
+ This option enables support for the ARMv7M system timer unit.
406421
407422 config ATMEL_PIT
423
+ bool "Atmel PIT support" if COMPILE_TEST
424
+ depends on HAS_IOMEM
408425 select TIMER_OF if OF
409
- def_bool SOC_AT91SAM9 || SOC_SAMA5
426
+ help
427
+ Support for the Periodic Interval Timer found on Atmel SoCs.
410428
411429 config ATMEL_ST
412430 bool "Atmel ST timer support" if COMPILE_TEST
....@@ -415,6 +433,13 @@
415433 select MFD_SYSCON
416434 help
417435 Support for the Atmel ST timer.
436
+
437
+config ATMEL_TCB_CLKSRC
438
+ bool "Atmel TC Block timer driver" if COMPILE_TEST
439
+ depends on ARM && HAS_IOMEM
440
+ select TIMER_OF if OF
441
+ help
442
+ Support for Timer Counter Blocks on Atmel SoCs.
418443
419444 config CLKSRC_EXYNOS_MCT
420445 bool "Exynos multi core timer driver" if COMPILE_TEST
....@@ -442,7 +467,7 @@
442467 bool
443468 select CLKSRC_MMIO
444469 help
445
- Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
470
+ Support for Periodic Interrupt Timer on Freescale Vybrid Family SoCs.
446471
447472 config OXNAS_RPS_TIMER
448473 bool "Oxford Semiconductor OXNAS RPS Timers driver" if COMPILE_TEST
....@@ -452,10 +477,10 @@
452477 This enables support for the Oxford Semiconductor OXNAS RPS timers.
453478
454479 config SYS_SUPPORTS_SH_CMT
455
- bool
480
+ bool
456481
457482 config MTK_TIMER
458
- bool "Mediatek timer driver" if COMPILE_TEST
483
+ bool "Mediatek timer driver"
459484 depends on HAS_IOMEM
460485 select TIMER_OF
461486 select CLKSRC_MMIO
....@@ -472,13 +497,13 @@
472497 Enables support for the Spreadtrum timer driver.
473498
474499 config SYS_SUPPORTS_SH_MTU2
475
- bool
500
+ bool
476501
477502 config SYS_SUPPORTS_SH_TMU
478
- bool
503
+ bool
479504
480505 config SYS_SUPPORTS_EM_STI
481
- bool
506
+ bool
482507
483508 config CLKSRC_JCORE_PIT
484509 bool "J-Core PIT timer driver" if COMPILE_TEST
....@@ -505,11 +530,12 @@
505530 help
506531 This enables build of a clockevent driver for the Multi-Function
507532 Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
508
- This hardware comes with 16 bit-timer registers.
533
+ This hardware comes with 16-bit timer registers.
509534
510535 config RENESAS_OSTM
511536 bool "Renesas OSTM timer driver" if COMPILE_TEST
512537 select CLKSRC_MMIO
538
+ select TIMER_OF
513539 help
514540 Enables the support for the Renesas OSTM.
515541
....@@ -543,16 +569,16 @@
543569 bool "ARM Versatile (Express) reference platforms clock source" if COMPILE_TEST
544570 depends on GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET
545571 select TIMER_OF
546
- default y if MFD_VEXPRESS_SYSREG
572
+ default y if (ARCH_VEXPRESS || ARCH_VERSATILE) && ARM
547573 help
548574 This option enables clock source based on free running
549575 counter available in the "System Registers" block of
550
- ARM Versatile, RealView and Versatile Express reference
551
- platforms.
576
+ ARM Versatile and Versatile Express reference platforms.
552577
553578 config CLKSRC_MIPS_GIC
554579 bool
555580 depends on MIPS_GIC
581
+ select CLOCKSOURCE_WATCHDOG
556582 select TIMER_OF
557583
558584 config CLKSRC_TANGO_XTAL
....@@ -561,7 +587,7 @@
561587 select TIMER_OF
562588 select CLKSRC_MMIO
563589 help
564
- This enables the clocksource for Tango SoC
590
+ This enables the clocksource for Tango SoC.
565591
566592 config CLKSRC_PXA
567593 bool "Clocksource for PXA or SA-11x0 platform" if COMPILE_TEST
....@@ -572,37 +598,45 @@
572598 platforms.
573599
574600 config H8300_TMR8
575
- bool "Clockevent timer for the H8300 platform" if COMPILE_TEST
576
- depends on HAS_IOMEM
601
+ bool "Clockevent timer for the H8300 platform" if COMPILE_TEST
602
+ depends on HAS_IOMEM
577603 help
578604 This enables the 8 bits timer for the H8300 platform.
579605
580606 config H8300_TMR16
581
- bool "Clockevent timer for the H83069 platform" if COMPILE_TEST
582
- depends on HAS_IOMEM
607
+ bool "Clockevent timer for the H83069 platform" if COMPILE_TEST
608
+ depends on HAS_IOMEM
583609 help
584610 This enables the 16 bits timer for the H8300 platform with the
585
- H83069 cpu.
611
+ H83069 CPU.
586612
587613 config H8300_TPU
588
- bool "Clocksource for the H8300 platform" if COMPILE_TEST
589
- depends on HAS_IOMEM
614
+ bool "Clocksource for the H8300 platform" if COMPILE_TEST
615
+ depends on HAS_IOMEM
590616 help
591617 This enables the clocksource for the H8300 platform with the
592
- H8S2678 cpu.
618
+ H8S2678 CPU.
593619
594620 config CLKSRC_IMX_GPT
595621 bool "Clocksource using i.MX GPT" if COMPILE_TEST
596
- depends on ARM && CLKDEV_LOOKUP
622
+ depends on (ARM || ARM64) && CLKDEV_LOOKUP
597623 select CLKSRC_MMIO
598624
599625 config CLKSRC_IMX_TPM
600626 bool "Clocksource using i.MX TPM" if COMPILE_TEST
601
- depends on ARM && CLKDEV_LOOKUP
627
+ depends on (ARM || ARM64) && CLKDEV_LOOKUP
602628 select CLKSRC_MMIO
629
+ select TIMER_OF
603630 help
604631 Enable this option to use IMX Timer/PWM Module (TPM) timer as
605632 clocksource.
633
+
634
+config TIMER_IMX_SYS_CTR
635
+ bool "i.MX system counter timer" if COMPILE_TEST
636
+ select TIMER_OF
637
+ help
638
+ Enable this option to use i.MX system counter timer as a
639
+ clockevent.
606640
607641 config CLKSRC_ST_LPC
608642 bool "Low power clocksource found in the LPC" if COMPILE_TEST
....@@ -623,9 +657,8 @@
623657 This option enables support for the Andestech ATCPIT100 timers.
624658
625659 config RISCV_TIMER
626
- bool "Timer for the RISC-V platform"
627
- depends on RISCV
628
- default y
660
+ bool "Timer for the RISC-V platform" if COMPILE_TEST
661
+ depends on GENERIC_SCHED_CLOCK && RISCV && RISCV_SBI
629662 select TIMER_PROBE
630663 select TIMER_OF
631664 help
....@@ -633,4 +666,80 @@
633666 is accessed via both the SBI and the rdcycle instruction. This is
634667 required for all RISC-V systems.
635668
669
+config CLINT_TIMER
670
+ bool "CLINT Timer for the RISC-V platform" if COMPILE_TEST
671
+ depends on GENERIC_SCHED_CLOCK && RISCV
672
+ select TIMER_PROBE
673
+ select TIMER_OF
674
+ help
675
+ This option enables the CLINT timer for RISC-V systems. The CLINT
676
+ driver is usually used for NoMMU RISC-V systems.
677
+
678
+config CSKY_MP_TIMER
679
+ bool "SMP Timer for the C-SKY platform" if COMPILE_TEST
680
+ depends on CSKY
681
+ select TIMER_OF
682
+ help
683
+ Say yes here to enable C-SKY SMP timer driver used for C-SKY SMP
684
+ system.
685
+ csky,mptimer is not only used in SMP system, it also could be used in
686
+ single core system. It's not a mmio reg and it uses mtcr/mfcr instruction.
687
+
688
+config GX6605S_TIMER
689
+ bool "Gx6605s SOC system timer driver" if COMPILE_TEST
690
+ depends on CSKY
691
+ select CLKSRC_MMIO
692
+ select TIMER_OF
693
+ help
694
+ This option enables support for gx6605s SOC's timer.
695
+
696
+config MILBEAUT_TIMER
697
+ bool "Milbeaut timer driver" if COMPILE_TEST
698
+ depends on OF
699
+ depends on ARM
700
+ select TIMER_OF
701
+ select CLKSRC_MMIO
702
+ help
703
+ Enables the support for Milbeaut timer driver.
704
+
705
+config INGENIC_TIMER
706
+ bool "Clocksource/timer using the TCU in Ingenic JZ SoCs"
707
+ default MACH_INGENIC
708
+ depends on MIPS || COMPILE_TEST
709
+ depends on COMMON_CLK
710
+ select MFD_SYSCON
711
+ select TIMER_OF
712
+ select IRQ_DOMAIN
713
+ help
714
+ Support for the timer/counter unit of the Ingenic JZ SoCs.
715
+
716
+config INGENIC_SYSOST
717
+ bool "Clocksource/timer using the SYSOST in Ingenic X SoCs"
718
+ depends on MIPS || COMPILE_TEST
719
+ depends on COMMON_CLK
720
+ select MFD_SYSCON
721
+ select TIMER_OF
722
+ select IRQ_DOMAIN
723
+ help
724
+ Support for the SYSOST of the Ingenic X Series SoCs.
725
+
726
+config INGENIC_OST
727
+ bool "Clocksource using the OST in Ingenic JZ SoCs"
728
+ depends on MIPS || COMPILE_TEST
729
+ depends on COMMON_CLK
730
+ select MFD_SYSCON
731
+ help
732
+ Support for the Operating System Timer of the Ingenic JZ SoCs.
733
+
734
+config MICROCHIP_PIT64B
735
+ bool "Microchip PIT64B support"
736
+ depends on OF || COMPILE_TEST
737
+ select CLKSRC_MMIO
738
+ select TIMER_OF
739
+ help
740
+ This option enables Microchip PIT64B timer for Atmel
741
+ based system. It supports the oneshot, the periodic
742
+ modes and high resolution. It is used as a clocksource
743
+ and a clockevent.
744
+
636745 endmenu