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