xref: /openbmc/linux/drivers/clocksource/Kconfig (revision 56a0eccd)
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_STM32
185	bool "Clocksource for STM32 SoCs" if !ARCH_STM32
186	depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST)
187	select CLKSRC_MMIO
188
189config ARM_ARCH_TIMER
190	bool
191	select CLKSRC_OF if OF
192	select CLKSRC_ACPI if ACPI
193
194config 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
210config 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
216config 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
222config 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
229config 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
236config ATMEL_PIT
237	select CLKSRC_OF if OF
238	def_bool SOC_AT91SAM9 || SOC_SAMA5
239
240config ATMEL_ST
241	bool
242	select CLKSRC_OF
243	select MFD_SYSCON
244
245config CLKSRC_METAG_GENERIC
246	def_bool y if METAG
247	help
248	  This option enables support for the Meta per-thread timers.
249
250config 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
256config 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
266config 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
274config VF_PIT_TIMER
275	bool
276	select CLKSRC_MMIO
277	help
278	  Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
279
280config SYS_SUPPORTS_SH_CMT
281        bool
282
283config 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
291config SYS_SUPPORTS_SH_MTU2
292        bool
293
294config SYS_SUPPORTS_SH_TMU
295        bool
296
297config SYS_SUPPORTS_EM_STI
298        bool
299
300config 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
310config 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
320config 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
330config 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
339config 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
347config 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
358config CLKSRC_MIPS_GIC
359	bool
360	depends on MIPS_GIC
361	select CLKSRC_OF
362
363config 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
371config 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
380config 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
386config 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
393config 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
400config CLKSRC_IMX_GPT
401	bool "Clocksource using i.MX GPT" if COMPILE_TEST
402	depends on ARM && CLKDEV_LOOKUP
403	select CLKSRC_MMIO
404
405config 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
414endmenu
415