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