xref: /openbmc/linux/drivers/clocksource/Kconfig (revision c0e297dc)
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_STM32
115	bool "Clocksource for STM32 SoCs" if !ARCH_STM32
116	depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST)
117	select CLKSRC_MMIO
118
119config ARM_ARCH_TIMER
120	bool
121	select CLKSRC_OF if OF
122
123config ARM_ARCH_TIMER_EVTSTREAM
124	bool "Support for ARM architected timer event stream generation"
125	default y if ARM_ARCH_TIMER
126	depends on ARM_ARCH_TIMER
127	help
128	  This option enables support for event stream generation based on
129	  the ARM architected timer. It is used for waking up CPUs executing
130	  the wfe instruction at a frequency represented as a power-of-2
131	  divisor of the clock rate.
132	  The main use of the event stream is wfe-based timeouts of userspace
133	  locking implementations. It might also be useful for imposing timeout
134	  on wfe to safeguard against any programming errors in case an expected
135	  event is not generated.
136	  This must be disabled for hardware validation purposes to detect any
137	  hardware anomalies of missing events.
138
139config ARM_GLOBAL_TIMER
140	bool
141	select CLKSRC_OF if OF
142	help
143	  This options enables support for the ARM global timer unit
144
145config ARM_TIMER_SP804
146	bool "Support for Dual Timer SP804 module"
147	depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP
148	select CLKSRC_MMIO
149	select CLKSRC_OF if OF
150
151config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
152	bool
153	depends on ARM_GLOBAL_TIMER
154	default y
155	help
156	 Use ARM global timer clock source as sched_clock
157
158config ARMV7M_SYSTICK
159	bool
160	select CLKSRC_OF if OF
161	select CLKSRC_MMIO
162	help
163	  This options enables support for the ARMv7M system timer unit
164
165config ATMEL_PIT
166	select CLKSRC_OF if OF
167	def_bool SOC_AT91SAM9 || SOC_SAMA5
168
169config ATMEL_ST
170	bool
171	select CLKSRC_OF
172	select MFD_SYSCON
173
174config CLKSRC_METAG_GENERIC
175	def_bool y if METAG
176	help
177	  This option enables support for the Meta per-thread timers.
178
179config CLKSRC_EXYNOS_MCT
180	def_bool y if ARCH_EXYNOS
181	depends on !ARM64
182	help
183	  Support for Multi Core Timer controller on Exynos SoCs.
184
185config CLKSRC_SAMSUNG_PWM
186	bool
187	help
188	  This is a new clocksource driver for the PWM timer found in
189	  Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
190	  for all devicetree enabled platforms. This driver will be
191	  needed only on systems that do not have the Exynos MCT available.
192
193config FSL_FTM_TIMER
194	bool
195	help
196	  Support for Freescale FlexTimer Module (FTM) timer.
197
198config VF_PIT_TIMER
199	bool
200	help
201	  Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
202
203config SYS_SUPPORTS_SH_CMT
204        bool
205
206config MTK_TIMER
207	select CLKSRC_OF
208	select CLKSRC_MMIO
209	bool
210
211config SYS_SUPPORTS_SH_MTU2
212        bool
213
214config SYS_SUPPORTS_SH_TMU
215        bool
216
217config SYS_SUPPORTS_EM_STI
218        bool
219
220config SH_TIMER_CMT
221	bool "Renesas CMT timer driver" if COMPILE_TEST
222	depends on GENERIC_CLOCKEVENTS
223	depends on HAS_IOMEM
224	default SYS_SUPPORTS_SH_CMT
225	help
226	  This enables build of a clocksource and clockevent driver for
227	  the Compare Match Timer (CMT) hardware available in 16/32/48-bit
228	  variants on a wide range of Mobile and Automotive SoCs from Renesas.
229
230config SH_TIMER_MTU2
231	bool "Renesas MTU2 timer driver" if COMPILE_TEST
232	depends on GENERIC_CLOCKEVENTS
233	depends on HAS_IOMEM
234	default SYS_SUPPORTS_SH_MTU2
235	help
236	  This enables build of a clockevent driver for the Multi-Function
237	  Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
238	  This hardware comes with 16 bit-timer registers.
239
240config SH_TIMER_TMU
241	bool "Renesas TMU timer driver" if COMPILE_TEST
242	depends on GENERIC_CLOCKEVENTS
243	depends on HAS_IOMEM
244	default SYS_SUPPORTS_SH_TMU
245	help
246	  This enables build of a clocksource and clockevent driver for
247	  the 32-bit Timer Unit (TMU) hardware available on a wide range
248	  SoCs from Renesas.
249
250config EM_TIMER_STI
251	bool "Renesas STI timer driver" if COMPILE_TEST
252	depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
253	default SYS_SUPPORTS_EM_STI
254	help
255	  This enables build of a clocksource and clockevent driver for
256	  the 48-bit System Timer (STI) hardware available on a SoCs
257	  such as EMEV2 from former NEC Electronics.
258
259config CLKSRC_QCOM
260	bool
261
262config CLKSRC_VERSATILE
263	bool "ARM Versatile (Express) reference platforms clock source"
264	depends on PLAT_VERSATILE && GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET
265	select CLKSRC_OF
266	default y if MFD_VEXPRESS_SYSREG
267	help
268	  This option enables clock source based on free running
269	  counter available in the "System Registers" block of
270	  ARM Versatile, RealView and Versatile Express reference
271	  platforms.
272
273config CLKSRC_MIPS_GIC
274	bool
275	depends on MIPS_GIC
276	select CLKSRC_OF
277
278config CLKSRC_PXA
279	def_bool y if ARCH_PXA || ARCH_SA1100
280	select CLKSRC_OF if USE_OF
281	help
282	  This enables OST0 support available on PXA and SA-11x0
283	  platforms.
284
285config H8300_TMR16
286        bool
287
288config H8300_TPU
289        bool
290
291config CLKSRC_IMX_GPT
292	bool "Clocksource using i.MX GPT" if COMPILE_TEST
293	depends on ARM && CLKDEV_LOOKUP
294	select CLKSRC_MMIO
295
296endmenu
297