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