xref: /linux/drivers/clocksource/Kconfig (revision c0c914eca7f251c70facc37dfebeaf176601918d)
1menu "Clock Source drivers"
2	depends on !ARCH_USES_GETTIMEOFFSET
3
4config CLKSRC_OF
5	bool
6	select CLKSRC_PROBE
7
8config CLKSRC_ACPI
9	bool
10	select CLKSRC_PROBE
11
12config CLKSRC_PROBE
13	bool
14
15config CLKSRC_I8253
16	bool
17
18config CLKEVT_I8253
19	bool
20
21config I8253_LOCK
22	bool
23
24config CLKBLD_I8253
25	def_bool y if CLKSRC_I8253 || CLKEVT_I8253 || I8253_LOCK
26
27config CLKSRC_MMIO
28	bool
29
30config 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
38config 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
44config DW_APB_TIMER_OF
45	bool
46	select DW_APB_TIMER
47	select CLKSRC_OF
48
49config 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
56config 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
64config 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
71config 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
79config 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
87config 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
94config 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
101config 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
108config 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
114config 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
122config 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
131config 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
137config 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
144config 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
151config 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
160config 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
168config 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
175config 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
183config 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
188config ARM_ARCH_TIMER
189	bool
190	select CLKSRC_OF if OF
191	select CLKSRC_ACPI if ACPI
192
193config 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
209config 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
215config 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
221config 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
228config 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
235config ATMEL_PIT
236	select CLKSRC_OF if OF
237	def_bool SOC_AT91SAM9 || SOC_SAMA5
238
239config ATMEL_ST
240	bool
241	select CLKSRC_OF
242	select MFD_SYSCON
243
244config CLKSRC_METAG_GENERIC
245	def_bool y if METAG
246	help
247	  This option enables support for the Meta per-thread timers.
248
249config 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
255config 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
265config 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
273config VF_PIT_TIMER
274	bool
275	select CLKSRC_MMIO
276	help
277	  Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
278
279config SYS_SUPPORTS_SH_CMT
280        bool
281
282config 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
290config SYS_SUPPORTS_SH_MTU2
291        bool
292
293config SYS_SUPPORTS_SH_TMU
294        bool
295
296config SYS_SUPPORTS_EM_STI
297        bool
298
299config 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
309config 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
319config 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
329config 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
338config 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
346config 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
357config CLKSRC_MIPS_GIC
358	bool
359	depends on MIPS_GIC
360	select CLKSRC_OF
361
362config 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
370config 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
379config 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
385config 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
392config 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
399config CLKSRC_IMX_GPT
400	bool "Clocksource using i.MX GPT" if COMPILE_TEST
401	depends on ARM && CLKDEV_LOOKUP
402	select CLKSRC_MMIO
403
404config 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
413endmenu
414