blob: d17a347e813a4f7d3f699ca7bd69e2cd330dc62e [file] [log] [blame]
Thomas Gleixnerec8f24b2019-05-19 13:07:45 +01001# SPDX-License-Identifier: GPL-2.0-only
Jean Delvare58394272014-06-16 11:48:45 +02002menu "Clock Source drivers"
Arnd Bergmann2f8a26c2017-09-05 17:04:56 +02003 depends on GENERIC_CLOCKEVENTS
Jean Delvare58394272014-06-16 11:48:45 +02004
Daniel Lezcanobb0eb052017-05-26 19:34:11 +02005config TIMER_OF
Stephen Warrenae278a92012-11-19 16:41:20 -07006 bool
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
Keerthyaf04aa82018-02-15 11:31:46 +053025config OMAP_DM_TIMER
26 bool
27
Ralf Baechle15f304b2011-06-01 19:04:59 +010028config CLKBLD_I8253
Thomas Gleixnere6220bd2011-06-09 13:08:25 +000029 def_bool y if CLKSRC_I8253 || CLKEVT_I8253 || I8253_LOCK
Ralf Baechle15f304b2011-06-01 19:04:59 +010030
Russell King442c8172011-05-08 14:06:52 +010031config CLKSRC_MMIO
32 bool
Jamie Iles06c3df42011-06-06 12:43:07 +010033
Daniel Lezcano2ea879a2016-06-02 18:35:38 +020034config BCM2835_TIMER
35 bool "BCM2835 timer driver" if COMPILE_TEST
Daniel Lezcano2ea879a2016-06-02 18:35:38 +020036 select CLKSRC_MMIO
37 help
38 Enables the support for the BCM2835 timer driver.
39
Daniel Lezcano1cad71e2016-06-02 19:20:36 +020040config BCM_KONA_TIMER
41 bool "BCM mobile timer driver" if COMPILE_TEST
Daniel Lezcano1cad71e2016-06-02 19:20:36 +020042 select CLKSRC_MMIO
43 help
44 Enables the support for the BCM Kona mobile timer driver.
45
Baruch Siach9b8bb772015-01-26 20:35:18 +020046config DIGICOLOR_TIMER
Daniel Lezcanoe6c1db12015-10-30 22:32:10 +010047 bool "Digicolor timer driver" if COMPILE_TEST
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
55 help
56 Enables the support for the dw_apb timer.
Mattias Wallin489bcce2011-05-27 10:30:12 +020057
Dinh Nguyencfda5902012-07-11 15:13:16 -050058config DW_APB_TIMER_OF
59 bool
Heiko Stuebner1b4eca02013-06-04 11:38:11 +020060 select DW_APB_TIMER
Daniel Lezcanobb0eb052017-05-26 19:34:11 +020061 select TIMER_OF
Dinh Nguyencfda5902012-07-11 15:13:16 -050062
Linus Walleijf5bf0ee2017-03-24 22:32:34 +010063config FTTMR010_TIMER
64 bool "Faraday Technology timer driver" if COMPILE_TEST
Linus Walleij47505352017-01-22 13:17:17 +010065 depends on HAS_IOMEM
66 select CLKSRC_MMIO
Daniel Lezcanobb0eb052017-05-26 19:34:11 +020067 select TIMER_OF
Linus Walleij47505352017-01-22 13:17:17 +010068 select MFD_SYSCON
69 help
Linus Walleijf5bf0ee2017-03-24 22:32:34 +010070 Enables support for the Faraday Technology timer block
71 FTTMR010.
Linus Walleij47505352017-01-22 13:17:17 +010072
Linus Walleij13e0b402019-01-26 00:49:19 +010073config IXP4XX_TIMER
74 bool "Intel XScale IXP4xx timer driver" if COMPILE_TEST
75 depends on HAS_IOMEM
76 select CLKSRC_MMIO
77 help
78 Enables support for the Intel XScale IXP4xx SoC timer.
79
Daniel Lezcano468b8c42015-01-25 22:06:02 +010080config ROCKCHIP_TIMER
Daniel Lezcano40ada2a2015-10-30 17:58:47 +010081 bool "Rockchip timer driver" if COMPILE_TEST
82 depends on ARM || ARM64
Daniel Lezcanobb0eb052017-05-26 19:34:11 +020083 select TIMER_OF
Alexander Kochetkov5e0a39d2017-01-31 15:43:14 +030084 select CLKSRC_MMIO
Daniel Lezcano40ada2a2015-10-30 17:58:47 +010085 help
86 Enables the support for the rockchip timer driver.
Daniel Lezcano468b8c42015-01-25 22:06:02 +010087
Gregory CLEMENT6fe9cbd2012-06-13 18:58:09 +020088config ARMADA_370_XP_TIMER
Daniel Lezcano9519e802015-10-30 20:30:34 +010089 bool "Armada 370 and XP timer driver" if COMPILE_TEST
90 depends on ARM
Daniel Lezcanobb0eb052017-05-26 19:34:11 +020091 select TIMER_OF
Arnd Bergmann2be6d9b2016-01-25 17:02:49 +010092 select CLKSRC_MMIO
Daniel Lezcano9519e802015-10-30 20:30:34 +010093 help
94 Enables the support for the Armada 370 and XP timer driver.
Gregory CLEMENT6fe9cbd2012-06-13 18:58:09 +020095
Carlo Caionee4a6b372014-09-29 01:50:05 +020096config MESON6_TIMER
Daniel Lezcano0b7a7bb2015-10-30 22:07:39 +010097 bool "Meson6 timer driver" if COMPILE_TEST
Beniamino Galvani7b6b0a42014-11-18 16:41:20 +010098 select CLKSRC_MMIO
Daniel Lezcano0b7a7bb2015-10-30 22:07:39 +010099 help
100 Enables the support for the Meson6 timer driver.
Carlo Caionee4a6b372014-09-29 01:50:05 +0200101
Sebastian Hesselbarth0c1dcfd2013-06-11 08:38:50 +0200102config ORION_TIMER
Daniel Lezcanoc9165542015-10-30 22:28:31 +0100103 bool "Orion timer driver" if COMPILE_TEST
104 depends on ARM
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200105 select TIMER_OF
Sebastian Hesselbarth0c1dcfd2013-06-11 08:38:50 +0200106 select CLKSRC_MMIO
Daniel Lezcanoc9165542015-10-30 22:28:31 +0100107 help
108 Enables the support for the Orion timer driver
Sebastian Hesselbarth0c1dcfd2013-06-11 08:38:50 +0200109
Andreas Färber4be78a82017-02-23 19:27:12 +0100110config OWL_TIMER
111 bool "Owl timer driver" if COMPILE_TEST
Andreas Färber4be78a82017-02-23 19:27:12 +0100112 select CLKSRC_MMIO
113 help
114 Enables the support for the Actions Semi Owl timer driver.
115
Manivannan Sadhasivam7f83a132018-12-10 23:05:46 +0530116config RDA_TIMER
117 bool "RDA timer driver" if COMPILE_TEST
118 depends on GENERIC_CLOCKEVENTS
119 select CLKSRC_MMIO
120 select TIMER_OF
121 help
122 Enables the support for the RDA Micro timer driver.
123
Maxime Ripard119fd632013-03-24 11:49:25 +0100124config SUN4I_TIMER
Daniel Lezcanob4fcd482015-10-30 22:39:00 +0100125 bool "Sun4i timer driver" if COMPILE_TEST
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100126 depends on HAS_IOMEM
Maxime Ripard71c568c2013-10-14 21:07:46 +0200127 select CLKSRC_MMIO
Daniel Lezcano239751e2017-06-06 23:07:51 +0200128 select TIMER_OF
Daniel Lezcanob4fcd482015-10-30 22:39:00 +0100129 help
130 Enables support for the Sun4i timer.
Maxime Ripardb2ac5d72012-11-12 15:07:50 +0100131
Maxime Ripard67905542013-11-07 12:01:48 +0100132config SUN5I_HSTIMER
Daniel Lezcanof0c5afb2015-10-31 17:01:46 +0100133 bool "Sun5i timer driver" if COMPILE_TEST
Maxime Ripard67905542013-11-07 12:01:48 +0100134 select CLKSRC_MMIO
Daniel Lezcanof0c5afb2015-10-31 17:01:46 +0100135 depends on COMMON_CLK
136 help
137 Enables support the Sun5i timer.
Maxime Ripard67905542013-11-07 12:01:48 +0100138
Thierry Reding910978e72014-07-07 15:26:30 +0200139config TEGRA_TIMER
Daniel Lezcanoadce4bc2015-10-31 20:13:09 +0100140 bool "Tegra timer driver" if COMPILE_TEST
Arnd Bergmann2be6d9b2016-01-25 17:02:49 +0100141 select CLKSRC_MMIO
Joseph Lob4822dc2019-02-21 15:21:44 +0800142 select TIMER_OF
Dmitry Osipenkoacb4bb32019-06-03 21:59:46 +0300143 depends on ARCH_TEGRA || COMPILE_TEST
Daniel Lezcanoadce4bc2015-10-31 20:13:09 +0100144 help
145 Enables support for the Tegra driver.
Thierry Reding910978e72014-07-07 15:26:30 +0200146
Tony Priskff7ec342013-01-14 17:58:21 +1300147config VT8500_TIMER
Daniel Lezcanob4bdf7e2015-10-31 20:23:54 +0100148 bool "VT8500 timer driver" if COMPILE_TEST
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100149 depends on HAS_IOMEM
Daniel Lezcanob4bdf7e2015-10-31 20:23:54 +0100150 help
151 Enables support for the VT8500 driver.
Tony Priskff7ec342013-01-14 17:58:21 +1300152
Tomer Maimon1c002892018-03-08 17:24:58 +0200153config NPCM7XX_TIMER
154 bool "NPCM7xx timer driver" if COMPILE_TEST
155 depends on HAS_IOMEM
Arnd Bergmann99834ee2019-03-05 14:24:48 +0100156 select TIMER_OF
Tomer Maimon1c002892018-03-08 17:24:58 +0200157 select CLKSRC_MMIO
158 help
159 Enable 24-bit TIMER0 and TIMER1 counters in the NPCM7xx architecture,
160 While TIMER0 serves as clockevent and TIMER1 serves as clocksource.
161
Michal Simek4f0f2342013-03-20 10:46:01 +0100162config CADENCE_TTC_TIMER
Daniel Lezcano57f49312015-10-31 21:39:03 +0100163 bool "Cadence TTC timer driver" if COMPILE_TEST
164 depends on COMMON_CLK
165 help
166 Enables support for the cadence ttc driver.
Michal Simek4f0f2342013-03-20 10:46:01 +0100167
Daniel Lezcanoa8b1b9f2015-02-23 19:54:16 +0100168config ASM9260_TIMER
Daniel Lezcanob9755842015-10-31 21:41:23 +0100169 bool "ASM9260 timer driver" if COMPILE_TEST
Daniel Lezcanoa8b1b9f2015-02-23 19:54:16 +0100170 select CLKSRC_MMIO
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200171 select TIMER_OF
Daniel Lezcanob9755842015-10-31 21:41:23 +0100172 help
173 Enables support for the ASM9260 timer.
Daniel Lezcanoa8b1b9f2015-02-23 19:54:16 +0100174
Linus Walleij694e33a2012-10-18 14:01:25 +0200175config CLKSRC_NOMADIK_MTU
Daniel Lezcano70329652015-11-01 21:11:28 +0100176 bool "Nomakdik clocksource driver" if COMPILE_TEST
177 depends on ARM
Linus Walleij694e33a2012-10-18 14:01:25 +0200178 select CLKSRC_MMIO
179 help
180 Support for Multi Timer Unit. MTU provides access
181 to multiple interrupt generating programmable
182 32-bit free running decrementing counters.
183
Mattias Wallin489bcce2011-05-27 10:30:12 +0200184config CLKSRC_DBX500_PRCMU
Daniel Lezcano1becd6e2015-11-01 21:16:01 +0100185 bool "Clocksource PRCMU Timer" if COMPILE_TEST
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100186 depends on HAS_IOMEM
Mattias Wallin489bcce2011-05-27 10:30:12 +0200187 help
188 Use the always on PRCMU Timer as clocksource
189
Daniel Lezcanoecf0efd2016-06-02 20:06:54 +0200190config CLPS711X_TIMER
191 bool "Cirrus logic timer driver" if COMPILE_TEST
Daniel Lezcanoecf0efd2016-06-02 20:06:54 +0200192 select CLKSRC_MMIO
193 help
194 Enables support for the Cirrus Logic PS711 timer.
195
Daniel Lezcanob56d5d22016-06-03 13:11:39 +0200196config ATLAS7_TIMER
197 bool "Atlas7 timer driver" if COMPILE_TEST
Daniel Lezcanob56d5d22016-06-03 13:11:39 +0200198 select CLKSRC_MMIO
199 help
200 Enables support for the Atlas7 timer.
201
Daniel Lezcanod81c50a2016-06-03 13:36:18 +0200202config MXS_TIMER
203 bool "Mxs timer driver" if COMPILE_TEST
Daniel Lezcanod81c50a2016-06-03 13:36:18 +0200204 select CLKSRC_MMIO
205 select STMP_DEVICE
206 help
207 Enables support for the Mxs timer.
208
Daniel Lezcanof3550d42016-06-03 14:28:38 +0200209config PRIMA2_TIMER
210 bool "Prima2 timer driver" if COMPILE_TEST
Daniel Lezcanof3550d42016-06-03 14:28:38 +0200211 select CLKSRC_MMIO
212 help
213 Enables support for the Prima2 timer.
214
Daniel Lezcano85f98db2016-06-03 14:31:16 +0200215config U300_TIMER
216 bool "U300 timer driver" if COMPILE_TEST
Daniel Lezcano85f98db2016-06-03 14:31:16 +0200217 depends on ARM
218 select CLKSRC_MMIO
219 help
220 Enables support for the U300 timer.
221
Daniel Lezcanod683b9d2016-06-03 15:03:21 +0200222config NSPIRE_TIMER
223 bool "NSpire timer driver" if COMPILE_TEST
Daniel Lezcanod683b9d2016-06-03 15:03:21 +0200224 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
Daniel Lezcanoc12547a2016-06-03 15:05:05 +0200230 depends on ARM || ARM64
231 select CLKSRC_MMIO
232 help
233 Enables support for the Keystone timer.
234
Daniel Lezcano568c0342016-06-03 15:11:21 +0200235config INTEGRATOR_AP_TIMER
236 bool "Integrator-ap timer driver" if COMPILE_TEST
Daniel Lezcano568c0342016-06-03 15:11:21 +0200237 select CLKSRC_MMIO
238 help
239 Enables support for the Integrator-ap timer.
240
Uwe Kleine-König9c9b7812013-10-03 21:56:29 +0200241config CLKSRC_EFM32
242 bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32
243 depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST)
Axel Lin09ca2752013-11-20 10:15:11 +0800244 select CLKSRC_MMIO
Uwe Kleine-König9c9b7812013-10-03 21:56:29 +0200245 default ARCH_EFM32
246 help
247 Support to use the timers of EFM32 SoCs as clock source and clock
248 event device.
249
Joachim Eastwood050dd322015-05-12 00:00:48 +0200250config CLKSRC_LPC32XX
Daniel Lezcanoddcf48c2015-10-31 21:44:52 +0100251 bool "Clocksource for LPC32XX" if COMPILE_TEST
Arnd Bergmann2f8a26c2017-09-05 17:04:56 +0200252 depends on HAS_IOMEM
Ezequiel Garcia1b18fd22016-02-09 22:54:27 -0300253 depends on ARM
Joachim Eastwood050dd322015-05-12 00:00:48 +0200254 select CLKSRC_MMIO
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200255 select TIMER_OF
Daniel Lezcanoddcf48c2015-10-31 21:44:52 +0100256 help
257 Support for the LPC32XX clocksource.
Joachim Eastwood050dd322015-05-12 00:00:48 +0200258
Ezequiel Garcia84583982015-08-07 16:39:31 +0100259config CLKSRC_PISTACHIO
Daniel Lezcanodfdb1652015-10-30 17:28:13 +0100260 bool "Clocksource for Pistachio SoC" if COMPILE_TEST
Arnd Bergmann2f8a26c2017-09-05 17:04:56 +0200261 depends on HAS_IOMEM
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200262 select TIMER_OF
Daniel Lezcanodfdb1652015-10-30 17:28:13 +0100263 help
264 Enables the clocksource for the Pistachio SoC.
Ezequiel Garcia84583982015-08-07 16:39:31 +0100265
Felipe Balbife851f52015-09-29 13:55:33 -0500266config CLKSRC_TI_32K
267 bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST
Felipe Balbidfedaf12015-10-16 16:10:05 -0500268 depends on GENERIC_SCHED_CLOCK
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200269 select TIMER_OF if OF
Felipe Balbife851f52015-09-29 13:55:33 -0500270 help
271 This option enables support for Texas Instruments 32.768 Hz clocksource
272 available on many OMAP-like platforms.
273
Noam Camusa5322452015-10-17 22:37:30 +0300274config CLKSRC_NPS
275 bool "NPS400 clocksource driver" if COMPILE_TEST
276 depends on !PHYS_ADDR_T_64BIT
277 select CLKSRC_MMIO
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200278 select TIMER_OF if OF
Noam Camusa5322452015-10-17 22:37:30 +0300279 help
280 NPS400 clocksource support.
281 Got 64 bit counter with update rate up to 1000MHz.
282 This counter is accessed via couple of 32 bit memory mapped registers.
283
Maxime Coqueline37e4592015-05-22 23:03:33 +0200284config CLKSRC_STM32
Paul Gortmaker1cb6c212015-06-20 19:02:32 -0400285 bool "Clocksource for STM32 SoCs" if !ARCH_STM32
286 depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST)
Maxime Coqueline37e4592015-05-22 23:03:33 +0200287 select CLKSRC_MMIO
Benjamin Gaignardd04af492018-01-08 14:28:51 +0100288 select TIMER_OF
Maxime Coqueline37e4592015-05-22 23:03:33 +0200289
Vladimir Murzin03026372016-04-25 09:45:44 +0100290config CLKSRC_MPS2
291 bool "Clocksource for MPS2 SoCs" if COMPILE_TEST
292 depends on GENERIC_SCHED_CLOCK
293 select CLKSRC_MMIO
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200294 select TIMER_OF
Vladimir Murzin03026372016-04-25 09:45:44 +0100295
Vineet Guptac4c9a042016-10-31 13:46:38 -0700296config ARC_TIMERS
297 bool "Support for 32-bit TIMERn counters in ARC Cores" if COMPILE_TEST
Alexey Brodkinbf287602018-11-19 14:29:17 +0300298 depends on GENERIC_SCHED_CLOCK
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200299 select TIMER_OF
Vineet Guptac4c9a042016-10-31 13:46:38 -0700300 help
301 These are legacy 32-bit TIMER0 and TIMER1 counters found on all ARC cores
302 (ARC700 as well as ARC HS38).
303 TIMER0 serves as clockevent while TIMER1 provides clocksource
304
305config ARC_TIMERS_64BIT
306 bool "Support for 64-bit counters in ARC HS38 cores" if COMPILE_TEST
Vineet Guptac4c9a042016-10-31 13:46:38 -0700307 depends on ARC_TIMERS
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200308 select TIMER_OF
Vineet Guptac4c9a042016-10-31 13:46:38 -0700309 help
310 This enables 2 different 64-bit timers: RTC (for UP) and GFRC (for SMP)
311 RTC is implemented inside the core, while GFRC sits outside the core in
312 ARConnect IP block. Driver automatically picks one of them for clocksource
313 as appropriate.
314
Mark Rutland8a4da6e2012-11-12 14:33:44 +0000315config ARM_ARCH_TIMER
316 bool
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200317 select TIMER_OF if OF
Daniel Lezcanofa1bffa2017-05-26 19:40:24 +0200318 select TIMER_ACPI if ACPI
James Hogana2c5d4e2012-10-09 10:54:39 +0100319
Will Deacon037f6372013-08-23 15:32:29 +0100320config ARM_ARCH_TIMER_EVTSTREAM
Will Deacon46fd5c62016-06-27 17:30:13 +0100321 bool "Enable ARM architected timer event stream generation by default"
Will Deacon037f6372013-08-23 15:32:29 +0100322 default y if ARM_ARCH_TIMER
Stephen Boyd77f7ce92013-11-20 12:02:03 -0800323 depends on ARM_ARCH_TIMER
Will Deacon037f6372013-08-23 15:32:29 +0100324 help
Will Deacon46fd5c62016-06-27 17:30:13 +0100325 This option enables support by default for event stream generation
326 based on the ARM architected timer. It is used for waking up CPUs
327 executing the wfe instruction at a frequency represented as a
328 power-of-2 divisor of the clock rate. The behaviour can also be
329 overridden on the command line using the
330 clocksource.arm_arch_timer.evtstream parameter.
Will Deacon037f6372013-08-23 15:32:29 +0100331 The main use of the event stream is wfe-based timeouts of userspace
332 locking implementations. It might also be useful for imposing timeout
333 on wfe to safeguard against any programming errors in case an expected
334 event is not generated.
335 This must be disabled for hardware validation purposes to detect any
336 hardware anomalies of missing events.
337
Ding Tianhong16d10ef2017-02-06 16:47:41 +0000338config ARM_ARCH_TIMER_OOL_WORKAROUND
339 bool
340
Scott Woodf6dc1572016-09-22 03:35:17 -0500341config FSL_ERRATUM_A008585
342 bool "Workaround for Freescale/NXP Erratum A-008585"
343 default y
344 depends on ARM_ARCH_TIMER && ARM64
Ding Tianhong16d10ef2017-02-06 16:47:41 +0000345 select ARM_ARCH_TIMER_OOL_WORKAROUND
Scott Woodf6dc1572016-09-22 03:35:17 -0500346 help
347 This option enables a workaround for Freescale/NXP Erratum
348 A-008585 ("ARM generic timer may contain an erroneous
349 value"). The workaround will only be active if the
350 fsl,erratum-a008585 property is found in the timer node.
351
Ding Tianhongbb42ca42017-02-06 16:47:42 +0000352config HISILICON_ERRATUM_161010101
353 bool "Workaround for Hisilicon Erratum 161010101"
354 default y
355 select ARM_ARCH_TIMER_OOL_WORKAROUND
356 depends on ARM_ARCH_TIMER && ARM64
357 help
358 This option enables a workaround for Hisilicon Erratum
359 161010101. The workaround will be active if the hisilicon,erratum-161010101
360 property is found in the timer node.
361
Marc Zyngierfa8d8152017-01-27 12:52:31 +0000362config ARM64_ERRATUM_858921
363 bool "Workaround for Cortex-A73 erratum 858921"
364 default y
365 select ARM_ARCH_TIMER_OOL_WORKAROUND
366 depends on ARM_ARCH_TIMER && ARM64
367 help
368 This option enables a workaround applicable to Cortex-A73
369 (all versions), whose counter may return incorrect values.
370 The workaround will be dynamically enabled when an affected
371 core is detected.
372
Samuel Hollandc950ca82019-01-12 20:17:18 -0600373config SUN50I_ERRATUM_UNKNOWN1
374 bool "Workaround for Allwinner A64 erratum UNKNOWN1"
375 default y
376 depends on ARM_ARCH_TIMER && ARM64 && ARCH_SUNXI
377 select ARM_ARCH_TIMER_OOL_WORKAROUND
378 help
379 This option enables a workaround for instability in the timer on
380 the Allwinner A64 SoC. The workaround will only be active if the
381 allwinner,erratum-unknown1 property is found in the timer node.
382
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100383config ARM_GLOBAL_TIMER
Daniel Lezcano67a87a42016-06-06 14:34:28 +0200384 bool "Support for the ARM global timer" if COMPILE_TEST
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200385 select TIMER_OF if OF
Daniel Lezcano67a87a42016-06-06 14:34:28 +0200386 depends on ARM
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100387 help
388 This options enables support for the ARM global timer unit
389
Sudeep Holla0b7402d2015-05-18 16:29:40 +0100390config ARM_TIMER_SP804
David Abdurachmanovdfc82fa2019-04-08 10:07:45 +0200391 bool "Support for Dual Timer SP804 module" if COMPILE_TEST
Guenter Roeck002af192015-06-23 20:49:05 -0700392 depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP
Sudeep Holla0b7402d2015-05-18 16:29:40 +0100393 select CLKSRC_MMIO
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200394 select TIMER_OF if OF
Sudeep Holla0b7402d2015-05-18 16:29:40 +0100395
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100396config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
397 bool
398 depends on ARM_GLOBAL_TIMER
399 default y
400 help
401 Use ARM global timer clock source as sched_clock
402
Maxime Coquelin4958ebb2015-05-09 09:53:46 +0200403config ARMV7M_SYSTICK
Daniel Lezcanoe2146d82016-06-02 18:41:52 +0200404 bool "Support for the ARMv7M system time" if COMPILE_TEST
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200405 select TIMER_OF if OF
Maxime Coquelin4958ebb2015-05-09 09:53:46 +0200406 select CLKSRC_MMIO
407 help
408 This options enables support for the ARMv7M system timer unit
409
Maxime Ripardb052ff32014-09-02 18:12:35 +0200410config ATMEL_PIT
Alexandre Belloni2f982702019-04-26 23:47:15 +0200411 bool "Atmel PIT support" if COMPILE_TEST
412 depends on HAS_IOMEM
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200413 select TIMER_OF if OF
Alexandre Belloni2f982702019-04-26 23:47:15 +0200414 help
415 Support for the Periodic Interval Timer found on Atmel SoCs.
Maxime Ripardb052ff32014-09-02 18:12:35 +0200416
Alexandre Bellonib53cdd02015-03-12 13:07:31 +0100417config ATMEL_ST
Daniel Lezcanob988d3f2016-06-06 19:08:39 +0200418 bool "Atmel ST timer support" if COMPILE_TEST
Masahiro Yamadabd2746f2018-03-06 20:20:33 +0900419 depends on HAS_IOMEM
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200420 select TIMER_OF
Alexandre Belloni7ab7ef72015-03-19 14:17:48 +0100421 select MFD_SYSCON
Daniel Lezcanob988d3f2016-06-06 19:08:39 +0200422 help
423 Support for the Atmel ST timer.
Alexandre Bellonib53cdd02015-03-12 13:07:31 +0100424
Alexandre Belloni6275f492019-04-26 23:47:14 +0200425config ATMEL_TCB_CLKSRC
426 bool "Atmel TC Block timer driver" if COMPILE_TEST
427 depends on HAS_IOMEM
428 select TIMER_OF if OF
429 help
430 Support for Timer Counter Blocks on Atmel SoCs.
431
Thomas Abraham6938d75a2013-03-09 16:16:13 +0900432config CLKSRC_EXYNOS_MCT
Daniel Lezcano39366ef2015-11-01 21:51:30 +0100433 bool "Exynos multi core timer driver" if COMPILE_TEST
Chanwoo Choif1a4c1f2016-08-24 22:49:05 +0900434 depends on ARM || ARM64
Thomas Abraham6938d75a2013-03-09 16:16:13 +0900435 help
436 Support for Multi Core Timer controller on Exynos SoCs.
Arnd Bergmann241a9872013-05-06 23:49:09 +0200437
Tomasz Figaf1189982013-04-20 23:22:13 +0200438config CLKSRC_SAMSUNG_PWM
Alexandre Bellonide37b0b2016-06-16 15:53:18 +0200439 bool "PWM timer driver for Samsung S3C, S5P" if COMPILE_TEST
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100440 depends on HAS_IOMEM
Tomasz Figaf1189982013-04-20 23:22:13 +0200441 help
442 This is a new clocksource driver for the PWM timer found in
443 Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
444 for all devicetree enabled platforms. This driver will be
445 needed only on systems that do not have the Exynos MCT available.
Jingchang Luc1967242013-05-29 10:12:17 +0200446
Xiubo Li2529c3a2014-05-23 10:12:04 +0200447config FSL_FTM_TIMER
Daniel Lezcanoef493362015-11-02 09:51:02 +0100448 bool "Freescale FlexTimer Module driver" if COMPILE_TEST
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100449 depends on HAS_IOMEM
Daniel Lezcano03724ac2016-01-08 14:21:31 +0100450 select CLKSRC_MMIO
Xiubo Li2529c3a2014-05-23 10:12:04 +0200451 help
452 Support for Freescale FlexTimer Module (FTM) timer.
453
Jingchang Luc1967242013-05-29 10:12:17 +0200454config VF_PIT_TIMER
455 bool
Arnd Bergmann2be6d9b2016-01-25 17:02:49 +0100456 select CLKSRC_MMIO
Jingchang Luc1967242013-05-29 10:12:17 +0200457 help
458 Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
Magnus Dammfd3f1272014-02-20 12:54:45 +0100459
Neil Armstrong89355272016-06-15 12:13:26 +0200460config OXNAS_RPS_TIMER
461 bool "Oxford Semiconductor OXNAS RPS Timers driver" if COMPILE_TEST
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200462 select TIMER_OF
Neil Armstrong89355272016-06-15 12:13:26 +0200463 select CLKSRC_MMIO
464 help
465 This enables support for the Oxford Semiconductor OXNAS RPS timers.
466
Magnus Dammfd3f1272014-02-20 12:54:45 +0100467config SYS_SUPPORTS_SH_CMT
468 bool
469
Matthias Bruggerecb35302014-07-18 11:36:43 +0200470config MTK_TIMER
Daniel Lezcanofbca9ea2015-10-30 17:53:27 +0100471 bool "Mediatek timer driver" if COMPILE_TEST
Arnd Bergmann2f8a26c2017-09-05 17:04:56 +0200472 depends on HAS_IOMEM
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200473 select TIMER_OF
Matthias Bruggerecb35302014-07-18 11:36:43 +0200474 select CLKSRC_MMIO
Daniel Lezcanofbca9ea2015-10-30 17:53:27 +0100475 help
476 Support for Mediatek timer driver.
Matthias Bruggerecb35302014-07-18 11:36:43 +0200477
Baolin Wang067bc912018-01-08 14:28:47 +0100478config SPRD_TIMER
Chunyan Zhang8a1ece22018-05-07 17:04:47 +0800479 bool "Spreadtrum timer driver" if EXPERT
Baolin Wang067bc912018-01-08 14:28:47 +0100480 depends on HAS_IOMEM
Chunyan Zhang8a1ece22018-05-07 17:04:47 +0800481 depends on (ARCH_SPRD || COMPILE_TEST)
482 default ARCH_SPRD
Baolin Wang067bc912018-01-08 14:28:47 +0100483 select TIMER_OF
484 help
485 Enables support for the Spreadtrum timer driver.
486
Magnus Dammfd3f1272014-02-20 12:54:45 +0100487config SYS_SUPPORTS_SH_MTU2
488 bool
489
490config SYS_SUPPORTS_SH_TMU
491 bool
492
493config SYS_SUPPORTS_EM_STI
494 bool
495
Rich Felker9995f4f2016-10-13 21:51:06 +0000496config CLKSRC_JCORE_PIT
497 bool "J-Core PIT timer driver" if COMPILE_TEST
498 depends on OF
Rich Felker9995f4f2016-10-13 21:51:06 +0000499 depends on HAS_IOMEM
500 select CLKSRC_MMIO
501 help
502 This enables build of clocksource and clockevent driver for
503 the integrated PIT in the J-Core synthesizable, open source SoC.
504
Magnus Dammfd3f1272014-02-20 12:54:45 +0100505config SH_TIMER_CMT
506 bool "Renesas CMT timer driver" if COMPILE_TEST
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100507 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100508 default SYS_SUPPORTS_SH_CMT
509 help
510 This enables build of a clocksource and clockevent driver for
511 the Compare Match Timer (CMT) hardware available in 16/32/48-bit
512 variants on a wide range of Mobile and Automotive SoCs from Renesas.
513
514config SH_TIMER_MTU2
515 bool "Renesas MTU2 timer driver" if COMPILE_TEST
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100516 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100517 default SYS_SUPPORTS_SH_MTU2
518 help
519 This enables build of a clockevent driver for the Multi-Function
Kuninori Morimoto7e139182014-07-18 11:36:36 +0200520 Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
Magnus Dammfd3f1272014-02-20 12:54:45 +0100521 This hardware comes with 16 bit-timer registers.
522
Chris Brandtfb6002a2017-01-27 15:02:15 -0500523config RENESAS_OSTM
524 bool "Renesas OSTM timer driver" if COMPILE_TEST
Chris Brandtfb6002a2017-01-27 15:02:15 -0500525 select CLKSRC_MMIO
526 help
527 Enables the support for the Renesas OSTM.
528
Magnus Dammfd3f1272014-02-20 12:54:45 +0100529config SH_TIMER_TMU
530 bool "Renesas TMU timer driver" if COMPILE_TEST
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
Arnd Bergmann2f8a26c2017-09-05 17:04:56 +0200540 depends on 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
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200550 select TIMER_OF
Daniel Lezcano3dc0e9f2015-10-09 11:10:43 +0200551 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
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200558 select TIMER_OF
Pawel Moll220e2a82014-04-16 18:22:59 +0100559 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
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200569 select TIMER_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
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200574 select TIMER_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
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100581 depends on HAS_IOMEM
Daniel Lezcano5ae996c2015-10-09 17:47:32 +0200582 select CLKSRC_MMIO
Dmitry Eremin-Solenikove074ff82014-12-21 16:07:09 +0100583 help
584 This enables OST0 support available on PXA and SA-11x0
585 platforms.
Yoshinori Sato618b9022015-01-28 02:52:42 +0900586
Daniel Lezcano97a23be2015-11-09 14:43:52 +0100587config H8300_TMR8
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100588 bool "Clockevent timer for the H8300 platform" if COMPILE_TEST
Arnd Bergmann2f8a26c2017-09-05 17:04:56 +0200589 depends on HAS_IOMEM
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100590 help
591 This enables the 8 bits timer for the H8300 platform.
Daniel Lezcano97a23be2015-11-09 14:43:52 +0100592
Yoshinori Sato618b9022015-01-28 02:52:42 +0900593config H8300_TMR16
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100594 bool "Clockevent timer for the H83069 platform" if COMPILE_TEST
Arnd Bergmann2f8a26c2017-09-05 17:04:56 +0200595 depends on HAS_IOMEM
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100596 help
597 This enables the 16 bits timer for the H8300 platform with the
598 H83069 cpu.
Yoshinori Sato618b9022015-01-28 02:52:42 +0900599
600config H8300_TPU
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100601 bool "Clocksource for the H8300 platform" if COMPILE_TEST
Arnd Bergmann2f8a26c2017-09-05 17:04:56 +0200602 depends on HAS_IOMEM
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100603 help
604 This enables the clocksource for the H8300 platform with the
605 H8S2678 cpu.
Yoshinori Sato618b9022015-01-28 02:52:42 +0900606
Shawn Guobea5af42015-05-15 15:41:00 +0800607config CLKSRC_IMX_GPT
608 bool "Clocksource using i.MX GPT" if COMPILE_TEST
Anson Huangdf181e32018-11-05 01:10:27 +0000609 depends on (ARM || ARM64) && CLKDEV_LOOKUP
Shawn Guobea5af42015-05-15 15:41:00 +0800610 select CLKSRC_MMIO
611
Dong Aisheng059ab7b2017-08-01 16:40:17 +0800612config CLKSRC_IMX_TPM
613 bool "Clocksource using i.MX TPM" if COMPILE_TEST
Arnd Bergmann2f8a26c2017-09-05 17:04:56 +0200614 depends on ARM && CLKDEV_LOOKUP
Dong Aisheng059ab7b2017-08-01 16:40:17 +0800615 select CLKSRC_MMIO
616 help
617 Enable this option to use IMX Timer/PWM Module (TPM) timer as
618 clocksource.
619
Lee Jones70bef012015-05-26 13:39:43 +0100620config CLKSRC_ST_LPC
Daniel Lezcanobaacaf82015-10-09 15:36:28 +0200621 bool "Low power clocksource found in the LPC" if COMPILE_TEST
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200622 select TIMER_OF if OF
Richard Weinberger863ee052016-01-02 23:06:36 +0100623 depends on HAS_IOMEM
Arnd Bergmann2be6d9b2016-01-25 17:02:49 +0100624 select CLKSRC_MMIO
Lee Jones70bef012015-05-26 13:39:43 +0100625 help
626 Enable this option to use the Low Power controller timer
627 as clocksource.
628
Rick Chen35dbb742017-12-11 15:53:15 +0800629config ATCPIT100_TIMER
630 bool "ATCPIT100 timer driver"
631 depends on NDS32 || COMPILE_TEST
632 depends on HAS_IOMEM
633 select TIMER_OF
634 default NDS32
635 help
636 This option enables support for the Andestech ATCPIT100 timers.
637
Palmer Dabbelt62b01942018-08-04 10:23:19 +0200638config RISCV_TIMER
639 bool "Timer for the RISC-V platform"
Anup Patel92e0d142018-12-04 15:59:52 +0530640 depends on GENERIC_SCHED_CLOCK && RISCV
Palmer Dabbelt62b01942018-08-04 10:23:19 +0200641 default y
642 select TIMER_PROBE
643 select TIMER_OF
644 help
645 This enables the per-hart timer built into all RISC-V systems, which
646 is accessed via both the SBI and the rdcycle instruction. This is
647 required for all RISC-V systems.
648
Guo Rena7ad38b2018-11-03 00:51:28 +0800649config CSKY_MP_TIMER
650 bool "SMP Timer for the C-SKY platform" if COMPILE_TEST
651 depends on CSKY
652 select TIMER_OF
653 help
654 Say yes here to enable C-SKY SMP timer driver used for C-SKY SMP
655 system.
656 csky,mptimer is not only used in SMP system, it also could be used
657 single core system. It's not a mmio reg and it use mtcr/mfcr instruction.
658
Guo Ren33745c32018-11-03 00:51:30 +0800659config GX6605S_TIMER
660 bool "Gx6605s SOC system timer driver" if COMPILE_TEST
661 depends on CSKY
662 select CLKSRC_MMIO
663 select TIMER_OF
664 help
665 This option enables support for gx6605s SOC's timer.
666
Sugaya Taichib58f28f2019-02-27 13:53:20 +0900667config MILBEAUT_TIMER
668 bool "Milbeaut timer driver" if COMPILE_TEST
669 depends on OF
670 depends on ARM
671 select TIMER_OF
672 select CLKSRC_MMIO
673 help
674 Enables the support for Milbeaut timer driver.
675
Jean Delvare58394272014-06-16 11:48:45 +0200676endmenu