xref: /openbmc/linux/drivers/clocksource/Kconfig (revision a06c488d)
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	help
34	  Enables the support for the digicolor timer driver.
35
36config DW_APB_TIMER
37	bool "DW APB timer driver" if COMPILE_TEST
38	depends on GENERIC_CLOCKEVENTS
39	help
40	  Enables the support for the dw_apb timer.
41
42config DW_APB_TIMER_OF
43	bool
44	select DW_APB_TIMER
45	select CLKSRC_OF
46
47config ROCKCHIP_TIMER
48	bool "Rockchip timer driver" if COMPILE_TEST
49	depends on ARM || ARM64
50	select CLKSRC_OF
51	help
52	  Enables the support for the rockchip timer driver.
53
54config ARMADA_370_XP_TIMER
55	bool "Armada 370 and XP timer driver" if COMPILE_TEST
56	depends on ARM
57	select CLKSRC_OF
58	help
59	  Enables the support for the Armada 370 and XP timer driver.
60
61config MESON6_TIMER
62	bool "Meson6 timer driver" if COMPILE_TEST
63	depends on GENERIC_CLOCKEVENTS
64	select CLKSRC_MMIO
65	help
66	  Enables the support for the Meson6 timer driver.
67
68config ORION_TIMER
69	bool "Orion timer driver" if COMPILE_TEST
70	depends on ARM
71	select CLKSRC_OF
72	select CLKSRC_MMIO
73	help
74	  Enables the support for the Orion timer driver
75
76config SUN4I_TIMER
77	bool "Sun4i timer driver" if COMPILE_TEST
78	depends on GENERIC_CLOCKEVENTS
79	select CLKSRC_MMIO
80	help
81	  Enables support for the Sun4i timer.
82
83config SUN5I_HSTIMER
84	bool "Sun5i timer driver" if COMPILE_TEST
85	select CLKSRC_MMIO
86	depends on COMMON_CLK
87	help
88	  Enables support the Sun5i timer.
89
90config TEGRA_TIMER
91	bool "Tegra timer driver" if COMPILE_TEST
92	depends on ARM
93	help
94	  Enables support for the Tegra driver.
95
96config VT8500_TIMER
97	bool "VT8500 timer driver" if COMPILE_TEST
98	depends on GENERIC_CLOCKEVENTS
99	help
100	  Enables support for the VT8500 driver.
101
102config CADENCE_TTC_TIMER
103	bool "Cadence TTC timer driver" if COMPILE_TEST
104	depends on COMMON_CLK
105	help
106	  Enables support for the cadence ttc driver.
107
108config ASM9260_TIMER
109	bool "ASM9260 timer driver" if COMPILE_TEST
110	depends on GENERIC_CLOCKEVENTS
111	select CLKSRC_MMIO
112	select CLKSRC_OF
113	help
114	  Enables support for the ASM9260 timer.
115
116config CLKSRC_NOMADIK_MTU
117	bool "Nomakdik clocksource driver" if COMPILE_TEST
118	depends on ARM
119	select CLKSRC_MMIO
120	help
121	  Support for Multi Timer Unit. MTU provides access
122	  to multiple interrupt generating programmable
123	  32-bit free running decrementing counters.
124
125config CLKSRC_NOMADIK_MTU_SCHED_CLOCK
126	bool
127	depends on CLKSRC_NOMADIK_MTU
128	help
129	  Use the Multi Timer Unit as the sched_clock.
130
131config CLKSRC_DBX500_PRCMU
132	bool "Clocksource PRCMU Timer" if COMPILE_TEST
133	depends on GENERIC_CLOCKEVENTS
134	help
135	  Use the always on PRCMU Timer as clocksource
136
137config CLKSRC_DBX500_PRCMU_SCHED_CLOCK
138	bool "Clocksource PRCMU Timer sched_clock"
139	depends on (CLKSRC_DBX500_PRCMU && !CLKSRC_NOMADIK_MTU_SCHED_CLOCK)
140	default y
141	help
142	  Use the always on PRCMU Timer as sched_clock
143
144config CLKSRC_EFM32
145	bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32
146	depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST)
147	select CLKSRC_MMIO
148	default ARCH_EFM32
149	help
150	  Support to use the timers of EFM32 SoCs as clock source and clock
151	  event device.
152
153config CLKSRC_LPC32XX
154	bool "Clocksource for LPC32XX" if COMPILE_TEST
155	depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
156	select CLKSRC_MMIO
157	select CLKSRC_OF
158	help
159	  Support for the LPC32XX clocksource.
160
161config CLKSRC_PISTACHIO
162	bool "Clocksource for Pistachio SoC" if COMPILE_TEST
163	depends on HAS_IOMEM
164	select CLKSRC_OF
165	help
166	  Enables the clocksource for the Pistachio SoC.
167
168config CLKSRC_TI_32K
169	bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST
170	depends on GENERIC_SCHED_CLOCK
171	select CLKSRC_OF if OF
172	help
173	  This option enables support for Texas Instruments 32.768 Hz clocksource
174	  available on many OMAP-like platforms.
175
176config CLKSRC_STM32
177	bool "Clocksource for STM32 SoCs" if !ARCH_STM32
178	depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST)
179	select CLKSRC_MMIO
180
181config ARM_ARCH_TIMER
182	bool
183	select CLKSRC_OF if OF
184	select CLKSRC_ACPI if ACPI
185
186config ARM_ARCH_TIMER_EVTSTREAM
187	bool "Support for ARM architected timer event stream generation"
188	default y if ARM_ARCH_TIMER
189	depends on ARM_ARCH_TIMER
190	help
191	  This option enables support for event stream generation based on
192	  the ARM architected timer. It is used for waking up CPUs executing
193	  the wfe instruction at a frequency represented as a power-of-2
194	  divisor of the clock rate.
195	  The main use of the event stream is wfe-based timeouts of userspace
196	  locking implementations. It might also be useful for imposing timeout
197	  on wfe to safeguard against any programming errors in case an expected
198	  event is not generated.
199	  This must be disabled for hardware validation purposes to detect any
200	  hardware anomalies of missing events.
201
202config ARM_GLOBAL_TIMER
203	bool
204	select CLKSRC_OF if OF
205	help
206	  This options enables support for the ARM global timer unit
207
208config ARM_TIMER_SP804
209	bool "Support for Dual Timer SP804 module"
210	depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP
211	select CLKSRC_MMIO
212	select CLKSRC_OF if OF
213
214config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
215	bool
216	depends on ARM_GLOBAL_TIMER
217	default y
218	help
219	 Use ARM global timer clock source as sched_clock
220
221config ARMV7M_SYSTICK
222	bool
223	select CLKSRC_OF if OF
224	select CLKSRC_MMIO
225	help
226	  This options enables support for the ARMv7M system timer unit
227
228config ATMEL_PIT
229	select CLKSRC_OF if OF
230	def_bool SOC_AT91SAM9 || SOC_SAMA5
231
232config ATMEL_ST
233	bool
234	select CLKSRC_OF
235	select MFD_SYSCON
236
237config CLKSRC_METAG_GENERIC
238	def_bool y if METAG
239	help
240	  This option enables support for the Meta per-thread timers.
241
242config CLKSRC_EXYNOS_MCT
243	bool "Exynos multi core timer driver" if COMPILE_TEST
244	depends on ARM
245	help
246	  Support for Multi Core Timer controller on Exynos SoCs.
247
248config CLKSRC_SAMSUNG_PWM
249	bool "PWM timer drvier for Samsung S3C, S5P" if COMPILE_TEST
250	depends on GENERIC_CLOCKEVENTS
251	help
252	  This is a new clocksource driver for the PWM timer found in
253	  Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
254	  for all devicetree enabled platforms. This driver will be
255	  needed only on systems that do not have the Exynos MCT available.
256
257config FSL_FTM_TIMER
258	bool "Freescale FlexTimer Module driver" if COMPILE_TEST
259	depends on GENERIC_CLOCKEVENTS
260	select CLKSRC_MMIO
261	help
262	  Support for Freescale FlexTimer Module (FTM) timer.
263
264config VF_PIT_TIMER
265	bool
266	help
267	  Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
268
269config SYS_SUPPORTS_SH_CMT
270        bool
271
272config MTK_TIMER
273	bool "Mediatek timer driver" if COMPILE_TEST
274	depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
275	select CLKSRC_OF
276	select CLKSRC_MMIO
277	help
278	  Support for Mediatek timer driver.
279
280config SYS_SUPPORTS_SH_MTU2
281        bool
282
283config SYS_SUPPORTS_SH_TMU
284        bool
285
286config SYS_SUPPORTS_EM_STI
287        bool
288
289config SH_TIMER_CMT
290	bool "Renesas CMT timer driver" if COMPILE_TEST
291	depends on GENERIC_CLOCKEVENTS
292	depends on HAS_IOMEM
293	default SYS_SUPPORTS_SH_CMT
294	help
295	  This enables build of a clocksource and clockevent driver for
296	  the Compare Match Timer (CMT) hardware available in 16/32/48-bit
297	  variants on a wide range of Mobile and Automotive SoCs from Renesas.
298
299config SH_TIMER_MTU2
300	bool "Renesas MTU2 timer driver" if COMPILE_TEST
301	depends on GENERIC_CLOCKEVENTS
302	depends on HAS_IOMEM
303	default SYS_SUPPORTS_SH_MTU2
304	help
305	  This enables build of a clockevent driver for the Multi-Function
306	  Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
307	  This hardware comes with 16 bit-timer registers.
308
309config SH_TIMER_TMU
310	bool "Renesas TMU timer driver" if COMPILE_TEST
311	depends on GENERIC_CLOCKEVENTS
312	depends on HAS_IOMEM
313	default SYS_SUPPORTS_SH_TMU
314	help
315	  This enables build of a clocksource and clockevent driver for
316	  the 32-bit Timer Unit (TMU) hardware available on a wide range
317	  SoCs from Renesas.
318
319config EM_TIMER_STI
320	bool "Renesas STI timer driver" if COMPILE_TEST
321	depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
322	default SYS_SUPPORTS_EM_STI
323	help
324	  This enables build of a clocksource and clockevent driver for
325	  the 48-bit System Timer (STI) hardware available on a SoCs
326	  such as EMEV2 from former NEC Electronics.
327
328config CLKSRC_QCOM
329	bool "Qualcomm MSM timer" if COMPILE_TEST
330	depends on ARM
331	select CLKSRC_OF
332	help
333	  This enables the clocksource and the per CPU clockevent driver for the
334	  Qualcomm SoCs.
335
336config CLKSRC_VERSATILE
337	bool "ARM Versatile (Express) reference platforms clock source"
338	depends on PLAT_VERSATILE && GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET
339	select CLKSRC_OF
340	default y if MFD_VEXPRESS_SYSREG
341	help
342	  This option enables clock source based on free running
343	  counter available in the "System Registers" block of
344	  ARM Versatile, RealView and Versatile Express reference
345	  platforms.
346
347config CLKSRC_MIPS_GIC
348	bool
349	depends on MIPS_GIC
350	select CLKSRC_OF
351
352config CLKSRC_TANGO_XTAL
353	bool "Clocksource for Tango SoC" if COMPILE_TEST
354	depends on ARM
355	select CLKSRC_OF
356	select CLKSRC_MMIO
357	help
358	  This enables the clocksource for Tango SoC
359
360config CLKSRC_PXA
361	bool "Clocksource for PXA or SA-11x0 platform" if COMPILE_TEST
362	depends on GENERIC_CLOCKEVENTS
363	select CLKSRC_MMIO
364	help
365	  This enables OST0 support available on PXA and SA-11x0
366	  platforms.
367
368config H8300_TMR8
369        bool "Clockevent timer for the H8300 platform" if COMPILE_TEST
370        depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
371	help
372	  This enables the 8 bits timer for the H8300 platform.
373
374config H8300_TMR16
375        bool "Clockevent timer for the H83069 platform" if COMPILE_TEST
376        depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
377	help
378	  This enables the 16 bits timer for the H8300 platform with the
379	  H83069 cpu.
380
381config H8300_TPU
382        bool "Clocksource for the H8300 platform" if COMPILE_TEST
383        depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
384	help
385	  This enables the clocksource for the H8300 platform with the
386	  H8S2678 cpu.
387
388config CLKSRC_IMX_GPT
389	bool "Clocksource using i.MX GPT" if COMPILE_TEST
390	depends on ARM && CLKDEV_LOOKUP
391	select CLKSRC_MMIO
392
393config CLKSRC_ST_LPC
394	bool "Low power clocksource found in the LPC" if COMPILE_TEST
395	select CLKSRC_OF if OF
396	depends on HAS_IOMEM
397	help
398	  Enable this option to use the Low Power controller timer
399	  as clocksource.
400
401endmenu
402