Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-2.6-block.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         depends on ARM
164         select CLKSRC_MMIO
165         select CLKSRC_OF
166         help
167           Support for the LPC32XX clocksource.
168
169 config CLKSRC_PISTACHIO
170         bool "Clocksource for Pistachio SoC" if COMPILE_TEST
171         depends on HAS_IOMEM
172         select CLKSRC_OF
173         help
174           Enables the clocksource for the Pistachio SoC.
175
176 config CLKSRC_TI_32K
177         bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST
178         depends on GENERIC_SCHED_CLOCK
179         select CLKSRC_OF if OF
180         help
181           This option enables support for Texas Instruments 32.768 Hz clocksource
182           available on many OMAP-like platforms.
183
184 config CLKSRC_STM32
185         bool "Clocksource for STM32 SoCs" if !ARCH_STM32
186         depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST)
187         select CLKSRC_MMIO
188
189 config CLKSRC_MPS2
190         bool "Clocksource for MPS2 SoCs" if COMPILE_TEST
191         depends on GENERIC_SCHED_CLOCK
192         select CLKSRC_MMIO
193         select CLKSRC_OF
194
195 config ARM_ARCH_TIMER
196         bool
197         select CLKSRC_OF if OF
198         select CLKSRC_ACPI if ACPI
199
200 config ARM_ARCH_TIMER_EVTSTREAM
201         bool "Support for ARM architected timer event stream generation"
202         default y if ARM_ARCH_TIMER
203         depends on ARM_ARCH_TIMER
204         help
205           This option enables support for event stream generation based on
206           the ARM architected timer. It is used for waking up CPUs executing
207           the wfe instruction at a frequency represented as a power-of-2
208           divisor of the clock rate.
209           The main use of the event stream is wfe-based timeouts of userspace
210           locking implementations. It might also be useful for imposing timeout
211           on wfe to safeguard against any programming errors in case an expected
212           event is not generated.
213           This must be disabled for hardware validation purposes to detect any
214           hardware anomalies of missing events.
215
216 config ARM_GLOBAL_TIMER
217         bool
218         select CLKSRC_OF if OF
219         help
220           This options enables support for the ARM global timer unit
221
222 config ARM_TIMER_SP804
223         bool "Support for Dual Timer SP804 module"
224         depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP
225         select CLKSRC_MMIO
226         select CLKSRC_OF if OF
227
228 config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
229         bool
230         depends on ARM_GLOBAL_TIMER
231         default y
232         help
233          Use ARM global timer clock source as sched_clock
234
235 config ARMV7M_SYSTICK
236         bool
237         select CLKSRC_OF if OF
238         select CLKSRC_MMIO
239         help
240           This options enables support for the ARMv7M system timer unit
241
242 config ATMEL_PIT
243         select CLKSRC_OF if OF
244         def_bool SOC_AT91SAM9 || SOC_SAMA5
245
246 config ATMEL_ST
247         bool
248         select CLKSRC_OF
249         select MFD_SYSCON
250
251 config CLKSRC_METAG_GENERIC
252         def_bool y if METAG
253         help
254           This option enables support for the Meta per-thread timers.
255
256 config CLKSRC_EXYNOS_MCT
257         bool "Exynos multi core timer driver" if COMPILE_TEST
258         depends on ARM
259         help
260           Support for Multi Core Timer controller on Exynos SoCs.
261
262 config CLKSRC_SAMSUNG_PWM
263         bool "PWM timer drvier for Samsung S3C, S5P" if COMPILE_TEST
264         depends on GENERIC_CLOCKEVENTS
265         depends on HAS_IOMEM
266         help
267           This is a new clocksource driver for the PWM timer found in
268           Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
269           for all devicetree enabled platforms. This driver will be
270           needed only on systems that do not have the Exynos MCT available.
271
272 config FSL_FTM_TIMER
273         bool "Freescale FlexTimer Module driver" if COMPILE_TEST
274         depends on GENERIC_CLOCKEVENTS
275         depends on HAS_IOMEM
276         select CLKSRC_MMIO
277         help
278           Support for Freescale FlexTimer Module (FTM) timer.
279
280 config VF_PIT_TIMER
281         bool
282         select CLKSRC_MMIO
283         help
284           Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
285
286 config SYS_SUPPORTS_SH_CMT
287         bool
288
289 config MTK_TIMER
290         bool "Mediatek timer driver" if COMPILE_TEST
291         depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
292         select CLKSRC_OF
293         select CLKSRC_MMIO
294         help
295           Support for Mediatek timer driver.
296
297 config SYS_SUPPORTS_SH_MTU2
298         bool
299
300 config SYS_SUPPORTS_SH_TMU
301         bool
302
303 config SYS_SUPPORTS_EM_STI
304         bool
305
306 config SH_TIMER_CMT
307         bool "Renesas CMT timer driver" if COMPILE_TEST
308         depends on GENERIC_CLOCKEVENTS
309         depends on HAS_IOMEM
310         default SYS_SUPPORTS_SH_CMT
311         help
312           This enables build of a clocksource and clockevent driver for
313           the Compare Match Timer (CMT) hardware available in 16/32/48-bit
314           variants on a wide range of Mobile and Automotive SoCs from Renesas.
315
316 config SH_TIMER_MTU2
317         bool "Renesas MTU2 timer driver" if COMPILE_TEST
318         depends on GENERIC_CLOCKEVENTS
319         depends on HAS_IOMEM
320         default SYS_SUPPORTS_SH_MTU2
321         help
322           This enables build of a clockevent driver for the Multi-Function
323           Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
324           This hardware comes with 16 bit-timer registers.
325
326 config SH_TIMER_TMU
327         bool "Renesas TMU timer driver" if COMPILE_TEST
328         depends on GENERIC_CLOCKEVENTS
329         depends on HAS_IOMEM
330         default SYS_SUPPORTS_SH_TMU
331         help
332           This enables build of a clocksource and clockevent driver for
333           the 32-bit Timer Unit (TMU) hardware available on a wide range
334           SoCs from Renesas.
335
336 config EM_TIMER_STI
337         bool "Renesas STI timer driver" if COMPILE_TEST
338         depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
339         default SYS_SUPPORTS_EM_STI
340         help
341           This enables build of a clocksource and clockevent driver for
342           the 48-bit System Timer (STI) hardware available on a SoCs
343           such as EMEV2 from former NEC Electronics.
344
345 config CLKSRC_QCOM
346         bool "Qualcomm MSM timer" if COMPILE_TEST
347         depends on ARM
348         select CLKSRC_OF
349         help
350           This enables the clocksource and the per CPU clockevent driver for the
351           Qualcomm SoCs.
352
353 config CLKSRC_VERSATILE
354         bool "ARM Versatile (Express) reference platforms clock source"
355         depends on PLAT_VERSATILE && GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET
356         select CLKSRC_OF
357         default y if MFD_VEXPRESS_SYSREG
358         help
359           This option enables clock source based on free running
360           counter available in the "System Registers" block of
361           ARM Versatile, RealView and Versatile Express reference
362           platforms.
363
364 config CLKSRC_MIPS_GIC
365         bool
366         depends on MIPS_GIC
367         select CLKSRC_OF
368
369 config CLKSRC_TANGO_XTAL
370         bool "Clocksource for Tango SoC" if COMPILE_TEST
371         depends on ARM
372         select CLKSRC_OF
373         select CLKSRC_MMIO
374         help
375           This enables the clocksource for Tango SoC
376
377 config CLKSRC_PXA
378         bool "Clocksource for PXA or SA-11x0 platform" if COMPILE_TEST
379         depends on GENERIC_CLOCKEVENTS
380         depends on HAS_IOMEM
381         select CLKSRC_MMIO
382         help
383           This enables OST0 support available on PXA and SA-11x0
384           platforms.
385
386 config H8300_TMR8
387         bool "Clockevent timer for the H8300 platform" if COMPILE_TEST
388         depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
389         help
390           This enables the 8 bits timer for the H8300 platform.
391
392 config H8300_TMR16
393         bool "Clockevent timer for the H83069 platform" if COMPILE_TEST
394         depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
395         help
396           This enables the 16 bits timer for the H8300 platform with the
397           H83069 cpu.
398
399 config H8300_TPU
400         bool "Clocksource for the H8300 platform" if COMPILE_TEST
401         depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
402         help
403           This enables the clocksource for the H8300 platform with the
404           H8S2678 cpu.
405
406 config CLKSRC_IMX_GPT
407         bool "Clocksource using i.MX GPT" if COMPILE_TEST
408         depends on ARM && CLKDEV_LOOKUP
409         select CLKSRC_MMIO
410
411 config CLKSRC_ST_LPC
412         bool "Low power clocksource found in the LPC" if COMPILE_TEST
413         select CLKSRC_OF if OF
414         depends on HAS_IOMEM
415         select CLKSRC_MMIO
416         help
417           Enable this option to use the Low Power controller timer
418           as clocksource.
419
420 endmenu