blob: 545d541ae20eaa3bcd709ff25dff2e99fafeb8d9 [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
Maxime Ripard119fd632013-03-24 11:49:25 +0100112config SUN4I_TIMER
Daniel Lezcanob4fcd482015-10-30 22:39:00 +0100113 bool "Sun4i timer driver" if COMPILE_TEST
Daniel Lezcano0901f182015-11-04 14:21:42 +0100114 depends on GENERIC_CLOCKEVENTS
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100115 depends on HAS_IOMEM
Maxime Ripard71c568c2013-10-14 21:07:46 +0200116 select CLKSRC_MMIO
Daniel Lezcanob4fcd482015-10-30 22:39:00 +0100117 help
118 Enables support for the Sun4i timer.
Maxime Ripardb2ac5d72012-11-12 15:07:50 +0100119
Maxime Ripard67905542013-11-07 12:01:48 +0100120config SUN5I_HSTIMER
Daniel Lezcanof0c5afb2015-10-31 17:01:46 +0100121 bool "Sun5i timer driver" if COMPILE_TEST
Maxime Ripard67905542013-11-07 12:01:48 +0100122 select CLKSRC_MMIO
Daniel Lezcanof0c5afb2015-10-31 17:01:46 +0100123 depends on COMMON_CLK
124 help
125 Enables support the Sun5i timer.
Maxime Ripard67905542013-11-07 12:01:48 +0100126
Thierry Reding910978e72014-07-07 15:26:30 +0200127config TEGRA_TIMER
Daniel Lezcanoadce4bc2015-10-31 20:13:09 +0100128 bool "Tegra timer driver" if COMPILE_TEST
Arnd Bergmann2be6d9b2016-01-25 17:02:49 +0100129 select CLKSRC_MMIO
Daniel Lezcanoadce4bc2015-10-31 20:13:09 +0100130 depends on ARM
131 help
132 Enables support for the Tegra driver.
Thierry Reding910978e72014-07-07 15:26:30 +0200133
Tony Priskff7ec342013-01-14 17:58:21 +1300134config VT8500_TIMER
Daniel Lezcanob4bdf7e2015-10-31 20:23:54 +0100135 bool "VT8500 timer driver" if COMPILE_TEST
Daniel Lezcano0901f182015-11-04 14:21:42 +0100136 depends on GENERIC_CLOCKEVENTS
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100137 depends on HAS_IOMEM
Daniel Lezcanob4bdf7e2015-10-31 20:23:54 +0100138 help
139 Enables support for the VT8500 driver.
Tony Priskff7ec342013-01-14 17:58:21 +1300140
Michal Simek4f0f2342013-03-20 10:46:01 +0100141config CADENCE_TTC_TIMER
Daniel Lezcano57f49312015-10-31 21:39:03 +0100142 bool "Cadence TTC timer driver" if COMPILE_TEST
143 depends on COMMON_CLK
144 help
145 Enables support for the cadence ttc driver.
Michal Simek4f0f2342013-03-20 10:46:01 +0100146
Daniel Lezcanoa8b1b9f2015-02-23 19:54:16 +0100147config ASM9260_TIMER
Daniel Lezcanob9755842015-10-31 21:41:23 +0100148 bool "ASM9260 timer driver" if COMPILE_TEST
Daniel Lezcano0901f182015-11-04 14:21:42 +0100149 depends on GENERIC_CLOCKEVENTS
Daniel Lezcanoa8b1b9f2015-02-23 19:54:16 +0100150 select CLKSRC_MMIO
151 select CLKSRC_OF
Daniel Lezcanob9755842015-10-31 21:41:23 +0100152 help
153 Enables support for the ASM9260 timer.
Daniel Lezcanoa8b1b9f2015-02-23 19:54:16 +0100154
Linus Walleij694e33a2012-10-18 14:01:25 +0200155config CLKSRC_NOMADIK_MTU
Daniel Lezcano70329652015-11-01 21:11:28 +0100156 bool "Nomakdik clocksource driver" if COMPILE_TEST
157 depends on ARM
Linus Walleij694e33a2012-10-18 14:01:25 +0200158 select CLKSRC_MMIO
159 help
160 Support for Multi Timer Unit. MTU provides access
161 to multiple interrupt generating programmable
162 32-bit free running decrementing counters.
163
164config CLKSRC_NOMADIK_MTU_SCHED_CLOCK
165 bool
166 depends on CLKSRC_NOMADIK_MTU
167 help
168 Use the Multi Timer Unit as the sched_clock.
169
Mattias Wallin489bcce2011-05-27 10:30:12 +0200170config CLKSRC_DBX500_PRCMU
Daniel Lezcano1becd6e2015-11-01 21:16:01 +0100171 bool "Clocksource PRCMU Timer" if COMPILE_TEST
Daniel Lezcano0901f182015-11-04 14:21:42 +0100172 depends on GENERIC_CLOCKEVENTS
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100173 depends on HAS_IOMEM
Mattias Wallin489bcce2011-05-27 10:30:12 +0200174 help
175 Use the always on PRCMU Timer as clocksource
176
Daniel Lezcanoecf0efd2016-06-02 20:06:54 +0200177config CLPS711X_TIMER
178 bool "Cirrus logic timer driver" if COMPILE_TEST
179 depends on GENERIC_CLOCKEVENTS
180 select CLKSRC_MMIO
181 help
182 Enables support for the Cirrus Logic PS711 timer.
183
Daniel Lezcanob56d5d22016-06-03 13:11:39 +0200184config ATLAS7_TIMER
185 bool "Atlas7 timer driver" if COMPILE_TEST
186 depends on GENERIC_CLOCKEVENTS
187 select CLKSRC_MMIO
188 help
189 Enables support for the Atlas7 timer.
190
Daniel Lezcano419be9e2016-06-03 13:29:03 +0200191config MOXART_TIMER
192 bool "Moxart timer driver" if COMPILE_TEST
193 depends on GENERIC_CLOCKEVENTS
194 select CLKSRC_MMIO
195 help
196 Enables support for the Moxart timer.
197
Daniel Lezcanod81c50a2016-06-03 13:36:18 +0200198config MXS_TIMER
199 bool "Mxs timer driver" if COMPILE_TEST
200 depends on GENERIC_CLOCKEVENTS
201 select CLKSRC_MMIO
202 select STMP_DEVICE
203 help
204 Enables support for the Mxs timer.
205
Daniel Lezcanof3550d42016-06-03 14:28:38 +0200206config PRIMA2_TIMER
207 bool "Prima2 timer driver" if COMPILE_TEST
208 depends on GENERIC_CLOCKEVENTS
209 select CLKSRC_MMIO
210 help
211 Enables support for the Prima2 timer.
212
Daniel Lezcano85f98db2016-06-03 14:31:16 +0200213config U300_TIMER
214 bool "U300 timer driver" if COMPILE_TEST
215 depends on GENERIC_CLOCKEVENTS
216 depends on ARM
217 select CLKSRC_MMIO
218 help
219 Enables support for the U300 timer.
220
Daniel Lezcanod683b9d2016-06-03 15:03:21 +0200221config NSPIRE_TIMER
222 bool "NSpire timer driver" if COMPILE_TEST
223 depends on GENERIC_CLOCKEVENTS
224 select CLKSRC_MMIO
225 help
226 Enables support for the Nspire timer.
227
Daniel Lezcanoc12547a2016-06-03 15:05:05 +0200228config KEYSTONE_TIMER
229 bool "Keystone timer driver" if COMPILE_TEST
230 depends on GENERIC_CLOCKEVENTS
231 depends on ARM || ARM64
232 select CLKSRC_MMIO
233 help
234 Enables support for the Keystone timer.
235
Daniel Lezcano568c0342016-06-03 15:11:21 +0200236config INTEGRATOR_AP_TIMER
237 bool "Integrator-ap timer driver" if COMPILE_TEST
238 depends on GENERIC_CLOCKEVENTS
239 select CLKSRC_MMIO
240 help
241 Enables support for the Integrator-ap timer.
242
Mattias Wallin489bcce2011-05-27 10:30:12 +0200243config CLKSRC_DBX500_PRCMU_SCHED_CLOCK
244 bool "Clocksource PRCMU Timer sched_clock"
Linus Walleij694e33a2012-10-18 14:01:25 +0200245 depends on (CLKSRC_DBX500_PRCMU && !CLKSRC_NOMADIK_MTU_SCHED_CLOCK)
Mattias Wallin489bcce2011-05-27 10:30:12 +0200246 default y
247 help
248 Use the always on PRCMU Timer as sched_clock
Marc Zyngier985c0672012-03-05 11:49:30 +0000249
Uwe Kleine-König9c9b7812013-10-03 21:56:29 +0200250config CLKSRC_EFM32
251 bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32
252 depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST)
Axel Lin09ca2752013-11-20 10:15:11 +0800253 select CLKSRC_MMIO
Uwe Kleine-König9c9b7812013-10-03 21:56:29 +0200254 default ARCH_EFM32
255 help
256 Support to use the timers of EFM32 SoCs as clock source and clock
257 event device.
258
Joachim Eastwood050dd322015-05-12 00:00:48 +0200259config CLKSRC_LPC32XX
Daniel Lezcanoddcf48c2015-10-31 21:44:52 +0100260 bool "Clocksource for LPC32XX" if COMPILE_TEST
Richard Weinberger863ee052016-01-02 23:06:36 +0100261 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
Ezequiel Garcia1b18fd22016-02-09 22:54:27 -0300262 depends on ARM
Joachim Eastwood050dd322015-05-12 00:00:48 +0200263 select CLKSRC_MMIO
264 select CLKSRC_OF
Daniel Lezcanoddcf48c2015-10-31 21:44:52 +0100265 help
266 Support for the LPC32XX clocksource.
Joachim Eastwood050dd322015-05-12 00:00:48 +0200267
Ezequiel Garcia84583982015-08-07 16:39:31 +0100268config CLKSRC_PISTACHIO
Daniel Lezcanodfdb1652015-10-30 17:28:13 +0100269 bool "Clocksource for Pistachio SoC" if COMPILE_TEST
Richard Weinberger863ee052016-01-02 23:06:36 +0100270 depends on HAS_IOMEM
Ezequiel Garcia84583982015-08-07 16:39:31 +0100271 select CLKSRC_OF
Daniel Lezcanodfdb1652015-10-30 17:28:13 +0100272 help
273 Enables the clocksource for the Pistachio SoC.
Ezequiel Garcia84583982015-08-07 16:39:31 +0100274
Felipe Balbife851f52015-09-29 13:55:33 -0500275config CLKSRC_TI_32K
276 bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST
Felipe Balbidfedaf12015-10-16 16:10:05 -0500277 depends on GENERIC_SCHED_CLOCK
Felipe Balbife851f52015-09-29 13:55:33 -0500278 select CLKSRC_OF if OF
279 help
280 This option enables support for Texas Instruments 32.768 Hz clocksource
281 available on many OMAP-like platforms.
282
Noam Camusa5322452015-10-17 22:37:30 +0300283config CLKSRC_NPS
284 bool "NPS400 clocksource driver" if COMPILE_TEST
285 depends on !PHYS_ADDR_T_64BIT
286 select CLKSRC_MMIO
287 select CLKSRC_OF if OF
288 help
289 NPS400 clocksource support.
290 Got 64 bit counter with update rate up to 1000MHz.
291 This counter is accessed via couple of 32 bit memory mapped registers.
292
Maxime Coqueline37e4592015-05-22 23:03:33 +0200293config CLKSRC_STM32
Paul Gortmaker1cb6c212015-06-20 19:02:32 -0400294 bool "Clocksource for STM32 SoCs" if !ARCH_STM32
295 depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST)
Maxime Coqueline37e4592015-05-22 23:03:33 +0200296 select CLKSRC_MMIO
297
Vladimir Murzin03026372016-04-25 09:45:44 +0100298config CLKSRC_MPS2
299 bool "Clocksource for MPS2 SoCs" if COMPILE_TEST
300 depends on GENERIC_SCHED_CLOCK
301 select CLKSRC_MMIO
302 select CLKSRC_OF
303
Vineet Guptac4c9a042016-10-31 13:46:38 -0700304config ARC_TIMERS
305 bool "Support for 32-bit TIMERn counters in ARC Cores" if COMPILE_TEST
306 depends on GENERIC_CLOCKEVENTS
307 select CLKSRC_OF
308 help
309 These are legacy 32-bit TIMER0 and TIMER1 counters found on all ARC cores
310 (ARC700 as well as ARC HS38).
311 TIMER0 serves as clockevent while TIMER1 provides clocksource
312
313config ARC_TIMERS_64BIT
314 bool "Support for 64-bit counters in ARC HS38 cores" if COMPILE_TEST
315 depends on GENERIC_CLOCKEVENTS
316 depends on ARC_TIMERS
317 select CLKSRC_OF
318 help
319 This enables 2 different 64-bit timers: RTC (for UP) and GFRC (for SMP)
320 RTC is implemented inside the core, while GFRC sits outside the core in
321 ARConnect IP block. Driver automatically picks one of them for clocksource
322 as appropriate.
323
Mark Rutland8a4da6e2012-11-12 14:33:44 +0000324config ARM_ARCH_TIMER
325 bool
Rob Herring0583fe42013-04-10 18:27:51 -0500326 select CLKSRC_OF if OF
Marc Zyngierae281cb2015-09-28 15:49:17 +0100327 select CLKSRC_ACPI if ACPI
James Hogana2c5d4e2012-10-09 10:54:39 +0100328
Will Deacon037f6372013-08-23 15:32:29 +0100329config ARM_ARCH_TIMER_EVTSTREAM
Will Deacon46fd5c62016-06-27 17:30:13 +0100330 bool "Enable ARM architected timer event stream generation by default"
Will Deacon037f6372013-08-23 15:32:29 +0100331 default y if ARM_ARCH_TIMER
Stephen Boyd77f7ce92013-11-20 12:02:03 -0800332 depends on ARM_ARCH_TIMER
Will Deacon037f6372013-08-23 15:32:29 +0100333 help
Will Deacon46fd5c62016-06-27 17:30:13 +0100334 This option enables support by default for event stream generation
335 based on the ARM architected timer. It is used for waking up CPUs
336 executing the wfe instruction at a frequency represented as a
337 power-of-2 divisor of the clock rate. The behaviour can also be
338 overridden on the command line using the
339 clocksource.arm_arch_timer.evtstream parameter.
Will Deacon037f6372013-08-23 15:32:29 +0100340 The main use of the event stream is wfe-based timeouts of userspace
341 locking implementations. It might also be useful for imposing timeout
342 on wfe to safeguard against any programming errors in case an expected
343 event is not generated.
344 This must be disabled for hardware validation purposes to detect any
345 hardware anomalies of missing events.
346
Ding Tianhong16d10ef2017-02-06 16:47:41 +0000347config ARM_ARCH_TIMER_OOL_WORKAROUND
348 bool
349
Scott Woodf6dc1572016-09-22 03:35:17 -0500350config FSL_ERRATUM_A008585
351 bool "Workaround for Freescale/NXP Erratum A-008585"
352 default y
353 depends on ARM_ARCH_TIMER && ARM64
Ding Tianhong16d10ef2017-02-06 16:47:41 +0000354 select ARM_ARCH_TIMER_OOL_WORKAROUND
Scott Woodf6dc1572016-09-22 03:35:17 -0500355 help
356 This option enables a workaround for Freescale/NXP Erratum
357 A-008585 ("ARM generic timer may contain an erroneous
358 value"). The workaround will only be active if the
359 fsl,erratum-a008585 property is found in the timer node.
360
Ding Tianhongbb42ca42017-02-06 16:47:42 +0000361config HISILICON_ERRATUM_161010101
362 bool "Workaround for Hisilicon Erratum 161010101"
363 default y
364 select ARM_ARCH_TIMER_OOL_WORKAROUND
365 depends on ARM_ARCH_TIMER && ARM64
366 help
367 This option enables a workaround for Hisilicon Erratum
368 161010101. The workaround will be active if the hisilicon,erratum-161010101
369 property is found in the timer node.
370
Marc Zyngierfa8d8152017-01-27 12:52:31 +0000371config ARM64_ERRATUM_858921
372 bool "Workaround for Cortex-A73 erratum 858921"
373 default y
374 select ARM_ARCH_TIMER_OOL_WORKAROUND
375 depends on ARM_ARCH_TIMER && ARM64
376 help
377 This option enables a workaround applicable to Cortex-A73
378 (all versions), whose counter may return incorrect values.
379 The workaround will be dynamically enabled when an affected
380 core is detected.
381
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100382config ARM_GLOBAL_TIMER
Daniel Lezcano67a87a42016-06-06 14:34:28 +0200383 bool "Support for the ARM global timer" if COMPILE_TEST
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100384 select CLKSRC_OF if OF
Daniel Lezcano67a87a42016-06-06 14:34:28 +0200385 depends on ARM
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100386 help
387 This options enables support for the ARM global timer unit
388
Sudeep Holla0b7402d2015-05-18 16:29:40 +0100389config ARM_TIMER_SP804
390 bool "Support for Dual Timer SP804 module"
Guenter Roeck002af192015-06-23 20:49:05 -0700391 depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP
Sudeep Holla0b7402d2015-05-18 16:29:40 +0100392 select CLKSRC_MMIO
393 select CLKSRC_OF if OF
394
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100395config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
396 bool
397 depends on ARM_GLOBAL_TIMER
398 default y
399 help
400 Use ARM global timer clock source as sched_clock
401
Maxime Coquelin4958ebb2015-05-09 09:53:46 +0200402config ARMV7M_SYSTICK
Daniel Lezcanoe2146d82016-06-02 18:41:52 +0200403 bool "Support for the ARMv7M system time" if COMPILE_TEST
Maxime Coquelin4958ebb2015-05-09 09:53:46 +0200404 select CLKSRC_OF if OF
405 select CLKSRC_MMIO
406 help
407 This options enables support for the ARMv7M system timer unit
408
Maxime Ripardb052ff32014-09-02 18:12:35 +0200409config ATMEL_PIT
410 select CLKSRC_OF if OF
411 def_bool SOC_AT91SAM9 || SOC_SAMA5
412
Alexandre Bellonib53cdd02015-03-12 13:07:31 +0100413config ATMEL_ST
Daniel Lezcanob988d3f2016-06-06 19:08:39 +0200414 bool "Atmel ST timer support" if COMPILE_TEST
415 depends on GENERIC_CLOCKEVENTS
Alexandre Bellonib53cdd02015-03-12 13:07:31 +0100416 select CLKSRC_OF
Alexandre Belloni7ab7ef72015-03-19 14:17:48 +0100417 select MFD_SYSCON
Daniel Lezcanob988d3f2016-06-06 19:08:39 +0200418 help
419 Support for the Atmel ST timer.
Alexandre Bellonib53cdd02015-03-12 13:07:31 +0100420
James Hogana2c5d4e2012-10-09 10:54:39 +0100421config CLKSRC_METAG_GENERIC
422 def_bool y if METAG
423 help
424 This option enables support for the Meta per-thread timers.
Thomas Abraham6938d75a2013-03-09 16:16:13 +0900425
426config CLKSRC_EXYNOS_MCT
Daniel Lezcano39366ef2015-11-01 21:51:30 +0100427 bool "Exynos multi core timer driver" if COMPILE_TEST
Chanwoo Choif1a4c1f2016-08-24 22:49:05 +0900428 depends on ARM || ARM64
Thomas Abraham6938d75a2013-03-09 16:16:13 +0900429 help
430 Support for Multi Core Timer controller on Exynos SoCs.
Arnd Bergmann241a9872013-05-06 23:49:09 +0200431
Tomasz Figaf1189982013-04-20 23:22:13 +0200432config CLKSRC_SAMSUNG_PWM
Alexandre Bellonide37b0b2016-06-16 15:53:18 +0200433 bool "PWM timer driver for Samsung S3C, S5P" if COMPILE_TEST
Daniel Lezcano0901f182015-11-04 14:21:42 +0100434 depends on GENERIC_CLOCKEVENTS
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100435 depends on HAS_IOMEM
Tomasz Figaf1189982013-04-20 23:22:13 +0200436 help
437 This is a new clocksource driver for the PWM timer found in
438 Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
439 for all devicetree enabled platforms. This driver will be
440 needed only on systems that do not have the Exynos MCT available.
Jingchang Luc1967242013-05-29 10:12:17 +0200441
Xiubo Li2529c3a2014-05-23 10:12:04 +0200442config FSL_FTM_TIMER
Daniel Lezcanoef493362015-11-02 09:51:02 +0100443 bool "Freescale FlexTimer Module driver" if COMPILE_TEST
Daniel Lezcano0901f182015-11-04 14:21:42 +0100444 depends on GENERIC_CLOCKEVENTS
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100445 depends on HAS_IOMEM
Daniel Lezcano03724ac2016-01-08 14:21:31 +0100446 select CLKSRC_MMIO
Xiubo Li2529c3a2014-05-23 10:12:04 +0200447 help
448 Support for Freescale FlexTimer Module (FTM) timer.
449
Jingchang Luc1967242013-05-29 10:12:17 +0200450config VF_PIT_TIMER
451 bool
Arnd Bergmann2be6d9b2016-01-25 17:02:49 +0100452 select CLKSRC_MMIO
Jingchang Luc1967242013-05-29 10:12:17 +0200453 help
454 Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
Magnus Dammfd3f1272014-02-20 12:54:45 +0100455
Neil Armstrong89355272016-06-15 12:13:26 +0200456config OXNAS_RPS_TIMER
457 bool "Oxford Semiconductor OXNAS RPS Timers driver" if COMPILE_TEST
458 depends on GENERIC_CLOCKEVENTS
459 select CLKSRC_OF
460 select CLKSRC_MMIO
461 help
462 This enables support for the Oxford Semiconductor OXNAS RPS timers.
463
Magnus Dammfd3f1272014-02-20 12:54:45 +0100464config SYS_SUPPORTS_SH_CMT
465 bool
466
Matthias Bruggerecb35302014-07-18 11:36:43 +0200467config MTK_TIMER
Daniel Lezcanofbca9ea2015-10-30 17:53:27 +0100468 bool "Mediatek timer driver" if COMPILE_TEST
Richard Weinberger863ee052016-01-02 23:06:36 +0100469 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
Matthias Bruggerecb35302014-07-18 11:36:43 +0200470 select CLKSRC_OF
471 select CLKSRC_MMIO
Daniel Lezcanofbca9ea2015-10-30 17:53:27 +0100472 help
473 Support for Mediatek timer driver.
Matthias Bruggerecb35302014-07-18 11:36:43 +0200474
Magnus Dammfd3f1272014-02-20 12:54:45 +0100475config SYS_SUPPORTS_SH_MTU2
476 bool
477
478config SYS_SUPPORTS_SH_TMU
479 bool
480
481config SYS_SUPPORTS_EM_STI
482 bool
483
Rich Felker9995f4f2016-10-13 21:51:06 +0000484config CLKSRC_JCORE_PIT
485 bool "J-Core PIT timer driver" if COMPILE_TEST
486 depends on OF
487 depends on GENERIC_CLOCKEVENTS
488 depends on HAS_IOMEM
489 select CLKSRC_MMIO
490 help
491 This enables build of clocksource and clockevent driver for
492 the integrated PIT in the J-Core synthesizable, open source SoC.
493
Magnus Dammfd3f1272014-02-20 12:54:45 +0100494config SH_TIMER_CMT
495 bool "Renesas CMT timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100496 depends on GENERIC_CLOCKEVENTS
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100497 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100498 default SYS_SUPPORTS_SH_CMT
499 help
500 This enables build of a clocksource and clockevent driver for
501 the Compare Match Timer (CMT) hardware available in 16/32/48-bit
502 variants on a wide range of Mobile and Automotive SoCs from Renesas.
503
504config SH_TIMER_MTU2
505 bool "Renesas MTU2 timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100506 depends on GENERIC_CLOCKEVENTS
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100507 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100508 default SYS_SUPPORTS_SH_MTU2
509 help
510 This enables build of a clockevent driver for the Multi-Function
Kuninori Morimoto7e139182014-07-18 11:36:36 +0200511 Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
Magnus Dammfd3f1272014-02-20 12:54:45 +0100512 This hardware comes with 16 bit-timer registers.
513
Chris Brandtfb6002a2017-01-27 15:02:15 -0500514config RENESAS_OSTM
515 bool "Renesas OSTM timer driver" if COMPILE_TEST
516 depends on GENERIC_CLOCKEVENTS
517 select CLKSRC_MMIO
518 help
519 Enables the support for the Renesas OSTM.
520
Magnus Dammfd3f1272014-02-20 12:54:45 +0100521config SH_TIMER_TMU
522 bool "Renesas TMU timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100523 depends on GENERIC_CLOCKEVENTS
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100524 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100525 default SYS_SUPPORTS_SH_TMU
526 help
527 This enables build of a clocksource and clockevent driver for
528 the 32-bit Timer Unit (TMU) hardware available on a wide range
529 SoCs from Renesas.
530
531config EM_TIMER_STI
532 bool "Renesas STI timer driver" if COMPILE_TEST
Chen Gang40c96312014-07-08 20:39:40 +0800533 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100534 default SYS_SUPPORTS_EM_STI
535 help
536 This enables build of a clocksource and clockevent driver for
537 the 48-bit System Timer (STI) hardware available on a SoCs
538 such as EMEV2 from former NEC Electronics.
Linus Torvaldsdfc25e42014-04-05 13:51:19 -0700539
Kumar Gala3f8e8ce2014-01-29 16:17:30 -0600540config CLKSRC_QCOM
Daniel Lezcano3dc0e9f2015-10-09 11:10:43 +0200541 bool "Qualcomm MSM timer" if COMPILE_TEST
542 depends on ARM
543 select CLKSRC_OF
544 help
545 This enables the clocksource and the per CPU clockevent driver for the
546 Qualcomm SoCs.
Pawel Moll220e2a82014-04-16 18:22:59 +0100547
548config CLKSRC_VERSATILE
Daniel Lezcano5cc87a42016-06-07 11:05:01 +0200549 bool "ARM Versatile (Express) reference platforms clock source" if COMPILE_TEST
550 depends on GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET
Pawel Moll220e2a82014-04-16 18:22:59 +0100551 select CLKSRC_OF
552 default y if MFD_VEXPRESS_SYSREG
553 help
554 This option enables clock source based on free running
555 counter available in the "System Registers" block of
556 ARM Versatile, RealView and Versatile Express reference
557 platforms.
Jean Delvare58394272014-06-16 11:48:45 +0200558
Andrew Brestickerfa5635a2014-10-20 12:03:58 -0700559config CLKSRC_MIPS_GIC
560 bool
561 depends on MIPS_GIC
Andrew Brestickere12aa822014-11-12 11:43:39 -0800562 select CLKSRC_OF
Andrew Brestickerfa5635a2014-10-20 12:03:58 -0700563
Marc Gonzalezccd63ce2015-10-09 16:59:18 +0200564config CLKSRC_TANGO_XTAL
Daniel Lezcano5a7351f2015-10-29 20:54:19 +0100565 bool "Clocksource for Tango SoC" if COMPILE_TEST
566 depends on ARM
Marc Gonzalezccd63ce2015-10-09 16:59:18 +0200567 select CLKSRC_OF
Daniel Lezcano08818412015-11-13 10:44:38 +0100568 select CLKSRC_MMIO
Daniel Lezcano5a7351f2015-10-29 20:54:19 +0100569 help
570 This enables the clocksource for Tango SoC
Marc Gonzalezccd63ce2015-10-09 16:59:18 +0200571
Dmitry Eremin-Solenikove074ff82014-12-21 16:07:09 +0100572config CLKSRC_PXA
Daniel Lezcano5ae996c2015-10-09 17:47:32 +0200573 bool "Clocksource for PXA or SA-11x0 platform" if COMPILE_TEST
574 depends on GENERIC_CLOCKEVENTS
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100575 depends on HAS_IOMEM
Daniel Lezcano5ae996c2015-10-09 17:47:32 +0200576 select CLKSRC_MMIO
Dmitry Eremin-Solenikove074ff82014-12-21 16:07:09 +0100577 help
578 This enables OST0 support available on PXA and SA-11x0
579 platforms.
Yoshinori Sato618b9022015-01-28 02:52:42 +0900580
Daniel Lezcano97a23be2015-11-09 14:43:52 +0100581config H8300_TMR8
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100582 bool "Clockevent timer 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 8 bits timer for the H8300 platform.
Daniel Lezcano97a23be2015-11-09 14:43:52 +0100586
Yoshinori Sato618b9022015-01-28 02:52:42 +0900587config H8300_TMR16
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100588 bool "Clockevent timer for the H83069 platform" if COMPILE_TEST
Richard Weinberger863ee052016-01-02 23:06:36 +0100589 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100590 help
591 This enables the 16 bits timer for the H8300 platform with the
592 H83069 cpu.
Yoshinori Sato618b9022015-01-28 02:52:42 +0900593
594config H8300_TPU
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100595 bool "Clocksource for the H8300 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 clocksource for the H8300 platform with the
599 H8S2678 cpu.
Yoshinori Sato618b9022015-01-28 02:52:42 +0900600
Shawn Guobea5af42015-05-15 15:41:00 +0800601config CLKSRC_IMX_GPT
602 bool "Clocksource using i.MX GPT" if COMPILE_TEST
603 depends on ARM && CLKDEV_LOOKUP
604 select CLKSRC_MMIO
605
Lee Jones70bef012015-05-26 13:39:43 +0100606config CLKSRC_ST_LPC
Daniel Lezcanobaacaf82015-10-09 15:36:28 +0200607 bool "Low power clocksource found in the LPC" if COMPILE_TEST
Lee Jones70bef012015-05-26 13:39:43 +0100608 select CLKSRC_OF if OF
Richard Weinberger863ee052016-01-02 23:06:36 +0100609 depends on HAS_IOMEM
Arnd Bergmann2be6d9b2016-01-25 17:02:49 +0100610 select CLKSRC_MMIO
Lee Jones70bef012015-05-26 13:39:43 +0100611 help
612 Enable this option to use the Low Power controller timer
613 as clocksource.
614
Jean Delvare58394272014-06-16 11:48:45 +0200615endmenu