blob: a1e4fc6225693efda38d0dcb7a6ece3ca20d4535 [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 Walleijf5bf0ee2017-03-24 22:32:34 +010070config FTTMR010_TIMER
71 bool "Faraday Technology timer driver" if COMPILE_TEST
Linus Walleij47505352017-01-22 13:17:17 +010072 depends on GENERIC_CLOCKEVENTS
73 depends on HAS_IOMEM
74 select CLKSRC_MMIO
75 select CLKSRC_OF
76 select MFD_SYSCON
77 help
Linus Walleijf5bf0ee2017-03-24 22:32:34 +010078 Enables support for the Faraday Technology timer block
79 FTTMR010.
Linus Walleij47505352017-01-22 13:17:17 +010080
Daniel Lezcano468b8c42015-01-25 22:06:02 +010081config ROCKCHIP_TIMER
Daniel Lezcano40ada2a2015-10-30 17:58:47 +010082 bool "Rockchip timer driver" if COMPILE_TEST
83 depends on ARM || ARM64
Daniel Lezcano468b8c42015-01-25 22:06:02 +010084 select CLKSRC_OF
Alexander Kochetkov5e0a39d2017-01-31 15:43:14 +030085 select CLKSRC_MMIO
Daniel Lezcano40ada2a2015-10-30 17:58:47 +010086 help
87 Enables the support for the rockchip timer driver.
Daniel Lezcano468b8c42015-01-25 22:06:02 +010088
Gregory CLEMENT6fe9cbd2012-06-13 18:58:09 +020089config ARMADA_370_XP_TIMER
Daniel Lezcano9519e802015-10-30 20:30:34 +010090 bool "Armada 370 and XP timer driver" if COMPILE_TEST
91 depends on ARM
Jean Pihet7b0dd722013-09-18 20:55:09 +020092 select CLKSRC_OF
Arnd Bergmann2be6d9b2016-01-25 17:02:49 +010093 select CLKSRC_MMIO
Daniel Lezcano9519e802015-10-30 20:30:34 +010094 help
95 Enables the support for the Armada 370 and XP timer driver.
Gregory CLEMENT6fe9cbd2012-06-13 18:58:09 +020096
Carlo Caionee4a6b372014-09-29 01:50:05 +020097config MESON6_TIMER
Daniel Lezcano0b7a7bb2015-10-30 22:07:39 +010098 bool "Meson6 timer driver" if COMPILE_TEST
Daniel Lezcano0901f182015-11-04 14:21:42 +010099 depends on GENERIC_CLOCKEVENTS
Beniamino Galvani7b6b0a42014-11-18 16:41:20 +0100100 select CLKSRC_MMIO
Daniel Lezcano0b7a7bb2015-10-30 22:07:39 +0100101 help
102 Enables the support for the Meson6 timer driver.
Carlo Caionee4a6b372014-09-29 01:50:05 +0200103
Sebastian Hesselbarth0c1dcfd2013-06-11 08:38:50 +0200104config ORION_TIMER
Daniel Lezcanoc9165542015-10-30 22:28:31 +0100105 bool "Orion timer driver" if COMPILE_TEST
106 depends on ARM
Sebastian Hesselbarth0c1dcfd2013-06-11 08:38:50 +0200107 select CLKSRC_OF
108 select CLKSRC_MMIO
Daniel Lezcanoc9165542015-10-30 22:28:31 +0100109 help
110 Enables the support for the Orion timer driver
Sebastian Hesselbarth0c1dcfd2013-06-11 08:38:50 +0200111
Andreas Färber4be78a82017-02-23 19:27:12 +0100112config OWL_TIMER
113 bool "Owl timer driver" if COMPILE_TEST
114 depends on GENERIC_CLOCKEVENTS
115 select CLKSRC_MMIO
116 help
117 Enables the support for the Actions Semi Owl timer driver.
118
Maxime Ripard119fd632013-03-24 11:49:25 +0100119config SUN4I_TIMER
Daniel Lezcanob4fcd482015-10-30 22:39:00 +0100120 bool "Sun4i timer driver" if COMPILE_TEST
Daniel Lezcano0901f182015-11-04 14:21:42 +0100121 depends on GENERIC_CLOCKEVENTS
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100122 depends on HAS_IOMEM
Maxime Ripard71c568c2013-10-14 21:07:46 +0200123 select CLKSRC_MMIO
Daniel Lezcanob4fcd482015-10-30 22:39:00 +0100124 help
125 Enables support for the Sun4i timer.
Maxime Ripardb2ac5d72012-11-12 15:07:50 +0100126
Maxime Ripard67905542013-11-07 12:01:48 +0100127config SUN5I_HSTIMER
Daniel Lezcanof0c5afb2015-10-31 17:01:46 +0100128 bool "Sun5i timer driver" if COMPILE_TEST
Maxime Ripard67905542013-11-07 12:01:48 +0100129 select CLKSRC_MMIO
Daniel Lezcanof0c5afb2015-10-31 17:01:46 +0100130 depends on COMMON_CLK
131 help
132 Enables support the Sun5i timer.
Maxime Ripard67905542013-11-07 12:01:48 +0100133
Thierry Reding910978e72014-07-07 15:26:30 +0200134config TEGRA_TIMER
Daniel Lezcanoadce4bc2015-10-31 20:13:09 +0100135 bool "Tegra timer driver" if COMPILE_TEST
Arnd Bergmann2be6d9b2016-01-25 17:02:49 +0100136 select CLKSRC_MMIO
Daniel Lezcanoadce4bc2015-10-31 20:13:09 +0100137 depends on ARM
138 help
139 Enables support for the Tegra driver.
Thierry Reding910978e72014-07-07 15:26:30 +0200140
Tony Priskff7ec342013-01-14 17:58:21 +1300141config VT8500_TIMER
Daniel Lezcanob4bdf7e2015-10-31 20:23:54 +0100142 bool "VT8500 timer driver" if COMPILE_TEST
Daniel Lezcano0901f182015-11-04 14:21:42 +0100143 depends on GENERIC_CLOCKEVENTS
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100144 depends on HAS_IOMEM
Daniel Lezcanob4bdf7e2015-10-31 20:23:54 +0100145 help
146 Enables support for the VT8500 driver.
Tony Priskff7ec342013-01-14 17:58:21 +1300147
Michal Simek4f0f2342013-03-20 10:46:01 +0100148config CADENCE_TTC_TIMER
Daniel Lezcano57f49312015-10-31 21:39:03 +0100149 bool "Cadence TTC timer driver" if COMPILE_TEST
150 depends on COMMON_CLK
151 help
152 Enables support for the cadence ttc driver.
Michal Simek4f0f2342013-03-20 10:46:01 +0100153
Daniel Lezcanoa8b1b9f2015-02-23 19:54:16 +0100154config ASM9260_TIMER
Daniel Lezcanob9755842015-10-31 21:41:23 +0100155 bool "ASM9260 timer driver" if COMPILE_TEST
Daniel Lezcano0901f182015-11-04 14:21:42 +0100156 depends on GENERIC_CLOCKEVENTS
Daniel Lezcanoa8b1b9f2015-02-23 19:54:16 +0100157 select CLKSRC_MMIO
158 select CLKSRC_OF
Daniel Lezcanob9755842015-10-31 21:41:23 +0100159 help
160 Enables support for the ASM9260 timer.
Daniel Lezcanoa8b1b9f2015-02-23 19:54:16 +0100161
Linus Walleij694e33a2012-10-18 14:01:25 +0200162config CLKSRC_NOMADIK_MTU
Daniel Lezcano70329652015-11-01 21:11:28 +0100163 bool "Nomakdik clocksource driver" if COMPILE_TEST
164 depends on ARM
Linus Walleij694e33a2012-10-18 14:01:25 +0200165 select CLKSRC_MMIO
166 help
167 Support for Multi Timer Unit. MTU provides access
168 to multiple interrupt generating programmable
169 32-bit free running decrementing counters.
170
171config CLKSRC_NOMADIK_MTU_SCHED_CLOCK
172 bool
173 depends on CLKSRC_NOMADIK_MTU
174 help
175 Use the Multi Timer Unit as the sched_clock.
176
Mattias Wallin489bcce2011-05-27 10:30:12 +0200177config CLKSRC_DBX500_PRCMU
Daniel Lezcano1becd6e2015-11-01 21:16:01 +0100178 bool "Clocksource PRCMU Timer" if COMPILE_TEST
Daniel Lezcano0901f182015-11-04 14:21:42 +0100179 depends on GENERIC_CLOCKEVENTS
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100180 depends on HAS_IOMEM
Mattias Wallin489bcce2011-05-27 10:30:12 +0200181 help
182 Use the always on PRCMU Timer as clocksource
183
Daniel Lezcanoecf0efd2016-06-02 20:06:54 +0200184config CLPS711X_TIMER
185 bool "Cirrus logic timer driver" if COMPILE_TEST
186 depends on GENERIC_CLOCKEVENTS
187 select CLKSRC_MMIO
188 help
189 Enables support for the Cirrus Logic PS711 timer.
190
Daniel Lezcanob56d5d22016-06-03 13:11:39 +0200191config ATLAS7_TIMER
192 bool "Atlas7 timer driver" if COMPILE_TEST
193 depends on GENERIC_CLOCKEVENTS
194 select CLKSRC_MMIO
195 help
196 Enables support for the Atlas7 timer.
197
Daniel Lezcano419be9e2016-06-03 13:29:03 +0200198config MOXART_TIMER
199 bool "Moxart timer driver" if COMPILE_TEST
200 depends on GENERIC_CLOCKEVENTS
201 select CLKSRC_MMIO
202 help
203 Enables support for the Moxart timer.
204
Daniel Lezcanod81c50a2016-06-03 13:36:18 +0200205config MXS_TIMER
206 bool "Mxs timer driver" if COMPILE_TEST
207 depends on GENERIC_CLOCKEVENTS
208 select CLKSRC_MMIO
209 select STMP_DEVICE
210 help
211 Enables support for the Mxs timer.
212
Daniel Lezcanof3550d42016-06-03 14:28:38 +0200213config PRIMA2_TIMER
214 bool "Prima2 timer driver" if COMPILE_TEST
215 depends on GENERIC_CLOCKEVENTS
216 select CLKSRC_MMIO
217 help
218 Enables support for the Prima2 timer.
219
Daniel Lezcano85f98db2016-06-03 14:31:16 +0200220config U300_TIMER
221 bool "U300 timer driver" if COMPILE_TEST
222 depends on GENERIC_CLOCKEVENTS
223 depends on ARM
224 select CLKSRC_MMIO
225 help
226 Enables support for the U300 timer.
227
Daniel Lezcanod683b9d2016-06-03 15:03:21 +0200228config NSPIRE_TIMER
229 bool "NSpire timer driver" if COMPILE_TEST
230 depends on GENERIC_CLOCKEVENTS
231 select CLKSRC_MMIO
232 help
233 Enables support for the Nspire timer.
234
Daniel Lezcanoc12547a2016-06-03 15:05:05 +0200235config KEYSTONE_TIMER
236 bool "Keystone timer driver" if COMPILE_TEST
237 depends on GENERIC_CLOCKEVENTS
238 depends on ARM || ARM64
239 select CLKSRC_MMIO
240 help
241 Enables support for the Keystone timer.
242
Daniel Lezcano568c0342016-06-03 15:11:21 +0200243config INTEGRATOR_AP_TIMER
244 bool "Integrator-ap timer driver" if COMPILE_TEST
245 depends on GENERIC_CLOCKEVENTS
246 select CLKSRC_MMIO
247 help
248 Enables support for the Integrator-ap timer.
249
Mattias Wallin489bcce2011-05-27 10:30:12 +0200250config CLKSRC_DBX500_PRCMU_SCHED_CLOCK
251 bool "Clocksource PRCMU Timer sched_clock"
Linus Walleij694e33a2012-10-18 14:01:25 +0200252 depends on (CLKSRC_DBX500_PRCMU && !CLKSRC_NOMADIK_MTU_SCHED_CLOCK)
Mattias Wallin489bcce2011-05-27 10:30:12 +0200253 default y
254 help
255 Use the always on PRCMU Timer as sched_clock
Marc Zyngier985c0672012-03-05 11:49:30 +0000256
Uwe Kleine-König9c9b7812013-10-03 21:56:29 +0200257config CLKSRC_EFM32
258 bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32
259 depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST)
Axel Lin09ca2752013-11-20 10:15:11 +0800260 select CLKSRC_MMIO
Uwe Kleine-König9c9b7812013-10-03 21:56:29 +0200261 default ARCH_EFM32
262 help
263 Support to use the timers of EFM32 SoCs as clock source and clock
264 event device.
265
Joachim Eastwood050dd322015-05-12 00:00:48 +0200266config CLKSRC_LPC32XX
Daniel Lezcanoddcf48c2015-10-31 21:44:52 +0100267 bool "Clocksource for LPC32XX" if COMPILE_TEST
Richard Weinberger863ee052016-01-02 23:06:36 +0100268 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
Ezequiel Garcia1b18fd22016-02-09 22:54:27 -0300269 depends on ARM
Joachim Eastwood050dd322015-05-12 00:00:48 +0200270 select CLKSRC_MMIO
271 select CLKSRC_OF
Daniel Lezcanoddcf48c2015-10-31 21:44:52 +0100272 help
273 Support for the LPC32XX clocksource.
Joachim Eastwood050dd322015-05-12 00:00:48 +0200274
Ezequiel Garcia84583982015-08-07 16:39:31 +0100275config CLKSRC_PISTACHIO
Daniel Lezcanodfdb1652015-10-30 17:28:13 +0100276 bool "Clocksource for Pistachio SoC" if COMPILE_TEST
Richard Weinberger863ee052016-01-02 23:06:36 +0100277 depends on HAS_IOMEM
Ezequiel Garcia84583982015-08-07 16:39:31 +0100278 select CLKSRC_OF
Daniel Lezcanodfdb1652015-10-30 17:28:13 +0100279 help
280 Enables the clocksource for the Pistachio SoC.
Ezequiel Garcia84583982015-08-07 16:39:31 +0100281
Felipe Balbife851f52015-09-29 13:55:33 -0500282config CLKSRC_TI_32K
283 bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST
Felipe Balbidfedaf12015-10-16 16:10:05 -0500284 depends on GENERIC_SCHED_CLOCK
Felipe Balbife851f52015-09-29 13:55:33 -0500285 select CLKSRC_OF if OF
286 help
287 This option enables support for Texas Instruments 32.768 Hz clocksource
288 available on many OMAP-like platforms.
289
Noam Camusa5322452015-10-17 22:37:30 +0300290config CLKSRC_NPS
291 bool "NPS400 clocksource driver" if COMPILE_TEST
292 depends on !PHYS_ADDR_T_64BIT
293 select CLKSRC_MMIO
294 select CLKSRC_OF if OF
295 help
296 NPS400 clocksource support.
297 Got 64 bit counter with update rate up to 1000MHz.
298 This counter is accessed via couple of 32 bit memory mapped registers.
299
Maxime Coqueline37e4592015-05-22 23:03:33 +0200300config CLKSRC_STM32
Paul Gortmaker1cb6c212015-06-20 19:02:32 -0400301 bool "Clocksource for STM32 SoCs" if !ARCH_STM32
302 depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST)
Maxime Coqueline37e4592015-05-22 23:03:33 +0200303 select CLKSRC_MMIO
304
Vladimir Murzin03026372016-04-25 09:45:44 +0100305config CLKSRC_MPS2
306 bool "Clocksource for MPS2 SoCs" if COMPILE_TEST
307 depends on GENERIC_SCHED_CLOCK
308 select CLKSRC_MMIO
309 select CLKSRC_OF
310
Vineet Guptac4c9a042016-10-31 13:46:38 -0700311config ARC_TIMERS
312 bool "Support for 32-bit TIMERn counters in ARC Cores" if COMPILE_TEST
313 depends on GENERIC_CLOCKEVENTS
314 select CLKSRC_OF
315 help
316 These are legacy 32-bit TIMER0 and TIMER1 counters found on all ARC cores
317 (ARC700 as well as ARC HS38).
318 TIMER0 serves as clockevent while TIMER1 provides clocksource
319
320config ARC_TIMERS_64BIT
321 bool "Support for 64-bit counters in ARC HS38 cores" if COMPILE_TEST
322 depends on GENERIC_CLOCKEVENTS
323 depends on ARC_TIMERS
324 select CLKSRC_OF
325 help
326 This enables 2 different 64-bit timers: RTC (for UP) and GFRC (for SMP)
327 RTC is implemented inside the core, while GFRC sits outside the core in
328 ARConnect IP block. Driver automatically picks one of them for clocksource
329 as appropriate.
330
Mark Rutland8a4da6e2012-11-12 14:33:44 +0000331config ARM_ARCH_TIMER
332 bool
Rob Herring0583fe42013-04-10 18:27:51 -0500333 select CLKSRC_OF if OF
Marc Zyngierae281cb2015-09-28 15:49:17 +0100334 select CLKSRC_ACPI if ACPI
James Hogana2c5d4e2012-10-09 10:54:39 +0100335
Will Deacon037f6372013-08-23 15:32:29 +0100336config ARM_ARCH_TIMER_EVTSTREAM
Will Deacon46fd5c62016-06-27 17:30:13 +0100337 bool "Enable ARM architected timer event stream generation by default"
Will Deacon037f6372013-08-23 15:32:29 +0100338 default y if ARM_ARCH_TIMER
Stephen Boyd77f7ce92013-11-20 12:02:03 -0800339 depends on ARM_ARCH_TIMER
Will Deacon037f6372013-08-23 15:32:29 +0100340 help
Will Deacon46fd5c62016-06-27 17:30:13 +0100341 This option enables support by default for event stream generation
342 based on the ARM architected timer. It is used for waking up CPUs
343 executing the wfe instruction at a frequency represented as a
344 power-of-2 divisor of the clock rate. The behaviour can also be
345 overridden on the command line using the
346 clocksource.arm_arch_timer.evtstream parameter.
Will Deacon037f6372013-08-23 15:32:29 +0100347 The main use of the event stream is wfe-based timeouts of userspace
348 locking implementations. It might also be useful for imposing timeout
349 on wfe to safeguard against any programming errors in case an expected
350 event is not generated.
351 This must be disabled for hardware validation purposes to detect any
352 hardware anomalies of missing events.
353
Ding Tianhong16d10ef2017-02-06 16:47:41 +0000354config ARM_ARCH_TIMER_OOL_WORKAROUND
355 bool
356
Scott Woodf6dc1572016-09-22 03:35:17 -0500357config FSL_ERRATUM_A008585
358 bool "Workaround for Freescale/NXP Erratum A-008585"
359 default y
360 depends on ARM_ARCH_TIMER && ARM64
Ding Tianhong16d10ef2017-02-06 16:47:41 +0000361 select ARM_ARCH_TIMER_OOL_WORKAROUND
Scott Woodf6dc1572016-09-22 03:35:17 -0500362 help
363 This option enables a workaround for Freescale/NXP Erratum
364 A-008585 ("ARM generic timer may contain an erroneous
365 value"). The workaround will only be active if the
366 fsl,erratum-a008585 property is found in the timer node.
367
Ding Tianhongbb42ca42017-02-06 16:47:42 +0000368config HISILICON_ERRATUM_161010101
369 bool "Workaround for Hisilicon Erratum 161010101"
370 default y
371 select ARM_ARCH_TIMER_OOL_WORKAROUND
372 depends on ARM_ARCH_TIMER && ARM64
373 help
374 This option enables a workaround for Hisilicon Erratum
375 161010101. The workaround will be active if the hisilicon,erratum-161010101
376 property is found in the timer node.
377
Marc Zyngierfa8d8152017-01-27 12:52:31 +0000378config ARM64_ERRATUM_858921
379 bool "Workaround for Cortex-A73 erratum 858921"
380 default y
381 select ARM_ARCH_TIMER_OOL_WORKAROUND
382 depends on ARM_ARCH_TIMER && ARM64
383 help
384 This option enables a workaround applicable to Cortex-A73
385 (all versions), whose counter may return incorrect values.
386 The workaround will be dynamically enabled when an affected
387 core is detected.
388
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100389config ARM_GLOBAL_TIMER
Daniel Lezcano67a87a42016-06-06 14:34:28 +0200390 bool "Support for the ARM global timer" if COMPILE_TEST
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100391 select CLKSRC_OF if OF
Daniel Lezcano67a87a42016-06-06 14:34:28 +0200392 depends on ARM
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100393 help
394 This options enables support for the ARM global timer unit
395
Sudeep Holla0b7402d2015-05-18 16:29:40 +0100396config ARM_TIMER_SP804
397 bool "Support for Dual Timer SP804 module"
Guenter Roeck002af192015-06-23 20:49:05 -0700398 depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP
Sudeep Holla0b7402d2015-05-18 16:29:40 +0100399 select CLKSRC_MMIO
400 select CLKSRC_OF if OF
401
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100402config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
403 bool
404 depends on ARM_GLOBAL_TIMER
405 default y
406 help
407 Use ARM global timer clock source as sched_clock
408
Maxime Coquelin4958ebb2015-05-09 09:53:46 +0200409config ARMV7M_SYSTICK
Daniel Lezcanoe2146d82016-06-02 18:41:52 +0200410 bool "Support for the ARMv7M system time" if COMPILE_TEST
Maxime Coquelin4958ebb2015-05-09 09:53:46 +0200411 select CLKSRC_OF if OF
412 select CLKSRC_MMIO
413 help
414 This options enables support for the ARMv7M system timer unit
415
Maxime Ripardb052ff32014-09-02 18:12:35 +0200416config ATMEL_PIT
417 select CLKSRC_OF if OF
418 def_bool SOC_AT91SAM9 || SOC_SAMA5
419
Alexandre Bellonib53cdd02015-03-12 13:07:31 +0100420config ATMEL_ST
Daniel Lezcanob988d3f2016-06-06 19:08:39 +0200421 bool "Atmel ST timer support" if COMPILE_TEST
422 depends on GENERIC_CLOCKEVENTS
Alexandre Bellonib53cdd02015-03-12 13:07:31 +0100423 select CLKSRC_OF
Alexandre Belloni7ab7ef72015-03-19 14:17:48 +0100424 select MFD_SYSCON
Daniel Lezcanob988d3f2016-06-06 19:08:39 +0200425 help
426 Support for the Atmel ST timer.
Alexandre Bellonib53cdd02015-03-12 13:07:31 +0100427
James Hogana2c5d4e2012-10-09 10:54:39 +0100428config CLKSRC_METAG_GENERIC
429 def_bool y if METAG
430 help
431 This option enables support for the Meta per-thread timers.
Thomas Abraham6938d75a2013-03-09 16:16:13 +0900432
433config CLKSRC_EXYNOS_MCT
Daniel Lezcano39366ef2015-11-01 21:51:30 +0100434 bool "Exynos multi core timer driver" if COMPILE_TEST
Chanwoo Choif1a4c1f2016-08-24 22:49:05 +0900435 depends on ARM || ARM64
Thomas Abraham6938d75a2013-03-09 16:16:13 +0900436 help
437 Support for Multi Core Timer controller on Exynos SoCs.
Arnd Bergmann241a9872013-05-06 23:49:09 +0200438
Tomasz Figaf1189982013-04-20 23:22:13 +0200439config CLKSRC_SAMSUNG_PWM
Alexandre Bellonide37b0b2016-06-16 15:53:18 +0200440 bool "PWM timer driver for Samsung S3C, S5P" if COMPILE_TEST
Daniel Lezcano0901f182015-11-04 14:21:42 +0100441 depends on GENERIC_CLOCKEVENTS
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100442 depends on HAS_IOMEM
Tomasz Figaf1189982013-04-20 23:22:13 +0200443 help
444 This is a new clocksource driver for the PWM timer found in
445 Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
446 for all devicetree enabled platforms. This driver will be
447 needed only on systems that do not have the Exynos MCT available.
Jingchang Luc1967242013-05-29 10:12:17 +0200448
Xiubo Li2529c3a2014-05-23 10:12:04 +0200449config FSL_FTM_TIMER
Daniel Lezcanoef493362015-11-02 09:51:02 +0100450 bool "Freescale FlexTimer Module driver" if COMPILE_TEST
Daniel Lezcano0901f182015-11-04 14:21:42 +0100451 depends on GENERIC_CLOCKEVENTS
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100452 depends on HAS_IOMEM
Daniel Lezcano03724ac2016-01-08 14:21:31 +0100453 select CLKSRC_MMIO
Xiubo Li2529c3a2014-05-23 10:12:04 +0200454 help
455 Support for Freescale FlexTimer Module (FTM) timer.
456
Jingchang Luc1967242013-05-29 10:12:17 +0200457config VF_PIT_TIMER
458 bool
Arnd Bergmann2be6d9b2016-01-25 17:02:49 +0100459 select CLKSRC_MMIO
Jingchang Luc1967242013-05-29 10:12:17 +0200460 help
461 Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
Magnus Dammfd3f1272014-02-20 12:54:45 +0100462
Neil Armstrong89355272016-06-15 12:13:26 +0200463config OXNAS_RPS_TIMER
464 bool "Oxford Semiconductor OXNAS RPS Timers driver" if COMPILE_TEST
465 depends on GENERIC_CLOCKEVENTS
466 select CLKSRC_OF
467 select CLKSRC_MMIO
468 help
469 This enables support for the Oxford Semiconductor OXNAS RPS timers.
470
Magnus Dammfd3f1272014-02-20 12:54:45 +0100471config SYS_SUPPORTS_SH_CMT
472 bool
473
Matthias Bruggerecb35302014-07-18 11:36:43 +0200474config MTK_TIMER
Daniel Lezcanofbca9ea2015-10-30 17:53:27 +0100475 bool "Mediatek timer driver" if COMPILE_TEST
Richard Weinberger863ee052016-01-02 23:06:36 +0100476 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
Matthias Bruggerecb35302014-07-18 11:36:43 +0200477 select CLKSRC_OF
478 select CLKSRC_MMIO
Daniel Lezcanofbca9ea2015-10-30 17:53:27 +0100479 help
480 Support for Mediatek timer driver.
Matthias Bruggerecb35302014-07-18 11:36:43 +0200481
Magnus Dammfd3f1272014-02-20 12:54:45 +0100482config SYS_SUPPORTS_SH_MTU2
483 bool
484
485config SYS_SUPPORTS_SH_TMU
486 bool
487
488config SYS_SUPPORTS_EM_STI
489 bool
490
Rich Felker9995f4f2016-10-13 21:51:06 +0000491config CLKSRC_JCORE_PIT
492 bool "J-Core PIT timer driver" if COMPILE_TEST
493 depends on OF
494 depends on GENERIC_CLOCKEVENTS
495 depends on HAS_IOMEM
496 select CLKSRC_MMIO
497 help
498 This enables build of clocksource and clockevent driver for
499 the integrated PIT in the J-Core synthesizable, open source SoC.
500
Magnus Dammfd3f1272014-02-20 12:54:45 +0100501config SH_TIMER_CMT
502 bool "Renesas CMT timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100503 depends on GENERIC_CLOCKEVENTS
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100504 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100505 default SYS_SUPPORTS_SH_CMT
506 help
507 This enables build of a clocksource and clockevent driver for
508 the Compare Match Timer (CMT) hardware available in 16/32/48-bit
509 variants on a wide range of Mobile and Automotive SoCs from Renesas.
510
511config SH_TIMER_MTU2
512 bool "Renesas MTU2 timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100513 depends on GENERIC_CLOCKEVENTS
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100514 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100515 default SYS_SUPPORTS_SH_MTU2
516 help
517 This enables build of a clockevent driver for the Multi-Function
Kuninori Morimoto7e139182014-07-18 11:36:36 +0200518 Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
Magnus Dammfd3f1272014-02-20 12:54:45 +0100519 This hardware comes with 16 bit-timer registers.
520
Chris Brandtfb6002a2017-01-27 15:02:15 -0500521config RENESAS_OSTM
522 bool "Renesas OSTM timer driver" if COMPILE_TEST
523 depends on GENERIC_CLOCKEVENTS
524 select CLKSRC_MMIO
525 help
526 Enables the support for the Renesas OSTM.
527
Magnus Dammfd3f1272014-02-20 12:54:45 +0100528config SH_TIMER_TMU
529 bool "Renesas TMU timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100530 depends on GENERIC_CLOCKEVENTS
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100531 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100532 default SYS_SUPPORTS_SH_TMU
533 help
534 This enables build of a clocksource and clockevent driver for
535 the 32-bit Timer Unit (TMU) hardware available on a wide range
536 SoCs from Renesas.
537
538config EM_TIMER_STI
539 bool "Renesas STI timer driver" if COMPILE_TEST
Chen Gang40c96312014-07-08 20:39:40 +0800540 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100541 default SYS_SUPPORTS_EM_STI
542 help
543 This enables build of a clocksource and clockevent driver for
544 the 48-bit System Timer (STI) hardware available on a SoCs
545 such as EMEV2 from former NEC Electronics.
Linus Torvaldsdfc25e42014-04-05 13:51:19 -0700546
Kumar Gala3f8e8ce2014-01-29 16:17:30 -0600547config CLKSRC_QCOM
Daniel Lezcano3dc0e9f2015-10-09 11:10:43 +0200548 bool "Qualcomm MSM timer" if COMPILE_TEST
549 depends on ARM
550 select CLKSRC_OF
551 help
552 This enables the clocksource and the per CPU clockevent driver for the
553 Qualcomm SoCs.
Pawel Moll220e2a82014-04-16 18:22:59 +0100554
555config CLKSRC_VERSATILE
Daniel Lezcano5cc87a42016-06-07 11:05:01 +0200556 bool "ARM Versatile (Express) reference platforms clock source" if COMPILE_TEST
557 depends on GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET
Pawel Moll220e2a82014-04-16 18:22:59 +0100558 select CLKSRC_OF
559 default y if MFD_VEXPRESS_SYSREG
560 help
561 This option enables clock source based on free running
562 counter available in the "System Registers" block of
563 ARM Versatile, RealView and Versatile Express reference
564 platforms.
Jean Delvare58394272014-06-16 11:48:45 +0200565
Andrew Brestickerfa5635a2014-10-20 12:03:58 -0700566config CLKSRC_MIPS_GIC
567 bool
568 depends on MIPS_GIC
Andrew Brestickere12aa822014-11-12 11:43:39 -0800569 select CLKSRC_OF
Andrew Brestickerfa5635a2014-10-20 12:03:58 -0700570
Marc Gonzalezccd63ce2015-10-09 16:59:18 +0200571config CLKSRC_TANGO_XTAL
Daniel Lezcano5a7351f2015-10-29 20:54:19 +0100572 bool "Clocksource for Tango SoC" if COMPILE_TEST
573 depends on ARM
Marc Gonzalezccd63ce2015-10-09 16:59:18 +0200574 select CLKSRC_OF
Daniel Lezcano08818412015-11-13 10:44:38 +0100575 select CLKSRC_MMIO
Daniel Lezcano5a7351f2015-10-29 20:54:19 +0100576 help
577 This enables the clocksource for Tango SoC
Marc Gonzalezccd63ce2015-10-09 16:59:18 +0200578
Dmitry Eremin-Solenikove074ff82014-12-21 16:07:09 +0100579config CLKSRC_PXA
Daniel Lezcano5ae996c2015-10-09 17:47:32 +0200580 bool "Clocksource for PXA or SA-11x0 platform" if COMPILE_TEST
581 depends on GENERIC_CLOCKEVENTS
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100582 depends on HAS_IOMEM
Daniel Lezcano5ae996c2015-10-09 17:47:32 +0200583 select CLKSRC_MMIO
Dmitry Eremin-Solenikove074ff82014-12-21 16:07:09 +0100584 help
585 This enables OST0 support available on PXA and SA-11x0
586 platforms.
Yoshinori Sato618b9022015-01-28 02:52:42 +0900587
Daniel Lezcano97a23be2015-11-09 14:43:52 +0100588config H8300_TMR8
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100589 bool "Clockevent timer for the H8300 platform" if COMPILE_TEST
Richard Weinberger863ee052016-01-02 23:06:36 +0100590 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100591 help
592 This enables the 8 bits timer for the H8300 platform.
Daniel Lezcano97a23be2015-11-09 14:43:52 +0100593
Yoshinori Sato618b9022015-01-28 02:52:42 +0900594config H8300_TMR16
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100595 bool "Clockevent timer for the H83069 platform" if COMPILE_TEST
Richard Weinberger863ee052016-01-02 23:06:36 +0100596 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100597 help
598 This enables the 16 bits timer for the H8300 platform with the
599 H83069 cpu.
Yoshinori Sato618b9022015-01-28 02:52:42 +0900600
601config H8300_TPU
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100602 bool "Clocksource for the H8300 platform" if COMPILE_TEST
Richard Weinberger863ee052016-01-02 23:06:36 +0100603 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100604 help
605 This enables the clocksource for the H8300 platform with the
606 H8S2678 cpu.
Yoshinori Sato618b9022015-01-28 02:52:42 +0900607
Shawn Guobea5af42015-05-15 15:41:00 +0800608config CLKSRC_IMX_GPT
609 bool "Clocksource using i.MX GPT" if COMPILE_TEST
610 depends on ARM && CLKDEV_LOOKUP
611 select CLKSRC_MMIO
612
Lee Jones70bef012015-05-26 13:39:43 +0100613config CLKSRC_ST_LPC
Daniel Lezcanobaacaf82015-10-09 15:36:28 +0200614 bool "Low power clocksource found in the LPC" if COMPILE_TEST
Lee Jones70bef012015-05-26 13:39:43 +0100615 select CLKSRC_OF if OF
Richard Weinberger863ee052016-01-02 23:06:36 +0100616 depends on HAS_IOMEM
Arnd Bergmann2be6d9b2016-01-25 17:02:49 +0100617 select CLKSRC_MMIO
Lee Jones70bef012015-05-26 13:39:43 +0100618 help
619 Enable this option to use the Low Power controller timer
620 as clocksource.
621
Jean Delvare58394272014-06-16 11:48:45 +0200622endmenu