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