xref: /openbmc/linux/drivers/clocksource/Kconfig (revision 23c2b932)
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	depends on ARM
164	select CLKSRC_MMIO
165	select CLKSRC_OF
166	help
167	  Support for the LPC32XX clocksource.
168
169config 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
176config 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
184config 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
194config 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
199config 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
205config ARM_ARCH_TIMER
206	bool
207	select CLKSRC_OF if OF
208	select CLKSRC_ACPI if ACPI
209
210config 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
226config 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
232config 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
238config 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
245config 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
252config ATMEL_PIT
253	select CLKSRC_OF if OF
254	def_bool SOC_AT91SAM9 || SOC_SAMA5
255
256config ATMEL_ST
257	bool
258	select CLKSRC_OF
259	select MFD_SYSCON
260
261config CLKSRC_METAG_GENERIC
262	def_bool y if METAG
263	help
264	  This option enables support for the Meta per-thread timers.
265
266config 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
272config 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
282config 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
290config VF_PIT_TIMER
291	bool
292	select CLKSRC_MMIO
293	help
294	  Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
295
296config SYS_SUPPORTS_SH_CMT
297        bool
298
299config 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
307config SYS_SUPPORTS_SH_MTU2
308        bool
309
310config SYS_SUPPORTS_SH_TMU
311        bool
312
313config SYS_SUPPORTS_EM_STI
314        bool
315
316config 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
326config 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
336config 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
346config 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
355config 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
363config 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
374config CLKSRC_MIPS_GIC
375	bool
376	depends on MIPS_GIC
377	select CLKSRC_OF
378
379config 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
387config 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
396config 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
402config 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
409config 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
416config CLKSRC_IMX_GPT
417	bool "Clocksource using i.MX GPT" if COMPILE_TEST
418	depends on ARM && CLKDEV_LOOKUP
419	select CLKSRC_MMIO
420
421config 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
430endmenu
431