xref: /linux/drivers/clocksource/Kconfig (revision 4949009eb8d40a441dcddcd96e101e77d31cf1b2)
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 DW_APB_TIMER
22	bool
23
24config DW_APB_TIMER_OF
25	bool
26	select DW_APB_TIMER
27	select CLKSRC_OF
28
29config ARMADA_370_XP_TIMER
30	bool
31	select CLKSRC_OF
32
33config MESON6_TIMER
34	bool
35	select CLKSRC_MMIO
36
37config ORION_TIMER
38	select CLKSRC_OF
39	select CLKSRC_MMIO
40	bool
41
42config SUN4I_TIMER
43	select CLKSRC_MMIO
44	bool
45
46config SUN5I_HSTIMER
47	select CLKSRC_MMIO
48	bool
49
50config VT8500_TIMER
51	bool
52
53config CADENCE_TTC_TIMER
54	bool
55
56config CLKSRC_NOMADIK_MTU
57	bool
58	depends on (ARCH_NOMADIK || ARCH_U8500)
59	select CLKSRC_MMIO
60	help
61	  Support for Multi Timer Unit. MTU provides access
62	  to multiple interrupt generating programmable
63	  32-bit free running decrementing counters.
64
65config CLKSRC_NOMADIK_MTU_SCHED_CLOCK
66	bool
67	depends on CLKSRC_NOMADIK_MTU
68	help
69	  Use the Multi Timer Unit as the sched_clock.
70
71config CLKSRC_DBX500_PRCMU
72	bool "Clocksource PRCMU Timer"
73	depends on UX500_SOC_DB8500
74	default y
75	help
76	  Use the always on PRCMU Timer as clocksource
77
78config CLKSRC_DBX500_PRCMU_SCHED_CLOCK
79	bool "Clocksource PRCMU Timer sched_clock"
80	depends on (CLKSRC_DBX500_PRCMU && !CLKSRC_NOMADIK_MTU_SCHED_CLOCK)
81	default y
82	help
83	  Use the always on PRCMU Timer as sched_clock
84
85config CLKSRC_EFM32
86	bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32
87	depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST)
88	select CLKSRC_MMIO
89	default ARCH_EFM32
90	help
91	  Support to use the timers of EFM32 SoCs as clock source and clock
92	  event device.
93
94config ARM_ARCH_TIMER
95	bool
96	select CLKSRC_OF if OF
97
98config ARM_ARCH_TIMER_EVTSTREAM
99	bool "Support for ARM architected timer event stream generation"
100	default y if ARM_ARCH_TIMER
101	depends on ARM_ARCH_TIMER
102	help
103	  This option enables support for event stream generation based on
104	  the ARM architected timer. It is used for waking up CPUs executing
105	  the wfe instruction at a frequency represented as a power-of-2
106	  divisor of the clock rate.
107	  The main use of the event stream is wfe-based timeouts of userspace
108	  locking implementations. It might also be useful for imposing timeout
109	  on wfe to safeguard against any programming errors in case an expected
110	  event is not generated.
111	  This must be disabled for hardware validation purposes to detect any
112	  hardware anomalies of missing events.
113
114config ARM_GLOBAL_TIMER
115	bool
116	select CLKSRC_OF if OF
117	help
118	  This options enables support for the ARM global timer unit
119
120config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
121	bool
122	depends on ARM_GLOBAL_TIMER
123	default y
124	help
125	 Use ARM global timer clock source as sched_clock
126
127config ATMEL_PIT
128	select CLKSRC_OF if OF
129	def_bool SOC_AT91SAM9 || SOC_SAMA5
130
131config CLKSRC_METAG_GENERIC
132	def_bool y if METAG
133	help
134	  This option enables support for the Meta per-thread timers.
135
136config CLKSRC_EXYNOS_MCT
137	def_bool y if ARCH_EXYNOS
138	depends on !ARM64
139	help
140	  Support for Multi Core Timer controller on Exynos SoCs.
141
142config CLKSRC_SAMSUNG_PWM
143	bool
144	help
145	  This is a new clocksource driver for the PWM timer found in
146	  Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
147	  for all devicetree enabled platforms. This driver will be
148	  needed only on systems that do not have the Exynos MCT available.
149
150config FSL_FTM_TIMER
151	bool
152	help
153	  Support for Freescale FlexTimer Module (FTM) timer.
154
155config VF_PIT_TIMER
156	bool
157	help
158	  Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
159
160config SYS_SUPPORTS_SH_CMT
161        bool
162
163config MTK_TIMER
164	select CLKSRC_OF
165	select CLKSRC_MMIO
166	bool
167
168config SYS_SUPPORTS_SH_MTU2
169        bool
170
171config SYS_SUPPORTS_SH_TMU
172        bool
173
174config SYS_SUPPORTS_EM_STI
175        bool
176
177config SH_TIMER_CMT
178	bool "Renesas CMT timer driver" if COMPILE_TEST
179	depends on GENERIC_CLOCKEVENTS
180	default SYS_SUPPORTS_SH_CMT
181	help
182	  This enables build of a clocksource and clockevent driver for
183	  the Compare Match Timer (CMT) hardware available in 16/32/48-bit
184	  variants on a wide range of Mobile and Automotive SoCs from Renesas.
185
186config SH_TIMER_MTU2
187	bool "Renesas MTU2 timer driver" if COMPILE_TEST
188	depends on GENERIC_CLOCKEVENTS
189	default SYS_SUPPORTS_SH_MTU2
190	help
191	  This enables build of a clockevent driver for the Multi-Function
192	  Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
193	  This hardware comes with 16 bit-timer registers.
194
195config SH_TIMER_TMU
196	bool "Renesas TMU timer driver" if COMPILE_TEST
197	depends on GENERIC_CLOCKEVENTS
198	default SYS_SUPPORTS_SH_TMU
199	help
200	  This enables build of a clocksource and clockevent driver for
201	  the 32-bit Timer Unit (TMU) hardware available on a wide range
202	  SoCs from Renesas.
203
204config EM_TIMER_STI
205	bool "Renesas STI timer driver" if COMPILE_TEST
206	depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
207	default SYS_SUPPORTS_EM_STI
208	help
209	  This enables build of a clocksource and clockevent driver for
210	  the 48-bit System Timer (STI) hardware available on a SoCs
211	  such as EMEV2 from former NEC Electronics.
212
213config CLKSRC_QCOM
214	bool
215
216config CLKSRC_VERSATILE
217	bool "ARM Versatile (Express) reference platforms clock source"
218	depends on GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET
219	select CLKSRC_OF
220	default y if MFD_VEXPRESS_SYSREG
221	help
222	  This option enables clock source based on free running
223	  counter available in the "System Registers" block of
224	  ARM Versatile, RealView and Versatile Express reference
225	  platforms.
226
227config CLKSRC_MIPS_GIC
228	bool
229	depends on MIPS_GIC
230	select CLKSRC_OF
231
232endmenu
233