xref: /linux/drivers/clocksource/Kconfig (revision 4ae555a5313a302d36e34b3273545e4088c37cce)
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 CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
146	bool
147	depends on ARM_GLOBAL_TIMER
148	default y
149	help
150	 Use ARM global timer clock source as sched_clock
151
152config ARMV7M_SYSTICK
153	bool
154	select CLKSRC_OF if OF
155	select CLKSRC_MMIO
156	help
157	  This options enables support for the ARMv7M system timer unit
158
159config ATMEL_PIT
160	select CLKSRC_OF if OF
161	def_bool SOC_AT91SAM9 || SOC_SAMA5
162
163config ATMEL_ST
164	bool
165	select CLKSRC_OF
166	select MFD_SYSCON
167
168config CLKSRC_METAG_GENERIC
169	def_bool y if METAG
170	help
171	  This option enables support for the Meta per-thread timers.
172
173config CLKSRC_EXYNOS_MCT
174	def_bool y if ARCH_EXYNOS
175	depends on !ARM64
176	help
177	  Support for Multi Core Timer controller on Exynos SoCs.
178
179config CLKSRC_SAMSUNG_PWM
180	bool
181	help
182	  This is a new clocksource driver for the PWM timer found in
183	  Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
184	  for all devicetree enabled platforms. This driver will be
185	  needed only on systems that do not have the Exynos MCT available.
186
187config FSL_FTM_TIMER
188	bool
189	help
190	  Support for Freescale FlexTimer Module (FTM) timer.
191
192config VF_PIT_TIMER
193	bool
194	help
195	  Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
196
197config SYS_SUPPORTS_SH_CMT
198        bool
199
200config MTK_TIMER
201	select CLKSRC_OF
202	select CLKSRC_MMIO
203	bool
204
205config SYS_SUPPORTS_SH_MTU2
206        bool
207
208config SYS_SUPPORTS_SH_TMU
209        bool
210
211config SYS_SUPPORTS_EM_STI
212        bool
213
214config SH_TIMER_CMT
215	bool "Renesas CMT timer driver" if COMPILE_TEST
216	depends on GENERIC_CLOCKEVENTS
217	depends on HAS_IOMEM
218	default SYS_SUPPORTS_SH_CMT
219	help
220	  This enables build of a clocksource and clockevent driver for
221	  the Compare Match Timer (CMT) hardware available in 16/32/48-bit
222	  variants on a wide range of Mobile and Automotive SoCs from Renesas.
223
224config SH_TIMER_MTU2
225	bool "Renesas MTU2 timer driver" if COMPILE_TEST
226	depends on GENERIC_CLOCKEVENTS
227	depends on HAS_IOMEM
228	default SYS_SUPPORTS_SH_MTU2
229	help
230	  This enables build of a clockevent driver for the Multi-Function
231	  Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
232	  This hardware comes with 16 bit-timer registers.
233
234config SH_TIMER_TMU
235	bool "Renesas TMU timer driver" if COMPILE_TEST
236	depends on GENERIC_CLOCKEVENTS
237	depends on HAS_IOMEM
238	default SYS_SUPPORTS_SH_TMU
239	help
240	  This enables build of a clocksource and clockevent driver for
241	  the 32-bit Timer Unit (TMU) hardware available on a wide range
242	  SoCs from Renesas.
243
244config EM_TIMER_STI
245	bool "Renesas STI timer driver" if COMPILE_TEST
246	depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
247	default SYS_SUPPORTS_EM_STI
248	help
249	  This enables build of a clocksource and clockevent driver for
250	  the 48-bit System Timer (STI) hardware available on a SoCs
251	  such as EMEV2 from former NEC Electronics.
252
253config CLKSRC_QCOM
254	bool
255
256config CLKSRC_VERSATILE
257	bool "ARM Versatile (Express) reference platforms clock source"
258	depends on PLAT_VERSATILE && GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET
259	select CLKSRC_OF
260	default y if MFD_VEXPRESS_SYSREG
261	help
262	  This option enables clock source based on free running
263	  counter available in the "System Registers" block of
264	  ARM Versatile, RealView and Versatile Express reference
265	  platforms.
266
267config CLKSRC_MIPS_GIC
268	bool
269	depends on MIPS_GIC
270	select CLKSRC_OF
271
272config CLKSRC_PXA
273	def_bool y if ARCH_PXA || ARCH_SA1100
274	select CLKSRC_OF if USE_OF
275	help
276	  This enables OST0 support available on PXA and SA-11x0
277	  platforms.
278endmenu
279