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