blob: 3356ab821624c9f41f1e84560e96b47b2b6695c2 [file] [log] [blame]
Jean Delvare58394272014-06-16 11:48:45 +02001menu "Clock Source drivers"
Arnd Bergmann3da6d492015-11-16 17:51:17 +01002 depends on !ARCH_USES_GETTIMEOFFSET
Jean Delvare58394272014-06-16 11:48:45 +02003
Stephen Warrenae278a92012-11-19 16:41:20 -07004config CLKSRC_OF
5 bool
Marc Zyngieraad83b152015-09-28 15:49:16 +01006 select CLKSRC_PROBE
7
Daniel Lezcano376bc272016-04-19 08:56:27 +02008config CLKEVT_OF
9 bool
10 select CLKEVT_PROBE
11
Marc Zyngieraad83b152015-09-28 15:49:16 +010012config CLKSRC_ACPI
13 bool
14 select CLKSRC_PROBE
15
16config CLKSRC_PROBE
17 bool
Stephen Warrenae278a92012-11-19 16:41:20 -070018
Daniel Lezcano376bc272016-04-19 08:56:27 +020019config CLKEVT_PROBE
20 bool
21
Russell King89c0b8e2011-05-08 18:47:58 +010022config CLKSRC_I8253
23 bool
Russell King442c8172011-05-08 14:06:52 +010024
Thomas Gleixnere6220bd2011-06-09 13:08:25 +000025config CLKEVT_I8253
26 bool
27
Ralf Baechle15f304b2011-06-01 19:04:59 +010028config I8253_LOCK
29 bool
30
31config CLKBLD_I8253
Thomas Gleixnere6220bd2011-06-09 13:08:25 +000032 def_bool y if CLKSRC_I8253 || CLKEVT_I8253 || I8253_LOCK
Ralf Baechle15f304b2011-06-01 19:04:59 +010033
Russell King442c8172011-05-08 14:06:52 +010034config CLKSRC_MMIO
35 bool
Jamie Iles06c3df42011-06-06 12:43:07 +010036
Daniel Lezcano2ea879a2016-06-02 18:35:38 +020037config BCM2835_TIMER
38 bool "BCM2835 timer driver" if COMPILE_TEST
39 depends on GENERIC_CLOCKEVENTS
40 select CLKSRC_MMIO
41 help
42 Enables the support for the BCM2835 timer driver.
43
Daniel Lezcano1cad71e2016-06-02 19:20:36 +020044config BCM_KONA_TIMER
45 bool "BCM mobile timer driver" if COMPILE_TEST
46 depends on GENERIC_CLOCKEVENTS
47 select CLKSRC_MMIO
48 help
49 Enables the support for the BCM Kona mobile timer driver.
50
Baruch Siach9b8bb772015-01-26 20:35:18 +020051config DIGICOLOR_TIMER
Daniel Lezcanoe6c1db12015-10-30 22:32:10 +010052 bool "Digicolor timer driver" if COMPILE_TEST
Daniel Lezcano0901f182015-11-04 14:21:42 +010053 depends on GENERIC_CLOCKEVENTS
Arnd Bergmann2be6d9b2016-01-25 17:02:49 +010054 select CLKSRC_MMIO
Richard Weinbergerd7023e622016-01-25 23:24:19 +010055 depends on HAS_IOMEM
Daniel Lezcanoe6c1db12015-10-30 22:32:10 +010056 help
57 Enables the support for the digicolor timer driver.
Baruch Siach9b8bb772015-01-26 20:35:18 +020058
Jamie Iles06c3df42011-06-06 12:43:07 +010059config DW_APB_TIMER
Daniel Lezcano5b097f62015-10-30 22:35:00 +010060 bool "DW APB timer driver" if COMPILE_TEST
Daniel Lezcano0901f182015-11-04 14:21:42 +010061 depends on GENERIC_CLOCKEVENTS
Daniel Lezcano5b097f62015-10-30 22:35:00 +010062 help
63 Enables the support for the dw_apb timer.
Mattias Wallin489bcce2011-05-27 10:30:12 +020064
Dinh Nguyencfda5902012-07-11 15:13:16 -050065config DW_APB_TIMER_OF
66 bool
Heiko Stuebner1b4eca02013-06-04 11:38:11 +020067 select DW_APB_TIMER
Heiko Stuebner10021482013-06-04 11:38:42 +020068 select CLKSRC_OF
Dinh Nguyencfda5902012-07-11 15:13:16 -050069
Linus Walleij47505352017-01-22 13:17:17 +010070config GEMINI_TIMER
71 bool "Cortina Gemini timer driver" if COMPILE_TEST
72 depends on GENERIC_CLOCKEVENTS
73 depends on HAS_IOMEM
74 select CLKSRC_MMIO
75 select CLKSRC_OF
76 select MFD_SYSCON
77 help
78 Enables support for the Gemini timer
79
Daniel Lezcano468b8c42015-01-25 22:06:02 +010080config ROCKCHIP_TIMER
Daniel Lezcano40ada2a2015-10-30 17:58:47 +010081 bool "Rockchip timer driver" if COMPILE_TEST
82 depends on ARM || ARM64
Daniel Lezcano468b8c42015-01-25 22:06:02 +010083 select CLKSRC_OF
Daniel Lezcano40ada2a2015-10-30 17:58:47 +010084 help
85 Enables the support for the rockchip timer driver.
Daniel Lezcano468b8c42015-01-25 22:06:02 +010086
Gregory CLEMENT6fe9cbd2012-06-13 18:58:09 +020087config ARMADA_370_XP_TIMER
Daniel Lezcano9519e802015-10-30 20:30:34 +010088 bool "Armada 370 and XP timer driver" if COMPILE_TEST
89 depends on ARM
Jean Pihet7b0dd722013-09-18 20:55:09 +020090 select CLKSRC_OF
Arnd Bergmann2be6d9b2016-01-25 17:02:49 +010091 select CLKSRC_MMIO
Daniel Lezcano9519e802015-10-30 20:30:34 +010092 help
93 Enables the support for the Armada 370 and XP timer driver.
Gregory CLEMENT6fe9cbd2012-06-13 18:58:09 +020094
Carlo Caionee4a6b372014-09-29 01:50:05 +020095config MESON6_TIMER
Daniel Lezcano0b7a7bb2015-10-30 22:07:39 +010096 bool "Meson6 timer driver" if COMPILE_TEST
Daniel Lezcano0901f182015-11-04 14:21:42 +010097 depends on GENERIC_CLOCKEVENTS
Beniamino Galvani7b6b0a42014-11-18 16:41:20 +010098 select CLKSRC_MMIO
Daniel Lezcano0b7a7bb2015-10-30 22:07:39 +010099 help
100 Enables the support for the Meson6 timer driver.
Carlo Caionee4a6b372014-09-29 01:50:05 +0200101
Sebastian Hesselbarth0c1dcfd2013-06-11 08:38:50 +0200102config ORION_TIMER
Daniel Lezcanoc9165542015-10-30 22:28:31 +0100103 bool "Orion timer driver" if COMPILE_TEST
104 depends on ARM
Sebastian Hesselbarth0c1dcfd2013-06-11 08:38:50 +0200105 select CLKSRC_OF
106 select CLKSRC_MMIO
Daniel Lezcanoc9165542015-10-30 22:28:31 +0100107 help
108 Enables the support for the Orion timer driver
Sebastian Hesselbarth0c1dcfd2013-06-11 08:38:50 +0200109
Maxime Ripard119fd632013-03-24 11:49:25 +0100110config SUN4I_TIMER
Daniel Lezcanob4fcd482015-10-30 22:39:00 +0100111 bool "Sun4i timer driver" if COMPILE_TEST
Daniel Lezcano0901f182015-11-04 14:21:42 +0100112 depends on GENERIC_CLOCKEVENTS
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100113 depends on HAS_IOMEM
Maxime Ripard71c568c2013-10-14 21:07:46 +0200114 select CLKSRC_MMIO
Daniel Lezcanob4fcd482015-10-30 22:39:00 +0100115 help
116 Enables support for the Sun4i timer.
Maxime Ripardb2ac5d72012-11-12 15:07:50 +0100117
Maxime Ripard67905542013-11-07 12:01:48 +0100118config SUN5I_HSTIMER
Daniel Lezcanof0c5afb2015-10-31 17:01:46 +0100119 bool "Sun5i timer driver" if COMPILE_TEST
Maxime Ripard67905542013-11-07 12:01:48 +0100120 select CLKSRC_MMIO
Daniel Lezcanof0c5afb2015-10-31 17:01:46 +0100121 depends on COMMON_CLK
122 help
123 Enables support the Sun5i timer.
Maxime Ripard67905542013-11-07 12:01:48 +0100124
Thierry Reding910978e72014-07-07 15:26:30 +0200125config TEGRA_TIMER
Daniel Lezcanoadce4bc2015-10-31 20:13:09 +0100126 bool "Tegra timer driver" if COMPILE_TEST
Arnd Bergmann2be6d9b2016-01-25 17:02:49 +0100127 select CLKSRC_MMIO
Daniel Lezcanoadce4bc2015-10-31 20:13:09 +0100128 depends on ARM
129 help
130 Enables support for the Tegra driver.
Thierry Reding910978e72014-07-07 15:26:30 +0200131
Tony Priskff7ec342013-01-14 17:58:21 +1300132config VT8500_TIMER
Daniel Lezcanob4bdf7e2015-10-31 20:23:54 +0100133 bool "VT8500 timer driver" if COMPILE_TEST
Daniel Lezcano0901f182015-11-04 14:21:42 +0100134 depends on GENERIC_CLOCKEVENTS
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100135 depends on HAS_IOMEM
Daniel Lezcanob4bdf7e2015-10-31 20:23:54 +0100136 help
137 Enables support for the VT8500 driver.
Tony Priskff7ec342013-01-14 17:58:21 +1300138
Michal Simek4f0f2342013-03-20 10:46:01 +0100139config CADENCE_TTC_TIMER
Daniel Lezcano57f49312015-10-31 21:39:03 +0100140 bool "Cadence TTC timer driver" if COMPILE_TEST
141 depends on COMMON_CLK
142 help
143 Enables support for the cadence ttc driver.
Michal Simek4f0f2342013-03-20 10:46:01 +0100144
Daniel Lezcanoa8b1b9f2015-02-23 19:54:16 +0100145config ASM9260_TIMER
Daniel Lezcanob9755842015-10-31 21:41:23 +0100146 bool "ASM9260 timer driver" if COMPILE_TEST
Daniel Lezcano0901f182015-11-04 14:21:42 +0100147 depends on GENERIC_CLOCKEVENTS
Daniel Lezcanoa8b1b9f2015-02-23 19:54:16 +0100148 select CLKSRC_MMIO
149 select CLKSRC_OF
Daniel Lezcanob9755842015-10-31 21:41:23 +0100150 help
151 Enables support for the ASM9260 timer.
Daniel Lezcanoa8b1b9f2015-02-23 19:54:16 +0100152
Linus Walleij694e33a2012-10-18 14:01:25 +0200153config CLKSRC_NOMADIK_MTU
Daniel Lezcano70329652015-11-01 21:11:28 +0100154 bool "Nomakdik clocksource driver" if COMPILE_TEST
155 depends on ARM
Linus Walleij694e33a2012-10-18 14:01:25 +0200156 select CLKSRC_MMIO
157 help
158 Support for Multi Timer Unit. MTU provides access
159 to multiple interrupt generating programmable
160 32-bit free running decrementing counters.
161
162config CLKSRC_NOMADIK_MTU_SCHED_CLOCK
163 bool
164 depends on CLKSRC_NOMADIK_MTU
165 help
166 Use the Multi Timer Unit as the sched_clock.
167
Mattias Wallin489bcce2011-05-27 10:30:12 +0200168config CLKSRC_DBX500_PRCMU
Daniel Lezcano1becd6e2015-11-01 21:16:01 +0100169 bool "Clocksource PRCMU Timer" if COMPILE_TEST
Daniel Lezcano0901f182015-11-04 14:21:42 +0100170 depends on GENERIC_CLOCKEVENTS
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100171 depends on HAS_IOMEM
Mattias Wallin489bcce2011-05-27 10:30:12 +0200172 help
173 Use the always on PRCMU Timer as clocksource
174
Daniel Lezcanoecf0efd2016-06-02 20:06:54 +0200175config CLPS711X_TIMER
176 bool "Cirrus logic timer driver" if COMPILE_TEST
177 depends on GENERIC_CLOCKEVENTS
178 select CLKSRC_MMIO
179 help
180 Enables support for the Cirrus Logic PS711 timer.
181
Daniel Lezcanob56d5d22016-06-03 13:11:39 +0200182config ATLAS7_TIMER
183 bool "Atlas7 timer driver" if COMPILE_TEST
184 depends on GENERIC_CLOCKEVENTS
185 select CLKSRC_MMIO
186 help
187 Enables support for the Atlas7 timer.
188
Daniel Lezcano419be9e2016-06-03 13:29:03 +0200189config MOXART_TIMER
190 bool "Moxart timer driver" if COMPILE_TEST
191 depends on GENERIC_CLOCKEVENTS
192 select CLKSRC_MMIO
193 help
194 Enables support for the Moxart timer.
195
Daniel Lezcanod81c50a2016-06-03 13:36:18 +0200196config MXS_TIMER
197 bool "Mxs timer driver" if COMPILE_TEST
198 depends on GENERIC_CLOCKEVENTS
199 select CLKSRC_MMIO
200 select STMP_DEVICE
201 help
202 Enables support for the Mxs timer.
203
Daniel Lezcanof3550d42016-06-03 14:28:38 +0200204config PRIMA2_TIMER
205 bool "Prima2 timer driver" if COMPILE_TEST
206 depends on GENERIC_CLOCKEVENTS
207 select CLKSRC_MMIO
208 help
209 Enables support for the Prima2 timer.
210
Daniel Lezcano85f98db2016-06-03 14:31:16 +0200211config U300_TIMER
212 bool "U300 timer driver" if COMPILE_TEST
213 depends on GENERIC_CLOCKEVENTS
214 depends on ARM
215 select CLKSRC_MMIO
216 help
217 Enables support for the U300 timer.
218
Daniel Lezcanod683b9d2016-06-03 15:03:21 +0200219config NSPIRE_TIMER
220 bool "NSpire timer driver" if COMPILE_TEST
221 depends on GENERIC_CLOCKEVENTS
222 select CLKSRC_MMIO
223 help
224 Enables support for the Nspire timer.
225
Daniel Lezcanoc12547a2016-06-03 15:05:05 +0200226config KEYSTONE_TIMER
227 bool "Keystone timer driver" if COMPILE_TEST
228 depends on GENERIC_CLOCKEVENTS
229 depends on ARM || ARM64
230 select CLKSRC_MMIO
231 help
232 Enables support for the Keystone timer.
233
Daniel Lezcano568c0342016-06-03 15:11:21 +0200234config INTEGRATOR_AP_TIMER
235 bool "Integrator-ap timer driver" if COMPILE_TEST
236 depends on GENERIC_CLOCKEVENTS
237 select CLKSRC_MMIO
238 help
239 Enables support for the Integrator-ap timer.
240
Mattias Wallin489bcce2011-05-27 10:30:12 +0200241config CLKSRC_DBX500_PRCMU_SCHED_CLOCK
242 bool "Clocksource PRCMU Timer sched_clock"
Linus Walleij694e33a2012-10-18 14:01:25 +0200243 depends on (CLKSRC_DBX500_PRCMU && !CLKSRC_NOMADIK_MTU_SCHED_CLOCK)
Mattias Wallin489bcce2011-05-27 10:30:12 +0200244 default y
245 help
246 Use the always on PRCMU Timer as sched_clock
Marc Zyngier985c0672012-03-05 11:49:30 +0000247
Uwe Kleine-König9c9b7812013-10-03 21:56:29 +0200248config CLKSRC_EFM32
249 bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32
250 depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST)
Axel Lin09ca2752013-11-20 10:15:11 +0800251 select CLKSRC_MMIO
Uwe Kleine-König9c9b7812013-10-03 21:56:29 +0200252 default ARCH_EFM32
253 help
254 Support to use the timers of EFM32 SoCs as clock source and clock
255 event device.
256
Joachim Eastwood050dd322015-05-12 00:00:48 +0200257config CLKSRC_LPC32XX
Daniel Lezcanoddcf48c2015-10-31 21:44:52 +0100258 bool "Clocksource for LPC32XX" if COMPILE_TEST
Richard Weinberger863ee052016-01-02 23:06:36 +0100259 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
Ezequiel Garcia1b18fd22016-02-09 22:54:27 -0300260 depends on ARM
Joachim Eastwood050dd322015-05-12 00:00:48 +0200261 select CLKSRC_MMIO
262 select CLKSRC_OF
Daniel Lezcanoddcf48c2015-10-31 21:44:52 +0100263 help
264 Support for the LPC32XX clocksource.
Joachim Eastwood050dd322015-05-12 00:00:48 +0200265
Ezequiel Garcia84583982015-08-07 16:39:31 +0100266config CLKSRC_PISTACHIO
Daniel Lezcanodfdb1652015-10-30 17:28:13 +0100267 bool "Clocksource for Pistachio SoC" if COMPILE_TEST
Richard Weinberger863ee052016-01-02 23:06:36 +0100268 depends on HAS_IOMEM
Ezequiel Garcia84583982015-08-07 16:39:31 +0100269 select CLKSRC_OF
Daniel Lezcanodfdb1652015-10-30 17:28:13 +0100270 help
271 Enables the clocksource for the Pistachio SoC.
Ezequiel Garcia84583982015-08-07 16:39:31 +0100272
Felipe Balbife851f52015-09-29 13:55:33 -0500273config CLKSRC_TI_32K
274 bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST
Felipe Balbidfedaf12015-10-16 16:10:05 -0500275 depends on GENERIC_SCHED_CLOCK
Felipe Balbife851f52015-09-29 13:55:33 -0500276 select CLKSRC_OF if OF
277 help
278 This option enables support for Texas Instruments 32.768 Hz clocksource
279 available on many OMAP-like platforms.
280
Noam Camusa5322452015-10-17 22:37:30 +0300281config CLKSRC_NPS
282 bool "NPS400 clocksource driver" if COMPILE_TEST
283 depends on !PHYS_ADDR_T_64BIT
284 select CLKSRC_MMIO
285 select CLKSRC_OF if OF
286 help
287 NPS400 clocksource support.
288 Got 64 bit counter with update rate up to 1000MHz.
289 This counter is accessed via couple of 32 bit memory mapped registers.
290
Maxime Coqueline37e4592015-05-22 23:03:33 +0200291config CLKSRC_STM32
Paul Gortmaker1cb6c212015-06-20 19:02:32 -0400292 bool "Clocksource for STM32 SoCs" if !ARCH_STM32
293 depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST)
Maxime Coqueline37e4592015-05-22 23:03:33 +0200294 select CLKSRC_MMIO
295
Vladimir Murzin03026372016-04-25 09:45:44 +0100296config CLKSRC_MPS2
297 bool "Clocksource for MPS2 SoCs" if COMPILE_TEST
298 depends on GENERIC_SCHED_CLOCK
299 select CLKSRC_MMIO
300 select CLKSRC_OF
301
Vineet Guptac4c9a042016-10-31 13:46:38 -0700302config ARC_TIMERS
303 bool "Support for 32-bit TIMERn counters in ARC Cores" if COMPILE_TEST
304 depends on GENERIC_CLOCKEVENTS
305 select CLKSRC_OF
306 help
307 These are legacy 32-bit TIMER0 and TIMER1 counters found on all ARC cores
308 (ARC700 as well as ARC HS38).
309 TIMER0 serves as clockevent while TIMER1 provides clocksource
310
311config ARC_TIMERS_64BIT
312 bool "Support for 64-bit counters in ARC HS38 cores" if COMPILE_TEST
313 depends on GENERIC_CLOCKEVENTS
314 depends on ARC_TIMERS
315 select CLKSRC_OF
316 help
317 This enables 2 different 64-bit timers: RTC (for UP) and GFRC (for SMP)
318 RTC is implemented inside the core, while GFRC sits outside the core in
319 ARConnect IP block. Driver automatically picks one of them for clocksource
320 as appropriate.
321
Mark Rutland8a4da6e2012-11-12 14:33:44 +0000322config ARM_ARCH_TIMER
323 bool
Rob Herring0583fe42013-04-10 18:27:51 -0500324 select CLKSRC_OF if OF
Marc Zyngierae281cb2015-09-28 15:49:17 +0100325 select CLKSRC_ACPI if ACPI
James Hogana2c5d4e2012-10-09 10:54:39 +0100326
Will Deacon037f6372013-08-23 15:32:29 +0100327config ARM_ARCH_TIMER_EVTSTREAM
Will Deacon46fd5c62016-06-27 17:30:13 +0100328 bool "Enable ARM architected timer event stream generation by default"
Will Deacon037f6372013-08-23 15:32:29 +0100329 default y if ARM_ARCH_TIMER
Stephen Boyd77f7ce92013-11-20 12:02:03 -0800330 depends on ARM_ARCH_TIMER
Will Deacon037f6372013-08-23 15:32:29 +0100331 help
Will Deacon46fd5c62016-06-27 17:30:13 +0100332 This option enables support by default for event stream generation
333 based on the ARM architected timer. It is used for waking up CPUs
334 executing the wfe instruction at a frequency represented as a
335 power-of-2 divisor of the clock rate. The behaviour can also be
336 overridden on the command line using the
337 clocksource.arm_arch_timer.evtstream parameter.
Will Deacon037f6372013-08-23 15:32:29 +0100338 The main use of the event stream is wfe-based timeouts of userspace
339 locking implementations. It might also be useful for imposing timeout
340 on wfe to safeguard against any programming errors in case an expected
341 event is not generated.
342 This must be disabled for hardware validation purposes to detect any
343 hardware anomalies of missing events.
344
Ding Tianhong16d10ef2017-02-06 16:47:41 +0000345config ARM_ARCH_TIMER_OOL_WORKAROUND
346 bool
347
Scott Woodf6dc1572016-09-22 03:35:17 -0500348config FSL_ERRATUM_A008585
349 bool "Workaround for Freescale/NXP Erratum A-008585"
350 default y
351 depends on ARM_ARCH_TIMER && ARM64
Ding Tianhong16d10ef2017-02-06 16:47:41 +0000352 select ARM_ARCH_TIMER_OOL_WORKAROUND
Scott Woodf6dc1572016-09-22 03:35:17 -0500353 help
354 This option enables a workaround for Freescale/NXP Erratum
355 A-008585 ("ARM generic timer may contain an erroneous
356 value"). The workaround will only be active if the
357 fsl,erratum-a008585 property is found in the timer node.
358
Ding Tianhongbb42ca42017-02-06 16:47:42 +0000359config HISILICON_ERRATUM_161010101
360 bool "Workaround for Hisilicon Erratum 161010101"
361 default y
362 select ARM_ARCH_TIMER_OOL_WORKAROUND
363 depends on ARM_ARCH_TIMER && ARM64
364 help
365 This option enables a workaround for Hisilicon Erratum
366 161010101. The workaround will be active if the hisilicon,erratum-161010101
367 property is found in the timer node.
368
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100369config ARM_GLOBAL_TIMER
Daniel Lezcano67a87a42016-06-06 14:34:28 +0200370 bool "Support for the ARM global timer" if COMPILE_TEST
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100371 select CLKSRC_OF if OF
Daniel Lezcano67a87a42016-06-06 14:34:28 +0200372 depends on ARM
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100373 help
374 This options enables support for the ARM global timer unit
375
Sudeep Holla0b7402d2015-05-18 16:29:40 +0100376config ARM_TIMER_SP804
377 bool "Support for Dual Timer SP804 module"
Guenter Roeck002af192015-06-23 20:49:05 -0700378 depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP
Sudeep Holla0b7402d2015-05-18 16:29:40 +0100379 select CLKSRC_MMIO
380 select CLKSRC_OF if OF
381
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100382config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
383 bool
384 depends on ARM_GLOBAL_TIMER
385 default y
386 help
387 Use ARM global timer clock source as sched_clock
388
Maxime Coquelin4958ebb2015-05-09 09:53:46 +0200389config ARMV7M_SYSTICK
Daniel Lezcanoe2146d82016-06-02 18:41:52 +0200390 bool "Support for the ARMv7M system time" if COMPILE_TEST
Maxime Coquelin4958ebb2015-05-09 09:53:46 +0200391 select CLKSRC_OF if OF
392 select CLKSRC_MMIO
393 help
394 This options enables support for the ARMv7M system timer unit
395
Maxime Ripardb052ff32014-09-02 18:12:35 +0200396config ATMEL_PIT
397 select CLKSRC_OF if OF
398 def_bool SOC_AT91SAM9 || SOC_SAMA5
399
Alexandre Bellonib53cdd02015-03-12 13:07:31 +0100400config ATMEL_ST
Daniel Lezcanob988d3f2016-06-06 19:08:39 +0200401 bool "Atmel ST timer support" if COMPILE_TEST
402 depends on GENERIC_CLOCKEVENTS
Alexandre Bellonib53cdd02015-03-12 13:07:31 +0100403 select CLKSRC_OF
Alexandre Belloni7ab7ef72015-03-19 14:17:48 +0100404 select MFD_SYSCON
Daniel Lezcanob988d3f2016-06-06 19:08:39 +0200405 help
406 Support for the Atmel ST timer.
Alexandre Bellonib53cdd02015-03-12 13:07:31 +0100407
James Hogana2c5d4e2012-10-09 10:54:39 +0100408config CLKSRC_METAG_GENERIC
409 def_bool y if METAG
410 help
411 This option enables support for the Meta per-thread timers.
Thomas Abraham6938d75a2013-03-09 16:16:13 +0900412
413config CLKSRC_EXYNOS_MCT
Daniel Lezcano39366ef2015-11-01 21:51:30 +0100414 bool "Exynos multi core timer driver" if COMPILE_TEST
Chanwoo Choif1a4c1f2016-08-24 22:49:05 +0900415 depends on ARM || ARM64
Thomas Abraham6938d75a2013-03-09 16:16:13 +0900416 help
417 Support for Multi Core Timer controller on Exynos SoCs.
Arnd Bergmann241a9872013-05-06 23:49:09 +0200418
Tomasz Figaf1189982013-04-20 23:22:13 +0200419config CLKSRC_SAMSUNG_PWM
Alexandre Bellonide37b0b2016-06-16 15:53:18 +0200420 bool "PWM timer driver for Samsung S3C, S5P" if COMPILE_TEST
Daniel Lezcano0901f182015-11-04 14:21:42 +0100421 depends on GENERIC_CLOCKEVENTS
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100422 depends on HAS_IOMEM
Tomasz Figaf1189982013-04-20 23:22:13 +0200423 help
424 This is a new clocksource driver for the PWM timer found in
425 Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
426 for all devicetree enabled platforms. This driver will be
427 needed only on systems that do not have the Exynos MCT available.
Jingchang Luc1967242013-05-29 10:12:17 +0200428
Xiubo Li2529c3a2014-05-23 10:12:04 +0200429config FSL_FTM_TIMER
Daniel Lezcanoef493362015-11-02 09:51:02 +0100430 bool "Freescale FlexTimer Module driver" if COMPILE_TEST
Daniel Lezcano0901f182015-11-04 14:21:42 +0100431 depends on GENERIC_CLOCKEVENTS
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100432 depends on HAS_IOMEM
Daniel Lezcano03724ac2016-01-08 14:21:31 +0100433 select CLKSRC_MMIO
Xiubo Li2529c3a2014-05-23 10:12:04 +0200434 help
435 Support for Freescale FlexTimer Module (FTM) timer.
436
Jingchang Luc1967242013-05-29 10:12:17 +0200437config VF_PIT_TIMER
438 bool
Arnd Bergmann2be6d9b2016-01-25 17:02:49 +0100439 select CLKSRC_MMIO
Jingchang Luc1967242013-05-29 10:12:17 +0200440 help
441 Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
Magnus Dammfd3f1272014-02-20 12:54:45 +0100442
Neil Armstrong89355272016-06-15 12:13:26 +0200443config OXNAS_RPS_TIMER
444 bool "Oxford Semiconductor OXNAS RPS Timers driver" if COMPILE_TEST
445 depends on GENERIC_CLOCKEVENTS
446 select CLKSRC_OF
447 select CLKSRC_MMIO
448 help
449 This enables support for the Oxford Semiconductor OXNAS RPS timers.
450
Magnus Dammfd3f1272014-02-20 12:54:45 +0100451config SYS_SUPPORTS_SH_CMT
452 bool
453
Matthias Bruggerecb35302014-07-18 11:36:43 +0200454config MTK_TIMER
Daniel Lezcanofbca9ea2015-10-30 17:53:27 +0100455 bool "Mediatek timer driver" if COMPILE_TEST
Richard Weinberger863ee052016-01-02 23:06:36 +0100456 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
Matthias Bruggerecb35302014-07-18 11:36:43 +0200457 select CLKSRC_OF
458 select CLKSRC_MMIO
Daniel Lezcanofbca9ea2015-10-30 17:53:27 +0100459 help
460 Support for Mediatek timer driver.
Matthias Bruggerecb35302014-07-18 11:36:43 +0200461
Magnus Dammfd3f1272014-02-20 12:54:45 +0100462config SYS_SUPPORTS_SH_MTU2
463 bool
464
465config SYS_SUPPORTS_SH_TMU
466 bool
467
468config SYS_SUPPORTS_EM_STI
469 bool
470
Rich Felker9995f4f2016-10-13 21:51:06 +0000471config CLKSRC_JCORE_PIT
472 bool "J-Core PIT timer driver" if COMPILE_TEST
473 depends on OF
474 depends on GENERIC_CLOCKEVENTS
475 depends on HAS_IOMEM
476 select CLKSRC_MMIO
477 help
478 This enables build of clocksource and clockevent driver for
479 the integrated PIT in the J-Core synthesizable, open source SoC.
480
Magnus Dammfd3f1272014-02-20 12:54:45 +0100481config SH_TIMER_CMT
482 bool "Renesas CMT timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100483 depends on GENERIC_CLOCKEVENTS
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100484 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100485 default SYS_SUPPORTS_SH_CMT
486 help
487 This enables build of a clocksource and clockevent driver for
488 the Compare Match Timer (CMT) hardware available in 16/32/48-bit
489 variants on a wide range of Mobile and Automotive SoCs from Renesas.
490
491config SH_TIMER_MTU2
492 bool "Renesas MTU2 timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100493 depends on GENERIC_CLOCKEVENTS
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100494 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100495 default SYS_SUPPORTS_SH_MTU2
496 help
497 This enables build of a clockevent driver for the Multi-Function
Kuninori Morimoto7e139182014-07-18 11:36:36 +0200498 Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
Magnus Dammfd3f1272014-02-20 12:54:45 +0100499 This hardware comes with 16 bit-timer registers.
500
Chris Brandtfb6002a2017-01-27 15:02:15 -0500501config RENESAS_OSTM
502 bool "Renesas OSTM timer driver" if COMPILE_TEST
503 depends on GENERIC_CLOCKEVENTS
504 select CLKSRC_MMIO
505 help
506 Enables the support for the Renesas OSTM.
507
Magnus Dammfd3f1272014-02-20 12:54:45 +0100508config SH_TIMER_TMU
509 bool "Renesas TMU timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100510 depends on GENERIC_CLOCKEVENTS
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100511 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100512 default SYS_SUPPORTS_SH_TMU
513 help
514 This enables build of a clocksource and clockevent driver for
515 the 32-bit Timer Unit (TMU) hardware available on a wide range
516 SoCs from Renesas.
517
518config EM_TIMER_STI
519 bool "Renesas STI timer driver" if COMPILE_TEST
Chen Gang40c96312014-07-08 20:39:40 +0800520 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100521 default SYS_SUPPORTS_EM_STI
522 help
523 This enables build of a clocksource and clockevent driver for
524 the 48-bit System Timer (STI) hardware available on a SoCs
525 such as EMEV2 from former NEC Electronics.
Linus Torvaldsdfc25e42014-04-05 13:51:19 -0700526
Kumar Gala3f8e8ce2014-01-29 16:17:30 -0600527config CLKSRC_QCOM
Daniel Lezcano3dc0e9f2015-10-09 11:10:43 +0200528 bool "Qualcomm MSM timer" if COMPILE_TEST
529 depends on ARM
530 select CLKSRC_OF
531 help
532 This enables the clocksource and the per CPU clockevent driver for the
533 Qualcomm SoCs.
Pawel Moll220e2a82014-04-16 18:22:59 +0100534
535config CLKSRC_VERSATILE
Daniel Lezcano5cc87a42016-06-07 11:05:01 +0200536 bool "ARM Versatile (Express) reference platforms clock source" if COMPILE_TEST
537 depends on GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET
Pawel Moll220e2a82014-04-16 18:22:59 +0100538 select CLKSRC_OF
539 default y if MFD_VEXPRESS_SYSREG
540 help
541 This option enables clock source based on free running
542 counter available in the "System Registers" block of
543 ARM Versatile, RealView and Versatile Express reference
544 platforms.
Jean Delvare58394272014-06-16 11:48:45 +0200545
Andrew Brestickerfa5635a2014-10-20 12:03:58 -0700546config CLKSRC_MIPS_GIC
547 bool
548 depends on MIPS_GIC
Andrew Brestickere12aa822014-11-12 11:43:39 -0800549 select CLKSRC_OF
Andrew Brestickerfa5635a2014-10-20 12:03:58 -0700550
Marc Gonzalezccd63ce2015-10-09 16:59:18 +0200551config CLKSRC_TANGO_XTAL
Daniel Lezcano5a7351f2015-10-29 20:54:19 +0100552 bool "Clocksource for Tango SoC" if COMPILE_TEST
553 depends on ARM
Marc Gonzalezccd63ce2015-10-09 16:59:18 +0200554 select CLKSRC_OF
Daniel Lezcano08818412015-11-13 10:44:38 +0100555 select CLKSRC_MMIO
Daniel Lezcano5a7351f2015-10-29 20:54:19 +0100556 help
557 This enables the clocksource for Tango SoC
Marc Gonzalezccd63ce2015-10-09 16:59:18 +0200558
Dmitry Eremin-Solenikove074ff82014-12-21 16:07:09 +0100559config CLKSRC_PXA
Daniel Lezcano5ae996c2015-10-09 17:47:32 +0200560 bool "Clocksource for PXA or SA-11x0 platform" if COMPILE_TEST
561 depends on GENERIC_CLOCKEVENTS
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100562 depends on HAS_IOMEM
Daniel Lezcano5ae996c2015-10-09 17:47:32 +0200563 select CLKSRC_MMIO
Dmitry Eremin-Solenikove074ff82014-12-21 16:07:09 +0100564 help
565 This enables OST0 support available on PXA and SA-11x0
566 platforms.
Yoshinori Sato618b9022015-01-28 02:52:42 +0900567
Daniel Lezcano97a23be2015-11-09 14:43:52 +0100568config H8300_TMR8
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100569 bool "Clockevent timer for the H8300 platform" if COMPILE_TEST
Richard Weinberger863ee052016-01-02 23:06:36 +0100570 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100571 help
572 This enables the 8 bits timer for the H8300 platform.
Daniel Lezcano97a23be2015-11-09 14:43:52 +0100573
Yoshinori Sato618b9022015-01-28 02:52:42 +0900574config H8300_TMR16
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100575 bool "Clockevent timer for the H83069 platform" if COMPILE_TEST
Richard Weinberger863ee052016-01-02 23:06:36 +0100576 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100577 help
578 This enables the 16 bits timer for the H8300 platform with the
579 H83069 cpu.
Yoshinori Sato618b9022015-01-28 02:52:42 +0900580
581config H8300_TPU
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100582 bool "Clocksource for the H8300 platform" if COMPILE_TEST
Richard Weinberger863ee052016-01-02 23:06:36 +0100583 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100584 help
585 This enables the clocksource for the H8300 platform with the
586 H8S2678 cpu.
Yoshinori Sato618b9022015-01-28 02:52:42 +0900587
Shawn Guobea5af42015-05-15 15:41:00 +0800588config CLKSRC_IMX_GPT
589 bool "Clocksource using i.MX GPT" if COMPILE_TEST
590 depends on ARM && CLKDEV_LOOKUP
591 select CLKSRC_MMIO
592
Lee Jones70bef012015-05-26 13:39:43 +0100593config CLKSRC_ST_LPC
Daniel Lezcanobaacaf82015-10-09 15:36:28 +0200594 bool "Low power clocksource found in the LPC" if COMPILE_TEST
Lee Jones70bef012015-05-26 13:39:43 +0100595 select CLKSRC_OF if OF
Richard Weinberger863ee052016-01-02 23:06:36 +0100596 depends on HAS_IOMEM
Arnd Bergmann2be6d9b2016-01-25 17:02:49 +0100597 select CLKSRC_MMIO
Lee Jones70bef012015-05-26 13:39:43 +0100598 help
599 Enable this option to use the Low Power controller timer
600 as clocksource.
601
Jean Delvare58394272014-06-16 11:48:45 +0200602endmenu