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