blob: 88818a43d6e94ee8e149aa7347133cf098e01561 [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
Daniel Lezcanobb0eb052017-05-26 19:34:11 +02004config TIMER_OF
Stephen Warrenae278a92012-11-19 16:41:20 -07005 bool
Daniel Lezcanodc11bae2017-06-05 00:18:43 +02006 depends on GENERIC_CLOCKEVENTS
Daniel Lezcanobb0eb052017-05-26 19:34:11 +02007 select TIMER_PROBE
Marc Zyngieraad83b152015-09-28 15:49:16 +01008
Daniel Lezcanofa1bffa2017-05-26 19:40:24 +02009config TIMER_ACPI
Marc Zyngieraad83b152015-09-28 15:49:16 +010010 bool
Daniel Lezcanobb0eb052017-05-26 19:34:11 +020011 select TIMER_PROBE
Marc Zyngieraad83b152015-09-28 15:49:16 +010012
Daniel Lezcanobb0eb052017-05-26 19:34:11 +020013config TIMER_PROBE
Marc Zyngieraad83b152015-09-28 15:49:16 +010014 bool
Stephen Warrenae278a92012-11-19 16:41:20 -070015
Russell King89c0b8e2011-05-08 18:47:58 +010016config CLKSRC_I8253
17 bool
Russell King442c8172011-05-08 14:06:52 +010018
Thomas Gleixnere6220bd2011-06-09 13:08:25 +000019config CLKEVT_I8253
20 bool
21
Ralf Baechle15f304b2011-06-01 19:04:59 +010022config I8253_LOCK
23 bool
24
25config CLKBLD_I8253
Thomas Gleixnere6220bd2011-06-09 13:08:25 +000026 def_bool y if CLKSRC_I8253 || CLKEVT_I8253 || I8253_LOCK
Ralf Baechle15f304b2011-06-01 19:04:59 +010027
Russell King442c8172011-05-08 14:06:52 +010028config CLKSRC_MMIO
29 bool
Jamie Iles06c3df42011-06-06 12:43:07 +010030
Daniel Lezcano2ea879a2016-06-02 18:35:38 +020031config BCM2835_TIMER
32 bool "BCM2835 timer driver" if COMPILE_TEST
33 depends on GENERIC_CLOCKEVENTS
34 select CLKSRC_MMIO
35 help
36 Enables the support for the BCM2835 timer driver.
37
Daniel Lezcano1cad71e2016-06-02 19:20:36 +020038config BCM_KONA_TIMER
39 bool "BCM mobile timer driver" if COMPILE_TEST
40 depends on GENERIC_CLOCKEVENTS
41 select CLKSRC_MMIO
42 help
43 Enables the support for the BCM Kona mobile timer driver.
44
Baruch Siach9b8bb772015-01-26 20:35:18 +020045config DIGICOLOR_TIMER
Daniel Lezcanoe6c1db12015-10-30 22:32:10 +010046 bool "Digicolor timer driver" if COMPILE_TEST
Daniel Lezcano0901f182015-11-04 14:21:42 +010047 depends on GENERIC_CLOCKEVENTS
Arnd Bergmann2be6d9b2016-01-25 17:02:49 +010048 select CLKSRC_MMIO
Richard Weinbergerd7023e622016-01-25 23:24:19 +010049 depends on HAS_IOMEM
Daniel Lezcanoe6c1db12015-10-30 22:32:10 +010050 help
51 Enables the support for the digicolor timer driver.
Baruch Siach9b8bb772015-01-26 20:35:18 +020052
Jamie Iles06c3df42011-06-06 12:43:07 +010053config DW_APB_TIMER
Daniel Lezcano5b097f62015-10-30 22:35:00 +010054 bool "DW APB timer driver" if COMPILE_TEST
Daniel Lezcano0901f182015-11-04 14:21:42 +010055 depends on GENERIC_CLOCKEVENTS
Daniel Lezcano5b097f62015-10-30 22:35:00 +010056 help
57 Enables the support for the dw_apb timer.
Mattias Wallin489bcce2011-05-27 10:30:12 +020058
Dinh Nguyencfda5902012-07-11 15:13:16 -050059config DW_APB_TIMER_OF
60 bool
Heiko Stuebner1b4eca02013-06-04 11:38:11 +020061 select DW_APB_TIMER
Daniel Lezcanobb0eb052017-05-26 19:34:11 +020062 select TIMER_OF
Dinh Nguyencfda5902012-07-11 15:13:16 -050063
Linus Walleijf5bf0ee2017-03-24 22:32:34 +010064config FTTMR010_TIMER
65 bool "Faraday Technology timer driver" if COMPILE_TEST
Linus Walleij47505352017-01-22 13:17:17 +010066 depends on GENERIC_CLOCKEVENTS
67 depends on HAS_IOMEM
68 select CLKSRC_MMIO
Daniel Lezcanobb0eb052017-05-26 19:34:11 +020069 select TIMER_OF
Linus Walleij47505352017-01-22 13:17:17 +010070 select MFD_SYSCON
71 help
Linus Walleijf5bf0ee2017-03-24 22:32:34 +010072 Enables support for the Faraday Technology timer block
73 FTTMR010.
Linus Walleij47505352017-01-22 13:17:17 +010074
Daniel Lezcano468b8c42015-01-25 22:06:02 +010075config ROCKCHIP_TIMER
Daniel Lezcano40ada2a2015-10-30 17:58:47 +010076 bool "Rockchip timer driver" if COMPILE_TEST
77 depends on ARM || ARM64
Daniel Lezcanobb0eb052017-05-26 19:34:11 +020078 select TIMER_OF
Alexander Kochetkov5e0a39d2017-01-31 15:43:14 +030079 select CLKSRC_MMIO
Daniel Lezcano40ada2a2015-10-30 17:58:47 +010080 help
81 Enables the support for the rockchip timer driver.
Daniel Lezcano468b8c42015-01-25 22:06:02 +010082
Gregory CLEMENT6fe9cbd2012-06-13 18:58:09 +020083config ARMADA_370_XP_TIMER
Daniel Lezcano9519e802015-10-30 20:30:34 +010084 bool "Armada 370 and XP timer driver" if COMPILE_TEST
85 depends on ARM
Daniel Lezcanobb0eb052017-05-26 19:34:11 +020086 select TIMER_OF
Arnd Bergmann2be6d9b2016-01-25 17:02:49 +010087 select CLKSRC_MMIO
Daniel Lezcano9519e802015-10-30 20:30:34 +010088 help
89 Enables the support for the Armada 370 and XP timer driver.
Gregory CLEMENT6fe9cbd2012-06-13 18:58:09 +020090
Carlo Caionee4a6b372014-09-29 01:50:05 +020091config MESON6_TIMER
Daniel Lezcano0b7a7bb2015-10-30 22:07:39 +010092 bool "Meson6 timer driver" if COMPILE_TEST
Daniel Lezcano0901f182015-11-04 14:21:42 +010093 depends on GENERIC_CLOCKEVENTS
Beniamino Galvani7b6b0a42014-11-18 16:41:20 +010094 select CLKSRC_MMIO
Daniel Lezcano0b7a7bb2015-10-30 22:07:39 +010095 help
96 Enables the support for the Meson6 timer driver.
Carlo Caionee4a6b372014-09-29 01:50:05 +020097
Sebastian Hesselbarth0c1dcfd2013-06-11 08:38:50 +020098config ORION_TIMER
Daniel Lezcanoc9165542015-10-30 22:28:31 +010099 bool "Orion timer driver" if COMPILE_TEST
100 depends on ARM
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200101 select TIMER_OF
Sebastian Hesselbarth0c1dcfd2013-06-11 08:38:50 +0200102 select CLKSRC_MMIO
Daniel Lezcanoc9165542015-10-30 22:28:31 +0100103 help
104 Enables the support for the Orion timer driver
Sebastian Hesselbarth0c1dcfd2013-06-11 08:38:50 +0200105
Maxime Ripard119fd632013-03-24 11:49:25 +0100106config SUN4I_TIMER
Daniel Lezcanob4fcd482015-10-30 22:39:00 +0100107 bool "Sun4i timer driver" if COMPILE_TEST
Daniel Lezcano0901f182015-11-04 14:21:42 +0100108 depends on GENERIC_CLOCKEVENTS
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100109 depends on HAS_IOMEM
Maxime Ripard71c568c2013-10-14 21:07:46 +0200110 select CLKSRC_MMIO
Daniel Lezcano239751e2017-06-06 23:07:51 +0200111 select TIMER_OF
Daniel Lezcanob4fcd482015-10-30 22:39:00 +0100112 help
113 Enables support for the Sun4i timer.
Maxime Ripardb2ac5d72012-11-12 15:07:50 +0100114
Maxime Ripard67905542013-11-07 12:01:48 +0100115config SUN5I_HSTIMER
Daniel Lezcanof0c5afb2015-10-31 17:01:46 +0100116 bool "Sun5i timer driver" if COMPILE_TEST
Maxime Ripard67905542013-11-07 12:01:48 +0100117 select CLKSRC_MMIO
Daniel Lezcanof0c5afb2015-10-31 17:01:46 +0100118 depends on COMMON_CLK
119 help
120 Enables support the Sun5i timer.
Maxime Ripard67905542013-11-07 12:01:48 +0100121
Thierry Reding910978e72014-07-07 15:26:30 +0200122config TEGRA_TIMER
Daniel Lezcanoadce4bc2015-10-31 20:13:09 +0100123 bool "Tegra timer driver" if COMPILE_TEST
Arnd Bergmann2be6d9b2016-01-25 17:02:49 +0100124 select CLKSRC_MMIO
Daniel Lezcanoadce4bc2015-10-31 20:13:09 +0100125 depends on ARM
126 help
127 Enables support for the Tegra driver.
Thierry Reding910978e72014-07-07 15:26:30 +0200128
Tony Priskff7ec342013-01-14 17:58:21 +1300129config VT8500_TIMER
Daniel Lezcanob4bdf7e2015-10-31 20:23:54 +0100130 bool "VT8500 timer driver" if COMPILE_TEST
Daniel Lezcano0901f182015-11-04 14:21:42 +0100131 depends on GENERIC_CLOCKEVENTS
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100132 depends on HAS_IOMEM
Daniel Lezcanob4bdf7e2015-10-31 20:23:54 +0100133 help
134 Enables support for the VT8500 driver.
Tony Priskff7ec342013-01-14 17:58:21 +1300135
Michal Simek4f0f2342013-03-20 10:46:01 +0100136config CADENCE_TTC_TIMER
Daniel Lezcano57f49312015-10-31 21:39:03 +0100137 bool "Cadence TTC timer driver" if COMPILE_TEST
138 depends on COMMON_CLK
139 help
140 Enables support for the cadence ttc driver.
Michal Simek4f0f2342013-03-20 10:46:01 +0100141
Daniel Lezcanoa8b1b9f2015-02-23 19:54:16 +0100142config ASM9260_TIMER
Daniel Lezcanob9755842015-10-31 21:41:23 +0100143 bool "ASM9260 timer driver" if COMPILE_TEST
Daniel Lezcano0901f182015-11-04 14:21:42 +0100144 depends on GENERIC_CLOCKEVENTS
Daniel Lezcanoa8b1b9f2015-02-23 19:54:16 +0100145 select CLKSRC_MMIO
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200146 select TIMER_OF
Daniel Lezcanob9755842015-10-31 21:41:23 +0100147 help
148 Enables support for the ASM9260 timer.
Daniel Lezcanoa8b1b9f2015-02-23 19:54:16 +0100149
Linus Walleij694e33a2012-10-18 14:01:25 +0200150config CLKSRC_NOMADIK_MTU
Daniel Lezcano70329652015-11-01 21:11:28 +0100151 bool "Nomakdik clocksource driver" if COMPILE_TEST
152 depends on ARM
Linus Walleij694e33a2012-10-18 14:01:25 +0200153 select CLKSRC_MMIO
154 help
155 Support for Multi Timer Unit. MTU provides access
156 to multiple interrupt generating programmable
157 32-bit free running decrementing counters.
158
159config CLKSRC_NOMADIK_MTU_SCHED_CLOCK
160 bool
161 depends on CLKSRC_NOMADIK_MTU
162 help
163 Use the Multi Timer Unit as the sched_clock.
164
Mattias Wallin489bcce2011-05-27 10:30:12 +0200165config CLKSRC_DBX500_PRCMU
Daniel Lezcano1becd6e2015-11-01 21:16:01 +0100166 bool "Clocksource PRCMU Timer" if COMPILE_TEST
Daniel Lezcano0901f182015-11-04 14:21:42 +0100167 depends on GENERIC_CLOCKEVENTS
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100168 depends on HAS_IOMEM
Mattias Wallin489bcce2011-05-27 10:30:12 +0200169 help
170 Use the always on PRCMU Timer as clocksource
171
Daniel Lezcanoecf0efd2016-06-02 20:06:54 +0200172config CLPS711X_TIMER
173 bool "Cirrus logic timer driver" if COMPILE_TEST
174 depends on GENERIC_CLOCKEVENTS
175 select CLKSRC_MMIO
176 help
177 Enables support for the Cirrus Logic PS711 timer.
178
Daniel Lezcanob56d5d22016-06-03 13:11:39 +0200179config ATLAS7_TIMER
180 bool "Atlas7 timer driver" if COMPILE_TEST
181 depends on GENERIC_CLOCKEVENTS
182 select CLKSRC_MMIO
183 help
184 Enables support for the Atlas7 timer.
185
Daniel Lezcanod81c50a2016-06-03 13:36:18 +0200186config MXS_TIMER
187 bool "Mxs timer driver" if COMPILE_TEST
188 depends on GENERIC_CLOCKEVENTS
189 select CLKSRC_MMIO
190 select STMP_DEVICE
191 help
192 Enables support for the Mxs timer.
193
Daniel Lezcanof3550d42016-06-03 14:28:38 +0200194config PRIMA2_TIMER
195 bool "Prima2 timer driver" if COMPILE_TEST
196 depends on GENERIC_CLOCKEVENTS
197 select CLKSRC_MMIO
198 help
199 Enables support for the Prima2 timer.
200
Daniel Lezcano85f98db2016-06-03 14:31:16 +0200201config U300_TIMER
202 bool "U300 timer driver" if COMPILE_TEST
203 depends on GENERIC_CLOCKEVENTS
204 depends on ARM
205 select CLKSRC_MMIO
206 help
207 Enables support for the U300 timer.
208
Daniel Lezcanod683b9d2016-06-03 15:03:21 +0200209config NSPIRE_TIMER
210 bool "NSpire timer driver" if COMPILE_TEST
211 depends on GENERIC_CLOCKEVENTS
212 select CLKSRC_MMIO
213 help
214 Enables support for the Nspire timer.
215
Daniel Lezcanoc12547a2016-06-03 15:05:05 +0200216config KEYSTONE_TIMER
217 bool "Keystone timer driver" if COMPILE_TEST
218 depends on GENERIC_CLOCKEVENTS
219 depends on ARM || ARM64
220 select CLKSRC_MMIO
221 help
222 Enables support for the Keystone timer.
223
Daniel Lezcano568c0342016-06-03 15:11:21 +0200224config INTEGRATOR_AP_TIMER
225 bool "Integrator-ap timer driver" if COMPILE_TEST
226 depends on GENERIC_CLOCKEVENTS
227 select CLKSRC_MMIO
228 help
229 Enables support for the Integrator-ap timer.
230
Mattias Wallin489bcce2011-05-27 10:30:12 +0200231config CLKSRC_DBX500_PRCMU_SCHED_CLOCK
232 bool "Clocksource PRCMU Timer sched_clock"
Linus Walleij694e33a2012-10-18 14:01:25 +0200233 depends on (CLKSRC_DBX500_PRCMU && !CLKSRC_NOMADIK_MTU_SCHED_CLOCK)
Mattias Wallin489bcce2011-05-27 10:30:12 +0200234 default y
235 help
236 Use the always on PRCMU Timer as sched_clock
Marc Zyngier985c0672012-03-05 11:49:30 +0000237
Uwe Kleine-König9c9b7812013-10-03 21:56:29 +0200238config CLKSRC_EFM32
239 bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32
240 depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST)
Axel Lin09ca2752013-11-20 10:15:11 +0800241 select CLKSRC_MMIO
Uwe Kleine-König9c9b7812013-10-03 21:56:29 +0200242 default ARCH_EFM32
243 help
244 Support to use the timers of EFM32 SoCs as clock source and clock
245 event device.
246
Joachim Eastwood050dd322015-05-12 00:00:48 +0200247config CLKSRC_LPC32XX
Daniel Lezcanoddcf48c2015-10-31 21:44:52 +0100248 bool "Clocksource for LPC32XX" if COMPILE_TEST
Richard Weinberger863ee052016-01-02 23:06:36 +0100249 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
Ezequiel Garcia1b18fd22016-02-09 22:54:27 -0300250 depends on ARM
Joachim Eastwood050dd322015-05-12 00:00:48 +0200251 select CLKSRC_MMIO
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200252 select TIMER_OF
Daniel Lezcanoddcf48c2015-10-31 21:44:52 +0100253 help
254 Support for the LPC32XX clocksource.
Joachim Eastwood050dd322015-05-12 00:00:48 +0200255
Ezequiel Garcia84583982015-08-07 16:39:31 +0100256config CLKSRC_PISTACHIO
Daniel Lezcanodfdb1652015-10-30 17:28:13 +0100257 bool "Clocksource for Pistachio SoC" if COMPILE_TEST
Richard Weinberger863ee052016-01-02 23:06:36 +0100258 depends on HAS_IOMEM
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200259 select TIMER_OF
Daniel Lezcanodfdb1652015-10-30 17:28:13 +0100260 help
261 Enables the clocksource for the Pistachio SoC.
Ezequiel Garcia84583982015-08-07 16:39:31 +0100262
Felipe Balbife851f52015-09-29 13:55:33 -0500263config CLKSRC_TI_32K
264 bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST
Felipe Balbidfedaf12015-10-16 16:10:05 -0500265 depends on GENERIC_SCHED_CLOCK
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200266 select TIMER_OF if OF
Felipe Balbife851f52015-09-29 13:55:33 -0500267 help
268 This option enables support for Texas Instruments 32.768 Hz clocksource
269 available on many OMAP-like platforms.
270
Noam Camusa5322452015-10-17 22:37:30 +0300271config CLKSRC_NPS
272 bool "NPS400 clocksource driver" if COMPILE_TEST
273 depends on !PHYS_ADDR_T_64BIT
274 select CLKSRC_MMIO
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200275 select TIMER_OF if OF
Noam Camusa5322452015-10-17 22:37:30 +0300276 help
277 NPS400 clocksource support.
278 Got 64 bit counter with update rate up to 1000MHz.
279 This counter is accessed via couple of 32 bit memory mapped registers.
280
Maxime Coqueline37e4592015-05-22 23:03:33 +0200281config CLKSRC_STM32
Paul Gortmaker1cb6c212015-06-20 19:02:32 -0400282 bool "Clocksource for STM32 SoCs" if !ARCH_STM32
283 depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST)
Maxime Coqueline37e4592015-05-22 23:03:33 +0200284 select CLKSRC_MMIO
285
Vladimir Murzin03026372016-04-25 09:45:44 +0100286config CLKSRC_MPS2
287 bool "Clocksource for MPS2 SoCs" if COMPILE_TEST
288 depends on GENERIC_SCHED_CLOCK
289 select CLKSRC_MMIO
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200290 select TIMER_OF
Vladimir Murzin03026372016-04-25 09:45:44 +0100291
Vineet Guptac4c9a042016-10-31 13:46:38 -0700292config ARC_TIMERS
293 bool "Support for 32-bit TIMERn counters in ARC Cores" if COMPILE_TEST
294 depends on GENERIC_CLOCKEVENTS
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200295 select TIMER_OF
Vineet Guptac4c9a042016-10-31 13:46:38 -0700296 help
297 These are legacy 32-bit TIMER0 and TIMER1 counters found on all ARC cores
298 (ARC700 as well as ARC HS38).
299 TIMER0 serves as clockevent while TIMER1 provides clocksource
300
301config ARC_TIMERS_64BIT
302 bool "Support for 64-bit counters in ARC HS38 cores" if COMPILE_TEST
303 depends on GENERIC_CLOCKEVENTS
304 depends on ARC_TIMERS
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200305 select TIMER_OF
Vineet Guptac4c9a042016-10-31 13:46:38 -0700306 help
307 This enables 2 different 64-bit timers: RTC (for UP) and GFRC (for SMP)
308 RTC is implemented inside the core, while GFRC sits outside the core in
309 ARConnect IP block. Driver automatically picks one of them for clocksource
310 as appropriate.
311
Mark Rutland8a4da6e2012-11-12 14:33:44 +0000312config ARM_ARCH_TIMER
313 bool
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200314 select TIMER_OF if OF
Daniel Lezcanofa1bffa2017-05-26 19:40:24 +0200315 select TIMER_ACPI if ACPI
James Hogana2c5d4e2012-10-09 10:54:39 +0100316
Will Deacon037f6372013-08-23 15:32:29 +0100317config ARM_ARCH_TIMER_EVTSTREAM
Will Deacon46fd5c62016-06-27 17:30:13 +0100318 bool "Enable ARM architected timer event stream generation by default"
Will Deacon037f6372013-08-23 15:32:29 +0100319 default y if ARM_ARCH_TIMER
Stephen Boyd77f7ce92013-11-20 12:02:03 -0800320 depends on ARM_ARCH_TIMER
Will Deacon037f6372013-08-23 15:32:29 +0100321 help
Will Deacon46fd5c62016-06-27 17:30:13 +0100322 This option enables support by default for event stream generation
323 based on the ARM architected timer. It is used for waking up CPUs
324 executing the wfe instruction at a frequency represented as a
325 power-of-2 divisor of the clock rate. The behaviour can also be
326 overridden on the command line using the
327 clocksource.arm_arch_timer.evtstream parameter.
Will Deacon037f6372013-08-23 15:32:29 +0100328 The main use of the event stream is wfe-based timeouts of userspace
329 locking implementations. It might also be useful for imposing timeout
330 on wfe to safeguard against any programming errors in case an expected
331 event is not generated.
332 This must be disabled for hardware validation purposes to detect any
333 hardware anomalies of missing events.
334
Ding Tianhong16d10ef2017-02-06 16:47:41 +0000335config ARM_ARCH_TIMER_OOL_WORKAROUND
336 bool
337
Scott Woodf6dc1572016-09-22 03:35:17 -0500338config FSL_ERRATUM_A008585
339 bool "Workaround for Freescale/NXP Erratum A-008585"
340 default y
341 depends on ARM_ARCH_TIMER && ARM64
Ding Tianhong16d10ef2017-02-06 16:47:41 +0000342 select ARM_ARCH_TIMER_OOL_WORKAROUND
Scott Woodf6dc1572016-09-22 03:35:17 -0500343 help
344 This option enables a workaround for Freescale/NXP Erratum
345 A-008585 ("ARM generic timer may contain an erroneous
346 value"). The workaround will only be active if the
347 fsl,erratum-a008585 property is found in the timer node.
348
Ding Tianhongbb42ca42017-02-06 16:47:42 +0000349config HISILICON_ERRATUM_161010101
350 bool "Workaround for Hisilicon Erratum 161010101"
351 default y
352 select ARM_ARCH_TIMER_OOL_WORKAROUND
353 depends on ARM_ARCH_TIMER && ARM64
354 help
355 This option enables a workaround for Hisilicon Erratum
356 161010101. The workaround will be active if the hisilicon,erratum-161010101
357 property is found in the timer node.
358
Marc Zyngierfa8d8152017-01-27 12:52:31 +0000359config ARM64_ERRATUM_858921
360 bool "Workaround for Cortex-A73 erratum 858921"
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 applicable to Cortex-A73
366 (all versions), whose counter may return incorrect values.
367 The workaround will be dynamically enabled when an affected
368 core is detected.
369
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100370config ARM_GLOBAL_TIMER
Daniel Lezcano67a87a42016-06-06 14:34:28 +0200371 bool "Support for the ARM global timer" if COMPILE_TEST
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200372 select TIMER_OF if OF
Daniel Lezcano67a87a42016-06-06 14:34:28 +0200373 depends on ARM
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100374 help
375 This options enables support for the ARM global timer unit
376
Sudeep Holla0b7402d2015-05-18 16:29:40 +0100377config ARM_TIMER_SP804
378 bool "Support for Dual Timer SP804 module"
Guenter Roeck002af192015-06-23 20:49:05 -0700379 depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP
Sudeep Holla0b7402d2015-05-18 16:29:40 +0100380 select CLKSRC_MMIO
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200381 select TIMER_OF if OF
Sudeep Holla0b7402d2015-05-18 16:29:40 +0100382
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100383config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
384 bool
385 depends on ARM_GLOBAL_TIMER
386 default y
387 help
388 Use ARM global timer clock source as sched_clock
389
Maxime Coquelin4958ebb2015-05-09 09:53:46 +0200390config ARMV7M_SYSTICK
Daniel Lezcanoe2146d82016-06-02 18:41:52 +0200391 bool "Support for the ARMv7M system time" if COMPILE_TEST
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200392 select TIMER_OF if OF
Maxime Coquelin4958ebb2015-05-09 09:53:46 +0200393 select CLKSRC_MMIO
394 help
395 This options enables support for the ARMv7M system timer unit
396
Maxime Ripardb052ff32014-09-02 18:12:35 +0200397config ATMEL_PIT
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200398 select TIMER_OF if OF
Maxime Ripardb052ff32014-09-02 18:12:35 +0200399 def_bool SOC_AT91SAM9 || SOC_SAMA5
400
Alexandre Bellonib53cdd02015-03-12 13:07:31 +0100401config ATMEL_ST
Daniel Lezcanob988d3f2016-06-06 19:08:39 +0200402 bool "Atmel ST timer support" if COMPILE_TEST
403 depends on GENERIC_CLOCKEVENTS
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200404 select TIMER_OF
Alexandre Belloni7ab7ef72015-03-19 14:17:48 +0100405 select MFD_SYSCON
Daniel Lezcanob988d3f2016-06-06 19:08:39 +0200406 help
407 Support for the Atmel ST timer.
Alexandre Bellonib53cdd02015-03-12 13:07:31 +0100408
James Hogana2c5d4e2012-10-09 10:54:39 +0100409config CLKSRC_METAG_GENERIC
410 def_bool y if METAG
411 help
412 This option enables support for the Meta per-thread timers.
Thomas Abraham6938d75a2013-03-09 16:16:13 +0900413
414config CLKSRC_EXYNOS_MCT
Daniel Lezcano39366ef2015-11-01 21:51:30 +0100415 bool "Exynos multi core timer driver" if COMPILE_TEST
Chanwoo Choif1a4c1f2016-08-24 22:49:05 +0900416 depends on ARM || ARM64
Thomas Abraham6938d75a2013-03-09 16:16:13 +0900417 help
418 Support for Multi Core Timer controller on Exynos SoCs.
Arnd Bergmann241a9872013-05-06 23:49:09 +0200419
Tomasz Figaf1189982013-04-20 23:22:13 +0200420config CLKSRC_SAMSUNG_PWM
Alexandre Bellonide37b0b2016-06-16 15:53:18 +0200421 bool "PWM timer driver for Samsung S3C, S5P" if COMPILE_TEST
Daniel Lezcano0901f182015-11-04 14:21:42 +0100422 depends on GENERIC_CLOCKEVENTS
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100423 depends on HAS_IOMEM
Tomasz Figaf1189982013-04-20 23:22:13 +0200424 help
425 This is a new clocksource driver for the PWM timer found in
426 Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
427 for all devicetree enabled platforms. This driver will be
428 needed only on systems that do not have the Exynos MCT available.
Jingchang Luc1967242013-05-29 10:12:17 +0200429
Xiubo Li2529c3a2014-05-23 10:12:04 +0200430config FSL_FTM_TIMER
Daniel Lezcanoef493362015-11-02 09:51:02 +0100431 bool "Freescale FlexTimer Module driver" if COMPILE_TEST
Daniel Lezcano0901f182015-11-04 14:21:42 +0100432 depends on GENERIC_CLOCKEVENTS
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100433 depends on HAS_IOMEM
Daniel Lezcano03724ac2016-01-08 14:21:31 +0100434 select CLKSRC_MMIO
Xiubo Li2529c3a2014-05-23 10:12:04 +0200435 help
436 Support for Freescale FlexTimer Module (FTM) timer.
437
Jingchang Luc1967242013-05-29 10:12:17 +0200438config VF_PIT_TIMER
439 bool
Arnd Bergmann2be6d9b2016-01-25 17:02:49 +0100440 select CLKSRC_MMIO
Jingchang Luc1967242013-05-29 10:12:17 +0200441 help
442 Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
Magnus Dammfd3f1272014-02-20 12:54:45 +0100443
Neil Armstrong89355272016-06-15 12:13:26 +0200444config OXNAS_RPS_TIMER
445 bool "Oxford Semiconductor OXNAS RPS Timers driver" if COMPILE_TEST
446 depends on GENERIC_CLOCKEVENTS
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200447 select TIMER_OF
Neil Armstrong89355272016-06-15 12:13:26 +0200448 select CLKSRC_MMIO
449 help
450 This enables support for the Oxford Semiconductor OXNAS RPS timers.
451
Magnus Dammfd3f1272014-02-20 12:54:45 +0100452config SYS_SUPPORTS_SH_CMT
453 bool
454
Matthias Bruggerecb35302014-07-18 11:36:43 +0200455config MTK_TIMER
Daniel Lezcanofbca9ea2015-10-30 17:53:27 +0100456 bool "Mediatek timer driver" if COMPILE_TEST
Richard Weinberger863ee052016-01-02 23:06:36 +0100457 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200458 select TIMER_OF
Matthias Bruggerecb35302014-07-18 11:36:43 +0200459 select CLKSRC_MMIO
Daniel Lezcanofbca9ea2015-10-30 17:53:27 +0100460 help
461 Support for Mediatek timer driver.
Matthias Bruggerecb35302014-07-18 11:36:43 +0200462
Magnus Dammfd3f1272014-02-20 12:54:45 +0100463config SYS_SUPPORTS_SH_MTU2
464 bool
465
466config SYS_SUPPORTS_SH_TMU
467 bool
468
469config SYS_SUPPORTS_EM_STI
470 bool
471
Rich Felker9995f4f2016-10-13 21:51:06 +0000472config CLKSRC_JCORE_PIT
473 bool "J-Core PIT timer driver" if COMPILE_TEST
474 depends on OF
475 depends on GENERIC_CLOCKEVENTS
476 depends on HAS_IOMEM
477 select CLKSRC_MMIO
478 help
479 This enables build of clocksource and clockevent driver for
480 the integrated PIT in the J-Core synthesizable, open source SoC.
481
Magnus Dammfd3f1272014-02-20 12:54:45 +0100482config SH_TIMER_CMT
483 bool "Renesas CMT timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100484 depends on GENERIC_CLOCKEVENTS
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100485 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100486 default SYS_SUPPORTS_SH_CMT
487 help
488 This enables build of a clocksource and clockevent driver for
489 the Compare Match Timer (CMT) hardware available in 16/32/48-bit
490 variants on a wide range of Mobile and Automotive SoCs from Renesas.
491
492config SH_TIMER_MTU2
493 bool "Renesas MTU2 timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100494 depends on GENERIC_CLOCKEVENTS
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100495 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100496 default SYS_SUPPORTS_SH_MTU2
497 help
498 This enables build of a clockevent driver for the Multi-Function
Kuninori Morimoto7e139182014-07-18 11:36:36 +0200499 Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
Magnus Dammfd3f1272014-02-20 12:54:45 +0100500 This hardware comes with 16 bit-timer registers.
501
Chris Brandtfb6002a2017-01-27 15:02:15 -0500502config RENESAS_OSTM
503 bool "Renesas OSTM timer driver" if COMPILE_TEST
504 depends on GENERIC_CLOCKEVENTS
505 select CLKSRC_MMIO
506 help
507 Enables the support for the Renesas OSTM.
508
Magnus Dammfd3f1272014-02-20 12:54:45 +0100509config SH_TIMER_TMU
510 bool "Renesas TMU timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100511 depends on GENERIC_CLOCKEVENTS
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100512 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100513 default SYS_SUPPORTS_SH_TMU
514 help
515 This enables build of a clocksource and clockevent driver for
516 the 32-bit Timer Unit (TMU) hardware available on a wide range
517 SoCs from Renesas.
518
519config EM_TIMER_STI
520 bool "Renesas STI timer driver" if COMPILE_TEST
Chen Gang40c96312014-07-08 20:39:40 +0800521 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100522 default SYS_SUPPORTS_EM_STI
523 help
524 This enables build of a clocksource and clockevent driver for
525 the 48-bit System Timer (STI) hardware available on a SoCs
526 such as EMEV2 from former NEC Electronics.
Linus Torvaldsdfc25e42014-04-05 13:51:19 -0700527
Kumar Gala3f8e8ce2014-01-29 16:17:30 -0600528config CLKSRC_QCOM
Daniel Lezcano3dc0e9f2015-10-09 11:10:43 +0200529 bool "Qualcomm MSM timer" if COMPILE_TEST
530 depends on ARM
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200531 select TIMER_OF
Daniel Lezcano3dc0e9f2015-10-09 11:10:43 +0200532 help
533 This enables the clocksource and the per CPU clockevent driver for the
534 Qualcomm SoCs.
Pawel Moll220e2a82014-04-16 18:22:59 +0100535
536config CLKSRC_VERSATILE
Daniel Lezcano5cc87a42016-06-07 11:05:01 +0200537 bool "ARM Versatile (Express) reference platforms clock source" if COMPILE_TEST
538 depends on GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200539 select TIMER_OF
Pawel Moll220e2a82014-04-16 18:22:59 +0100540 default y if MFD_VEXPRESS_SYSREG
541 help
542 This option enables clock source based on free running
543 counter available in the "System Registers" block of
544 ARM Versatile, RealView and Versatile Express reference
545 platforms.
Jean Delvare58394272014-06-16 11:48:45 +0200546
Andrew Brestickerfa5635a2014-10-20 12:03:58 -0700547config CLKSRC_MIPS_GIC
548 bool
549 depends on MIPS_GIC
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200550 select TIMER_OF
Andrew Brestickerfa5635a2014-10-20 12:03:58 -0700551
Marc Gonzalezccd63ce2015-10-09 16:59:18 +0200552config CLKSRC_TANGO_XTAL
Daniel Lezcano5a7351f2015-10-29 20:54:19 +0100553 bool "Clocksource for Tango SoC" if COMPILE_TEST
554 depends on ARM
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200555 select TIMER_OF
Daniel Lezcano08818412015-11-13 10:44:38 +0100556 select CLKSRC_MMIO
Daniel Lezcano5a7351f2015-10-29 20:54:19 +0100557 help
558 This enables the clocksource for Tango SoC
Marc Gonzalezccd63ce2015-10-09 16:59:18 +0200559
Dmitry Eremin-Solenikove074ff82014-12-21 16:07:09 +0100560config CLKSRC_PXA
Daniel Lezcano5ae996c2015-10-09 17:47:32 +0200561 bool "Clocksource for PXA or SA-11x0 platform" if COMPILE_TEST
562 depends on GENERIC_CLOCKEVENTS
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100563 depends on HAS_IOMEM
Daniel Lezcano5ae996c2015-10-09 17:47:32 +0200564 select CLKSRC_MMIO
Dmitry Eremin-Solenikove074ff82014-12-21 16:07:09 +0100565 help
566 This enables OST0 support available on PXA and SA-11x0
567 platforms.
Yoshinori Sato618b9022015-01-28 02:52:42 +0900568
Daniel Lezcano97a23be2015-11-09 14:43:52 +0100569config H8300_TMR8
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100570 bool "Clockevent timer for the H8300 platform" if COMPILE_TEST
Richard Weinberger863ee052016-01-02 23:06:36 +0100571 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100572 help
573 This enables the 8 bits timer for the H8300 platform.
Daniel Lezcano97a23be2015-11-09 14:43:52 +0100574
Yoshinori Sato618b9022015-01-28 02:52:42 +0900575config H8300_TMR16
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100576 bool "Clockevent timer for the H83069 platform" if COMPILE_TEST
Richard Weinberger863ee052016-01-02 23:06:36 +0100577 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100578 help
579 This enables the 16 bits timer for the H8300 platform with the
580 H83069 cpu.
Yoshinori Sato618b9022015-01-28 02:52:42 +0900581
582config H8300_TPU
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100583 bool "Clocksource for the H8300 platform" if COMPILE_TEST
Richard Weinberger863ee052016-01-02 23:06:36 +0100584 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100585 help
586 This enables the clocksource for the H8300 platform with the
587 H8S2678 cpu.
Yoshinori Sato618b9022015-01-28 02:52:42 +0900588
Shawn Guobea5af42015-05-15 15:41:00 +0800589config CLKSRC_IMX_GPT
590 bool "Clocksource using i.MX GPT" if COMPILE_TEST
591 depends on ARM && CLKDEV_LOOKUP
592 select CLKSRC_MMIO
593
Lee Jones70bef012015-05-26 13:39:43 +0100594config CLKSRC_ST_LPC
Daniel Lezcanobaacaf82015-10-09 15:36:28 +0200595 bool "Low power clocksource found in the LPC" if COMPILE_TEST
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200596 select TIMER_OF if OF
Richard Weinberger863ee052016-01-02 23:06:36 +0100597 depends on HAS_IOMEM
Arnd Bergmann2be6d9b2016-01-25 17:02:49 +0100598 select CLKSRC_MMIO
Lee Jones70bef012015-05-26 13:39:43 +0100599 help
600 Enable this option to use the Low Power controller timer
601 as clocksource.
602
Jean Delvare58394272014-06-16 11:48:45 +0200603endmenu