Merge remote-tracking branches 'regulator/topic/discharge', 'regulator/topic/fan53555...
[sfrench/cifs-2.6.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 CLKSRC_ACPI
9         bool
10         select CLKSRC_PROBE
11
12 config CLKSRC_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 CLKBLD_I8253
25         def_bool y if CLKSRC_I8253 || CLKEVT_I8253 || I8253_LOCK
26
27 config CLKSRC_MMIO
28         bool
29
30 config DIGICOLOR_TIMER
31         bool "Digicolor timer driver" if COMPILE_TEST
32         depends on GENERIC_CLOCKEVENTS
33         select CLKSRC_MMIO
34         depends on HAS_IOMEM
35         help
36           Enables the support for the digicolor timer driver.
37
38 config DW_APB_TIMER
39         bool "DW APB timer driver" if COMPILE_TEST
40         depends on GENERIC_CLOCKEVENTS
41         help
42           Enables the support for the dw_apb timer.
43
44 config DW_APB_TIMER_OF
45         bool
46         select DW_APB_TIMER
47         select CLKSRC_OF
48
49 config ROCKCHIP_TIMER
50         bool "Rockchip timer driver" if COMPILE_TEST
51         depends on ARM || ARM64
52         select CLKSRC_OF
53         help
54           Enables the support for the rockchip timer driver.
55
56 config ARMADA_370_XP_TIMER
57         bool "Armada 370 and XP timer driver" if COMPILE_TEST
58         depends on ARM
59         select CLKSRC_OF
60         select CLKSRC_MMIO
61         help
62           Enables the support for the Armada 370 and XP timer driver.
63
64 config MESON6_TIMER
65         bool "Meson6 timer driver" if COMPILE_TEST
66         depends on GENERIC_CLOCKEVENTS
67         select CLKSRC_MMIO
68         help
69           Enables the support for the Meson6 timer driver.
70
71 config ORION_TIMER
72         bool "Orion timer driver" if COMPILE_TEST
73         depends on ARM
74         select CLKSRC_OF
75         select CLKSRC_MMIO
76         help
77           Enables the support for the Orion timer driver
78
79 config SUN4I_TIMER
80         bool "Sun4i timer driver" if COMPILE_TEST
81         depends on GENERIC_CLOCKEVENTS
82         depends on HAS_IOMEM
83         select CLKSRC_MMIO
84         help
85           Enables support for the Sun4i timer.
86
87 config SUN5I_HSTIMER
88         bool "Sun5i timer driver" if COMPILE_TEST
89         select CLKSRC_MMIO
90         depends on COMMON_CLK
91         help
92           Enables support the Sun5i timer.
93
94 config TEGRA_TIMER
95         bool "Tegra timer driver" if COMPILE_TEST
96         select CLKSRC_MMIO
97         depends on ARM
98         help
99           Enables support for the Tegra driver.
100
101 config VT8500_TIMER
102         bool "VT8500 timer driver" if COMPILE_TEST
103         depends on GENERIC_CLOCKEVENTS
104         depends on HAS_IOMEM
105         help
106           Enables support for the VT8500 driver.
107
108 config CADENCE_TTC_TIMER
109         bool "Cadence TTC timer driver" if COMPILE_TEST
110         depends on COMMON_CLK
111         help
112           Enables support for the cadence ttc driver.
113
114 config ASM9260_TIMER
115         bool "ASM9260 timer driver" if COMPILE_TEST
116         depends on GENERIC_CLOCKEVENTS
117         select CLKSRC_MMIO
118         select CLKSRC_OF
119         help
120           Enables support for the ASM9260 timer.
121
122 config CLKSRC_NOMADIK_MTU
123         bool "Nomakdik clocksource driver" if COMPILE_TEST
124         depends on ARM
125         select CLKSRC_MMIO
126         help
127           Support for Multi Timer Unit. MTU provides access
128           to multiple interrupt generating programmable
129           32-bit free running decrementing counters.
130
131 config CLKSRC_NOMADIK_MTU_SCHED_CLOCK
132         bool
133         depends on CLKSRC_NOMADIK_MTU
134         help
135           Use the Multi Timer Unit as the sched_clock.
136
137 config CLKSRC_DBX500_PRCMU
138         bool "Clocksource PRCMU Timer" if COMPILE_TEST
139         depends on GENERIC_CLOCKEVENTS
140         depends on HAS_IOMEM
141         help
142           Use the always on PRCMU Timer as clocksource
143
144 config CLKSRC_DBX500_PRCMU_SCHED_CLOCK
145         bool "Clocksource PRCMU Timer sched_clock"
146         depends on (CLKSRC_DBX500_PRCMU && !CLKSRC_NOMADIK_MTU_SCHED_CLOCK)
147         default y
148         help
149           Use the always on PRCMU Timer as sched_clock
150
151 config CLKSRC_EFM32
152         bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32
153         depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST)
154         select CLKSRC_MMIO
155         default ARCH_EFM32
156         help
157           Support to use the timers of EFM32 SoCs as clock source and clock
158           event device.
159
160 config CLKSRC_LPC32XX
161         bool "Clocksource for LPC32XX" if COMPILE_TEST
162         depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
163         select CLKSRC_MMIO
164         select CLKSRC_OF
165         help
166           Support for the LPC32XX clocksource.
167
168 config CLKSRC_PISTACHIO
169         bool "Clocksource for Pistachio SoC" if COMPILE_TEST
170         depends on HAS_IOMEM
171         select CLKSRC_OF
172         help
173           Enables the clocksource for the Pistachio SoC.
174
175 config CLKSRC_TI_32K
176         bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST
177         depends on GENERIC_SCHED_CLOCK
178         select CLKSRC_OF if OF
179         help
180           This option enables support for Texas Instruments 32.768 Hz clocksource
181           available on many OMAP-like platforms.
182
183 config CLKSRC_STM32
184         bool "Clocksource for STM32 SoCs" if !ARCH_STM32
185         depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST)
186         select CLKSRC_MMIO
187
188 config ARM_ARCH_TIMER
189         bool
190         select CLKSRC_OF if OF
191         select CLKSRC_ACPI if ACPI
192
193 config ARM_ARCH_TIMER_EVTSTREAM
194         bool "Support for ARM architected timer event stream generation"
195         default y if ARM_ARCH_TIMER
196         depends on ARM_ARCH_TIMER
197         help
198           This option enables support for event stream generation based on
199           the ARM architected timer. It is used for waking up CPUs executing
200           the wfe instruction at a frequency represented as a power-of-2
201           divisor of the clock rate.
202           The main use of the event stream is wfe-based timeouts of userspace
203           locking implementations. It might also be useful for imposing timeout
204           on wfe to safeguard against any programming errors in case an expected
205           event is not generated.
206           This must be disabled for hardware validation purposes to detect any
207           hardware anomalies of missing events.
208
209 config ARM_GLOBAL_TIMER
210         bool
211         select CLKSRC_OF if OF
212         help
213           This options enables support for the ARM global timer unit
214
215 config ARM_TIMER_SP804
216         bool "Support for Dual Timer SP804 module"
217         depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP
218         select CLKSRC_MMIO
219         select CLKSRC_OF if OF
220
221 config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
222         bool
223         depends on ARM_GLOBAL_TIMER
224         default y
225         help
226          Use ARM global timer clock source as sched_clock
227
228 config ARMV7M_SYSTICK
229         bool
230         select CLKSRC_OF if OF
231         select CLKSRC_MMIO
232         help
233           This options enables support for the ARMv7M system timer unit
234
235 config ATMEL_PIT
236         select CLKSRC_OF if OF
237         def_bool SOC_AT91SAM9 || SOC_SAMA5
238
239 config ATMEL_ST
240         bool
241         select CLKSRC_OF
242         select MFD_SYSCON
243
244 config CLKSRC_METAG_GENERIC
245         def_bool y if METAG
246         help
247           This option enables support for the Meta per-thread timers.
248
249 config CLKSRC_EXYNOS_MCT
250         bool "Exynos multi core timer driver" if COMPILE_TEST
251         depends on ARM
252         help
253           Support for Multi Core Timer controller on Exynos SoCs.
254
255 config CLKSRC_SAMSUNG_PWM
256         bool "PWM timer drvier for Samsung S3C, S5P" if COMPILE_TEST
257         depends on GENERIC_CLOCKEVENTS
258         depends on HAS_IOMEM
259         help
260           This is a new clocksource driver for the PWM timer found in
261           Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
262           for all devicetree enabled platforms. This driver will be
263           needed only on systems that do not have the Exynos MCT available.
264
265 config FSL_FTM_TIMER
266         bool "Freescale FlexTimer Module driver" if COMPILE_TEST
267         depends on GENERIC_CLOCKEVENTS
268         depends on HAS_IOMEM
269         select CLKSRC_MMIO
270         help
271           Support for Freescale FlexTimer Module (FTM) timer.
272
273 config VF_PIT_TIMER
274         bool
275         select CLKSRC_MMIO
276         help
277           Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
278
279 config SYS_SUPPORTS_SH_CMT
280         bool
281
282 config MTK_TIMER
283         bool "Mediatek timer driver" if COMPILE_TEST
284         depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
285         select CLKSRC_OF
286         select CLKSRC_MMIO
287         help
288           Support for Mediatek timer driver.
289
290 config SYS_SUPPORTS_SH_MTU2
291         bool
292
293 config SYS_SUPPORTS_SH_TMU
294         bool
295
296 config SYS_SUPPORTS_EM_STI
297         bool
298
299 config SH_TIMER_CMT
300         bool "Renesas CMT timer driver" if COMPILE_TEST
301         depends on GENERIC_CLOCKEVENTS
302         depends on HAS_IOMEM
303         default SYS_SUPPORTS_SH_CMT
304         help
305           This enables build of a clocksource and clockevent driver for
306           the Compare Match Timer (CMT) hardware available in 16/32/48-bit
307           variants on a wide range of Mobile and Automotive SoCs from Renesas.
308
309 config SH_TIMER_MTU2
310         bool "Renesas MTU2 timer driver" if COMPILE_TEST
311         depends on GENERIC_CLOCKEVENTS
312         depends on HAS_IOMEM
313         default SYS_SUPPORTS_SH_MTU2
314         help
315           This enables build of a clockevent driver for the Multi-Function
316           Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
317           This hardware comes with 16 bit-timer registers.
318
319 config SH_TIMER_TMU
320         bool "Renesas TMU timer driver" if COMPILE_TEST
321         depends on GENERIC_CLOCKEVENTS
322         depends on HAS_IOMEM
323         default SYS_SUPPORTS_SH_TMU
324         help
325           This enables build of a clocksource and clockevent driver for
326           the 32-bit Timer Unit (TMU) hardware available on a wide range
327           SoCs from Renesas.
328
329 config EM_TIMER_STI
330         bool "Renesas STI timer driver" if COMPILE_TEST
331         depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
332         default SYS_SUPPORTS_EM_STI
333         help
334           This enables build of a clocksource and clockevent driver for
335           the 48-bit System Timer (STI) hardware available on a SoCs
336           such as EMEV2 from former NEC Electronics.
337
338 config CLKSRC_QCOM
339         bool "Qualcomm MSM timer" if COMPILE_TEST
340         depends on ARM
341         select CLKSRC_OF
342         help
343           This enables the clocksource and the per CPU clockevent driver for the
344           Qualcomm SoCs.
345
346 config CLKSRC_VERSATILE
347         bool "ARM Versatile (Express) reference platforms clock source"
348         depends on PLAT_VERSATILE && GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET
349         select CLKSRC_OF
350         default y if MFD_VEXPRESS_SYSREG
351         help
352           This option enables clock source based on free running
353           counter available in the "System Registers" block of
354           ARM Versatile, RealView and Versatile Express reference
355           platforms.
356
357 config CLKSRC_MIPS_GIC
358         bool
359         depends on MIPS_GIC
360         select CLKSRC_OF
361
362 config CLKSRC_TANGO_XTAL
363         bool "Clocksource for Tango SoC" if COMPILE_TEST
364         depends on ARM
365         select CLKSRC_OF
366         select CLKSRC_MMIO
367         help
368           This enables the clocksource for Tango SoC
369
370 config CLKSRC_PXA
371         bool "Clocksource for PXA or SA-11x0 platform" if COMPILE_TEST
372         depends on GENERIC_CLOCKEVENTS
373         depends on HAS_IOMEM
374         select CLKSRC_MMIO
375         help
376           This enables OST0 support available on PXA and SA-11x0
377           platforms.
378
379 config H8300_TMR8
380         bool "Clockevent timer for the H8300 platform" if COMPILE_TEST
381         depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
382         help
383           This enables the 8 bits timer for the H8300 platform.
384
385 config H8300_TMR16
386         bool "Clockevent timer for the H83069 platform" if COMPILE_TEST
387         depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
388         help
389           This enables the 16 bits timer for the H8300 platform with the
390           H83069 cpu.
391
392 config H8300_TPU
393         bool "Clocksource for the H8300 platform" if COMPILE_TEST
394         depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
395         help
396           This enables the clocksource for the H8300 platform with the
397           H8S2678 cpu.
398
399 config CLKSRC_IMX_GPT
400         bool "Clocksource using i.MX GPT" if COMPILE_TEST
401         depends on ARM && CLKDEV_LOOKUP
402         select CLKSRC_MMIO
403
404 config CLKSRC_ST_LPC
405         bool "Low power clocksource found in the LPC" if COMPILE_TEST
406         select CLKSRC_OF if OF
407         depends on HAS_IOMEM
408         select CLKSRC_MMIO
409         help
410           Enable this option to use the Low Power controller timer
411           as clocksource.
412
413 endmenu