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