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