blob: 90f062ec17795fd17c810caec6f2aeac9ab11d19 [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 Lezcanobb0eb052017-05-26 19:34:11 +02006 select TIMER_PROBE
Marc Zyngieraad83b152015-09-28 15:49:16 +01007
8config CLKSRC_ACPI
9 bool
Daniel Lezcanobb0eb052017-05-26 19:34:11 +020010 select TIMER_PROBE
Marc Zyngieraad83b152015-09-28 15:49:16 +010011
Daniel Lezcanobb0eb052017-05-26 19:34:11 +020012config TIMER_PROBE
Marc Zyngieraad83b152015-09-28 15:49:16 +010013 bool
Stephen Warrenae278a92012-11-19 16:41:20 -070014
Russell King89c0b8e2011-05-08 18:47:58 +010015config CLKSRC_I8253
16 bool
Russell King442c8172011-05-08 14:06:52 +010017
Thomas Gleixnere6220bd2011-06-09 13:08:25 +000018config CLKEVT_I8253
19 bool
20
Ralf Baechle15f304b2011-06-01 19:04:59 +010021config I8253_LOCK
22 bool
23
24config CLKBLD_I8253
Thomas Gleixnere6220bd2011-06-09 13:08:25 +000025 def_bool y if CLKSRC_I8253 || CLKEVT_I8253 || I8253_LOCK
Ralf Baechle15f304b2011-06-01 19:04:59 +010026
Russell King442c8172011-05-08 14:06:52 +010027config CLKSRC_MMIO
28 bool
Jamie Iles06c3df42011-06-06 12:43:07 +010029
Daniel Lezcano2ea879a2016-06-02 18:35:38 +020030config BCM2835_TIMER
31 bool "BCM2835 timer driver" if COMPILE_TEST
32 depends on GENERIC_CLOCKEVENTS
33 select CLKSRC_MMIO
34 help
35 Enables the support for the BCM2835 timer driver.
36
Daniel Lezcano1cad71e2016-06-02 19:20:36 +020037config BCM_KONA_TIMER
38 bool "BCM mobile timer driver" if COMPILE_TEST
39 depends on GENERIC_CLOCKEVENTS
40 select CLKSRC_MMIO
41 help
42 Enables the support for the BCM Kona mobile timer driver.
43
Baruch Siach9b8bb772015-01-26 20:35:18 +020044config DIGICOLOR_TIMER
Daniel Lezcanoe6c1db12015-10-30 22:32:10 +010045 bool "Digicolor timer driver" if COMPILE_TEST
Daniel Lezcano0901f182015-11-04 14:21:42 +010046 depends on GENERIC_CLOCKEVENTS
Arnd Bergmann2be6d9b2016-01-25 17:02:49 +010047 select CLKSRC_MMIO
Richard Weinbergerd7023e622016-01-25 23:24:19 +010048 depends on HAS_IOMEM
Daniel Lezcanoe6c1db12015-10-30 22:32:10 +010049 help
50 Enables the support for the digicolor timer driver.
Baruch Siach9b8bb772015-01-26 20:35:18 +020051
Jamie Iles06c3df42011-06-06 12:43:07 +010052config DW_APB_TIMER
Daniel Lezcano5b097f62015-10-30 22:35:00 +010053 bool "DW APB timer driver" if COMPILE_TEST
Daniel Lezcano0901f182015-11-04 14:21:42 +010054 depends on GENERIC_CLOCKEVENTS
Daniel Lezcano5b097f62015-10-30 22:35:00 +010055 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 GENERIC_CLOCKEVENTS
66 depends on HAS_IOMEM
67 select CLKSRC_MMIO
Daniel Lezcanobb0eb052017-05-26 19:34:11 +020068 select TIMER_OF
Linus Walleij47505352017-01-22 13:17:17 +010069 select MFD_SYSCON
70 help
Linus Walleijf5bf0ee2017-03-24 22:32:34 +010071 Enables support for the Faraday Technology timer block
72 FTTMR010.
Linus Walleij47505352017-01-22 13:17:17 +010073
Daniel Lezcano468b8c42015-01-25 22:06:02 +010074config ROCKCHIP_TIMER
Daniel Lezcano40ada2a2015-10-30 17:58:47 +010075 bool "Rockchip timer driver" if COMPILE_TEST
76 depends on ARM || ARM64
Daniel Lezcanobb0eb052017-05-26 19:34:11 +020077 select TIMER_OF
Alexander Kochetkov5e0a39d2017-01-31 15:43:14 +030078 select CLKSRC_MMIO
Daniel Lezcano40ada2a2015-10-30 17:58:47 +010079 help
80 Enables the support for the rockchip timer driver.
Daniel Lezcano468b8c42015-01-25 22:06:02 +010081
Gregory CLEMENT6fe9cbd2012-06-13 18:58:09 +020082config ARMADA_370_XP_TIMER
Daniel Lezcano9519e802015-10-30 20:30:34 +010083 bool "Armada 370 and XP timer driver" if COMPILE_TEST
84 depends on ARM
Daniel Lezcanobb0eb052017-05-26 19:34:11 +020085 select TIMER_OF
Arnd Bergmann2be6d9b2016-01-25 17:02:49 +010086 select CLKSRC_MMIO
Daniel Lezcano9519e802015-10-30 20:30:34 +010087 help
88 Enables the support for the Armada 370 and XP timer driver.
Gregory CLEMENT6fe9cbd2012-06-13 18:58:09 +020089
Carlo Caionee4a6b372014-09-29 01:50:05 +020090config MESON6_TIMER
Daniel Lezcano0b7a7bb2015-10-30 22:07:39 +010091 bool "Meson6 timer driver" if COMPILE_TEST
Daniel Lezcano0901f182015-11-04 14:21:42 +010092 depends on GENERIC_CLOCKEVENTS
Beniamino Galvani7b6b0a42014-11-18 16:41:20 +010093 select CLKSRC_MMIO
Daniel Lezcano0b7a7bb2015-10-30 22:07:39 +010094 help
95 Enables the support for the Meson6 timer driver.
Carlo Caionee4a6b372014-09-29 01:50:05 +020096
Sebastian Hesselbarth0c1dcfd2013-06-11 08:38:50 +020097config ORION_TIMER
Daniel Lezcanoc9165542015-10-30 22:28:31 +010098 bool "Orion timer driver" if COMPILE_TEST
99 depends on ARM
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200100 select TIMER_OF
Sebastian Hesselbarth0c1dcfd2013-06-11 08:38:50 +0200101 select CLKSRC_MMIO
Daniel Lezcanoc9165542015-10-30 22:28:31 +0100102 help
103 Enables the support for the Orion timer driver
Sebastian Hesselbarth0c1dcfd2013-06-11 08:38:50 +0200104
Maxime Ripard119fd632013-03-24 11:49:25 +0100105config SUN4I_TIMER
Daniel Lezcanob4fcd482015-10-30 22:39:00 +0100106 bool "Sun4i timer driver" if COMPILE_TEST
Daniel Lezcano0901f182015-11-04 14:21:42 +0100107 depends on GENERIC_CLOCKEVENTS
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100108 depends on HAS_IOMEM
Maxime Ripard71c568c2013-10-14 21:07:46 +0200109 select CLKSRC_MMIO
Daniel Lezcanob4fcd482015-10-30 22:39:00 +0100110 help
111 Enables support for the Sun4i timer.
Maxime Ripardb2ac5d72012-11-12 15:07:50 +0100112
Maxime Ripard67905542013-11-07 12:01:48 +0100113config SUN5I_HSTIMER
Daniel Lezcanof0c5afb2015-10-31 17:01:46 +0100114 bool "Sun5i timer driver" if COMPILE_TEST
Maxime Ripard67905542013-11-07 12:01:48 +0100115 select CLKSRC_MMIO
Daniel Lezcanof0c5afb2015-10-31 17:01:46 +0100116 depends on COMMON_CLK
117 help
118 Enables support the Sun5i timer.
Maxime Ripard67905542013-11-07 12:01:48 +0100119
Thierry Reding910978e72014-07-07 15:26:30 +0200120config TEGRA_TIMER
Daniel Lezcanoadce4bc2015-10-31 20:13:09 +0100121 bool "Tegra timer driver" if COMPILE_TEST
Arnd Bergmann2be6d9b2016-01-25 17:02:49 +0100122 select CLKSRC_MMIO
Daniel Lezcanoadce4bc2015-10-31 20:13:09 +0100123 depends on ARM
124 help
125 Enables support for the Tegra driver.
Thierry Reding910978e72014-07-07 15:26:30 +0200126
Tony Priskff7ec342013-01-14 17:58:21 +1300127config VT8500_TIMER
Daniel Lezcanob4bdf7e2015-10-31 20:23:54 +0100128 bool "VT8500 timer driver" if COMPILE_TEST
Daniel Lezcano0901f182015-11-04 14:21:42 +0100129 depends on GENERIC_CLOCKEVENTS
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100130 depends on HAS_IOMEM
Daniel Lezcanob4bdf7e2015-10-31 20:23:54 +0100131 help
132 Enables support for the VT8500 driver.
Tony Priskff7ec342013-01-14 17:58:21 +1300133
Michal Simek4f0f2342013-03-20 10:46:01 +0100134config CADENCE_TTC_TIMER
Daniel Lezcano57f49312015-10-31 21:39:03 +0100135 bool "Cadence TTC timer driver" if COMPILE_TEST
136 depends on COMMON_CLK
137 help
138 Enables support for the cadence ttc driver.
Michal Simek4f0f2342013-03-20 10:46:01 +0100139
Daniel Lezcanoa8b1b9f2015-02-23 19:54:16 +0100140config ASM9260_TIMER
Daniel Lezcanob9755842015-10-31 21:41:23 +0100141 bool "ASM9260 timer driver" if COMPILE_TEST
Daniel Lezcano0901f182015-11-04 14:21:42 +0100142 depends on GENERIC_CLOCKEVENTS
Daniel Lezcanoa8b1b9f2015-02-23 19:54:16 +0100143 select CLKSRC_MMIO
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200144 select TIMER_OF
Daniel Lezcanob9755842015-10-31 21:41:23 +0100145 help
146 Enables support for the ASM9260 timer.
Daniel Lezcanoa8b1b9f2015-02-23 19:54:16 +0100147
Linus Walleij694e33a2012-10-18 14:01:25 +0200148config CLKSRC_NOMADIK_MTU
Daniel Lezcano70329652015-11-01 21:11:28 +0100149 bool "Nomakdik clocksource driver" if COMPILE_TEST
150 depends on ARM
Linus Walleij694e33a2012-10-18 14:01:25 +0200151 select CLKSRC_MMIO
152 help
153 Support for Multi Timer Unit. MTU provides access
154 to multiple interrupt generating programmable
155 32-bit free running decrementing counters.
156
157config CLKSRC_NOMADIK_MTU_SCHED_CLOCK
158 bool
159 depends on CLKSRC_NOMADIK_MTU
160 help
161 Use the Multi Timer Unit as the sched_clock.
162
Mattias Wallin489bcce2011-05-27 10:30:12 +0200163config CLKSRC_DBX500_PRCMU
Daniel Lezcano1becd6e2015-11-01 21:16:01 +0100164 bool "Clocksource PRCMU Timer" if COMPILE_TEST
Daniel Lezcano0901f182015-11-04 14:21:42 +0100165 depends on GENERIC_CLOCKEVENTS
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100166 depends on HAS_IOMEM
Mattias Wallin489bcce2011-05-27 10:30:12 +0200167 help
168 Use the always on PRCMU Timer as clocksource
169
Daniel Lezcanoecf0efd2016-06-02 20:06:54 +0200170config CLPS711X_TIMER
171 bool "Cirrus logic timer driver" if COMPILE_TEST
172 depends on GENERIC_CLOCKEVENTS
173 select CLKSRC_MMIO
174 help
175 Enables support for the Cirrus Logic PS711 timer.
176
Daniel Lezcanob56d5d22016-06-03 13:11:39 +0200177config ATLAS7_TIMER
178 bool "Atlas7 timer driver" if COMPILE_TEST
179 depends on GENERIC_CLOCKEVENTS
180 select CLKSRC_MMIO
181 help
182 Enables support for the Atlas7 timer.
183
Daniel Lezcanod81c50a2016-06-03 13:36:18 +0200184config MXS_TIMER
185 bool "Mxs timer driver" if COMPILE_TEST
186 depends on GENERIC_CLOCKEVENTS
187 select CLKSRC_MMIO
188 select STMP_DEVICE
189 help
190 Enables support for the Mxs timer.
191
Daniel Lezcanof3550d42016-06-03 14:28:38 +0200192config PRIMA2_TIMER
193 bool "Prima2 timer driver" if COMPILE_TEST
194 depends on GENERIC_CLOCKEVENTS
195 select CLKSRC_MMIO
196 help
197 Enables support for the Prima2 timer.
198
Daniel Lezcano85f98db2016-06-03 14:31:16 +0200199config U300_TIMER
200 bool "U300 timer driver" if COMPILE_TEST
201 depends on GENERIC_CLOCKEVENTS
202 depends on ARM
203 select CLKSRC_MMIO
204 help
205 Enables support for the U300 timer.
206
Daniel Lezcanod683b9d2016-06-03 15:03:21 +0200207config NSPIRE_TIMER
208 bool "NSpire timer driver" if COMPILE_TEST
209 depends on GENERIC_CLOCKEVENTS
210 select CLKSRC_MMIO
211 help
212 Enables support for the Nspire timer.
213
Daniel Lezcanoc12547a2016-06-03 15:05:05 +0200214config KEYSTONE_TIMER
215 bool "Keystone timer driver" if COMPILE_TEST
216 depends on GENERIC_CLOCKEVENTS
217 depends on ARM || ARM64
218 select CLKSRC_MMIO
219 help
220 Enables support for the Keystone timer.
221
Daniel Lezcano568c0342016-06-03 15:11:21 +0200222config INTEGRATOR_AP_TIMER
223 bool "Integrator-ap timer driver" if COMPILE_TEST
224 depends on GENERIC_CLOCKEVENTS
225 select CLKSRC_MMIO
226 help
227 Enables support for the Integrator-ap timer.
228
Mattias Wallin489bcce2011-05-27 10:30:12 +0200229config CLKSRC_DBX500_PRCMU_SCHED_CLOCK
230 bool "Clocksource PRCMU Timer sched_clock"
Linus Walleij694e33a2012-10-18 14:01:25 +0200231 depends on (CLKSRC_DBX500_PRCMU && !CLKSRC_NOMADIK_MTU_SCHED_CLOCK)
Mattias Wallin489bcce2011-05-27 10:30:12 +0200232 default y
233 help
234 Use the always on PRCMU Timer as sched_clock
Marc Zyngier985c0672012-03-05 11:49:30 +0000235
Uwe Kleine-König9c9b7812013-10-03 21:56:29 +0200236config CLKSRC_EFM32
237 bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32
238 depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST)
Axel Lin09ca2752013-11-20 10:15:11 +0800239 select CLKSRC_MMIO
Uwe Kleine-König9c9b7812013-10-03 21:56:29 +0200240 default ARCH_EFM32
241 help
242 Support to use the timers of EFM32 SoCs as clock source and clock
243 event device.
244
Joachim Eastwood050dd322015-05-12 00:00:48 +0200245config CLKSRC_LPC32XX
Daniel Lezcanoddcf48c2015-10-31 21:44:52 +0100246 bool "Clocksource for LPC32XX" if COMPILE_TEST
Richard Weinberger863ee052016-01-02 23:06:36 +0100247 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
Ezequiel Garcia1b18fd22016-02-09 22:54:27 -0300248 depends on ARM
Joachim Eastwood050dd322015-05-12 00:00:48 +0200249 select CLKSRC_MMIO
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200250 select TIMER_OF
Daniel Lezcanoddcf48c2015-10-31 21:44:52 +0100251 help
252 Support for the LPC32XX clocksource.
Joachim Eastwood050dd322015-05-12 00:00:48 +0200253
Ezequiel Garcia84583982015-08-07 16:39:31 +0100254config CLKSRC_PISTACHIO
Daniel Lezcanodfdb1652015-10-30 17:28:13 +0100255 bool "Clocksource for Pistachio SoC" if COMPILE_TEST
Richard Weinberger863ee052016-01-02 23:06:36 +0100256 depends on HAS_IOMEM
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200257 select TIMER_OF
Daniel Lezcanodfdb1652015-10-30 17:28:13 +0100258 help
259 Enables the clocksource for the Pistachio SoC.
Ezequiel Garcia84583982015-08-07 16:39:31 +0100260
Felipe Balbife851f52015-09-29 13:55:33 -0500261config CLKSRC_TI_32K
262 bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST
Felipe Balbidfedaf12015-10-16 16:10:05 -0500263 depends on GENERIC_SCHED_CLOCK
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200264 select TIMER_OF if OF
Felipe Balbife851f52015-09-29 13:55:33 -0500265 help
266 This option enables support for Texas Instruments 32.768 Hz clocksource
267 available on many OMAP-like platforms.
268
Noam Camusa5322452015-10-17 22:37:30 +0300269config CLKSRC_NPS
270 bool "NPS400 clocksource driver" if COMPILE_TEST
271 depends on !PHYS_ADDR_T_64BIT
272 select CLKSRC_MMIO
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200273 select TIMER_OF if OF
Noam Camusa5322452015-10-17 22:37:30 +0300274 help
275 NPS400 clocksource support.
276 Got 64 bit counter with update rate up to 1000MHz.
277 This counter is accessed via couple of 32 bit memory mapped registers.
278
Maxime Coqueline37e4592015-05-22 23:03:33 +0200279config CLKSRC_STM32
Paul Gortmaker1cb6c212015-06-20 19:02:32 -0400280 bool "Clocksource for STM32 SoCs" if !ARCH_STM32
281 depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST)
Maxime Coqueline37e4592015-05-22 23:03:33 +0200282 select CLKSRC_MMIO
283
Vladimir Murzin03026372016-04-25 09:45:44 +0100284config CLKSRC_MPS2
285 bool "Clocksource for MPS2 SoCs" if COMPILE_TEST
286 depends on GENERIC_SCHED_CLOCK
287 select CLKSRC_MMIO
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200288 select TIMER_OF
Vladimir Murzin03026372016-04-25 09:45:44 +0100289
Vineet Guptac4c9a042016-10-31 13:46:38 -0700290config ARC_TIMERS
291 bool "Support for 32-bit TIMERn counters in ARC Cores" if COMPILE_TEST
292 depends on GENERIC_CLOCKEVENTS
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200293 select TIMER_OF
Vineet Guptac4c9a042016-10-31 13:46:38 -0700294 help
295 These are legacy 32-bit TIMER0 and TIMER1 counters found on all ARC cores
296 (ARC700 as well as ARC HS38).
297 TIMER0 serves as clockevent while TIMER1 provides clocksource
298
299config ARC_TIMERS_64BIT
300 bool "Support for 64-bit counters in ARC HS38 cores" if COMPILE_TEST
301 depends on GENERIC_CLOCKEVENTS
302 depends on ARC_TIMERS
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200303 select TIMER_OF
Vineet Guptac4c9a042016-10-31 13:46:38 -0700304 help
305 This enables 2 different 64-bit timers: RTC (for UP) and GFRC (for SMP)
306 RTC is implemented inside the core, while GFRC sits outside the core in
307 ARConnect IP block. Driver automatically picks one of them for clocksource
308 as appropriate.
309
Mark Rutland8a4da6e2012-11-12 14:33:44 +0000310config ARM_ARCH_TIMER
311 bool
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200312 select TIMER_OF if OF
Marc Zyngierae281cb2015-09-28 15:49:17 +0100313 select CLKSRC_ACPI if ACPI
James Hogana2c5d4e2012-10-09 10:54:39 +0100314
Will Deacon037f6372013-08-23 15:32:29 +0100315config ARM_ARCH_TIMER_EVTSTREAM
Will Deacon46fd5c62016-06-27 17:30:13 +0100316 bool "Enable ARM architected timer event stream generation by default"
Will Deacon037f6372013-08-23 15:32:29 +0100317 default y if ARM_ARCH_TIMER
Stephen Boyd77f7ce92013-11-20 12:02:03 -0800318 depends on ARM_ARCH_TIMER
Will Deacon037f6372013-08-23 15:32:29 +0100319 help
Will Deacon46fd5c62016-06-27 17:30:13 +0100320 This option enables support by default for event stream generation
321 based on the ARM architected timer. It is used for waking up CPUs
322 executing the wfe instruction at a frequency represented as a
323 power-of-2 divisor of the clock rate. The behaviour can also be
324 overridden on the command line using the
325 clocksource.arm_arch_timer.evtstream parameter.
Will Deacon037f6372013-08-23 15:32:29 +0100326 The main use of the event stream is wfe-based timeouts of userspace
327 locking implementations. It might also be useful for imposing timeout
328 on wfe to safeguard against any programming errors in case an expected
329 event is not generated.
330 This must be disabled for hardware validation purposes to detect any
331 hardware anomalies of missing events.
332
Ding Tianhong16d10ef2017-02-06 16:47:41 +0000333config ARM_ARCH_TIMER_OOL_WORKAROUND
334 bool
335
Scott Woodf6dc1572016-09-22 03:35:17 -0500336config FSL_ERRATUM_A008585
337 bool "Workaround for Freescale/NXP Erratum A-008585"
338 default y
339 depends on ARM_ARCH_TIMER && ARM64
Ding Tianhong16d10ef2017-02-06 16:47:41 +0000340 select ARM_ARCH_TIMER_OOL_WORKAROUND
Scott Woodf6dc1572016-09-22 03:35:17 -0500341 help
342 This option enables a workaround for Freescale/NXP Erratum
343 A-008585 ("ARM generic timer may contain an erroneous
344 value"). The workaround will only be active if the
345 fsl,erratum-a008585 property is found in the timer node.
346
Ding Tianhongbb42ca42017-02-06 16:47:42 +0000347config HISILICON_ERRATUM_161010101
348 bool "Workaround for Hisilicon Erratum 161010101"
349 default y
350 select ARM_ARCH_TIMER_OOL_WORKAROUND
351 depends on ARM_ARCH_TIMER && ARM64
352 help
353 This option enables a workaround for Hisilicon Erratum
354 161010101. The workaround will be active if the hisilicon,erratum-161010101
355 property is found in the timer node.
356
Marc Zyngierfa8d8152017-01-27 12:52:31 +0000357config ARM64_ERRATUM_858921
358 bool "Workaround for Cortex-A73 erratum 858921"
359 default y
360 select ARM_ARCH_TIMER_OOL_WORKAROUND
361 depends on ARM_ARCH_TIMER && ARM64
362 help
363 This option enables a workaround applicable to Cortex-A73
364 (all versions), whose counter may return incorrect values.
365 The workaround will be dynamically enabled when an affected
366 core is detected.
367
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100368config ARM_GLOBAL_TIMER
Daniel Lezcano67a87a42016-06-06 14:34:28 +0200369 bool "Support for the ARM global timer" if COMPILE_TEST
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200370 select TIMER_OF if OF
Daniel Lezcano67a87a42016-06-06 14:34:28 +0200371 depends on ARM
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100372 help
373 This options enables support for the ARM global timer unit
374
Sudeep Holla0b7402d2015-05-18 16:29:40 +0100375config ARM_TIMER_SP804
376 bool "Support for Dual Timer SP804 module"
Guenter Roeck002af192015-06-23 20:49:05 -0700377 depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP
Sudeep Holla0b7402d2015-05-18 16:29:40 +0100378 select CLKSRC_MMIO
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200379 select TIMER_OF if OF
Sudeep Holla0b7402d2015-05-18 16:29:40 +0100380
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100381config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
382 bool
383 depends on ARM_GLOBAL_TIMER
384 default y
385 help
386 Use ARM global timer clock source as sched_clock
387
Maxime Coquelin4958ebb2015-05-09 09:53:46 +0200388config ARMV7M_SYSTICK
Daniel Lezcanoe2146d82016-06-02 18:41:52 +0200389 bool "Support for the ARMv7M system time" if COMPILE_TEST
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200390 select TIMER_OF if OF
Maxime Coquelin4958ebb2015-05-09 09:53:46 +0200391 select CLKSRC_MMIO
392 help
393 This options enables support for the ARMv7M system timer unit
394
Maxime Ripardb052ff32014-09-02 18:12:35 +0200395config ATMEL_PIT
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200396 select TIMER_OF if OF
Maxime Ripardb052ff32014-09-02 18:12:35 +0200397 def_bool SOC_AT91SAM9 || SOC_SAMA5
398
Alexandre Bellonib53cdd02015-03-12 13:07:31 +0100399config ATMEL_ST
Daniel Lezcanob988d3f2016-06-06 19:08:39 +0200400 bool "Atmel ST timer support" if COMPILE_TEST
401 depends on GENERIC_CLOCKEVENTS
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200402 select TIMER_OF
Alexandre Belloni7ab7ef72015-03-19 14:17:48 +0100403 select MFD_SYSCON
Daniel Lezcanob988d3f2016-06-06 19:08:39 +0200404 help
405 Support for the Atmel ST timer.
Alexandre Bellonib53cdd02015-03-12 13:07:31 +0100406
James Hogana2c5d4e2012-10-09 10:54:39 +0100407config CLKSRC_METAG_GENERIC
408 def_bool y if METAG
409 help
410 This option enables support for the Meta per-thread timers.
Thomas Abraham6938d75a2013-03-09 16:16:13 +0900411
412config CLKSRC_EXYNOS_MCT
Daniel Lezcano39366ef2015-11-01 21:51:30 +0100413 bool "Exynos multi core timer driver" if COMPILE_TEST
Chanwoo Choif1a4c1f2016-08-24 22:49:05 +0900414 depends on ARM || ARM64
Thomas Abraham6938d75a2013-03-09 16:16:13 +0900415 help
416 Support for Multi Core Timer controller on Exynos SoCs.
Arnd Bergmann241a9872013-05-06 23:49:09 +0200417
Tomasz Figaf1189982013-04-20 23:22:13 +0200418config CLKSRC_SAMSUNG_PWM
Alexandre Bellonide37b0b2016-06-16 15:53:18 +0200419 bool "PWM timer driver for Samsung S3C, S5P" if COMPILE_TEST
Daniel Lezcano0901f182015-11-04 14:21:42 +0100420 depends on GENERIC_CLOCKEVENTS
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100421 depends on HAS_IOMEM
Tomasz Figaf1189982013-04-20 23:22:13 +0200422 help
423 This is a new clocksource driver for the PWM timer found in
424 Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
425 for all devicetree enabled platforms. This driver will be
426 needed only on systems that do not have the Exynos MCT available.
Jingchang Luc1967242013-05-29 10:12:17 +0200427
Xiubo Li2529c3a2014-05-23 10:12:04 +0200428config FSL_FTM_TIMER
Daniel Lezcanoef493362015-11-02 09:51:02 +0100429 bool "Freescale FlexTimer Module driver" if COMPILE_TEST
Daniel Lezcano0901f182015-11-04 14:21:42 +0100430 depends on GENERIC_CLOCKEVENTS
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100431 depends on HAS_IOMEM
Daniel Lezcano03724ac2016-01-08 14:21:31 +0100432 select CLKSRC_MMIO
Xiubo Li2529c3a2014-05-23 10:12:04 +0200433 help
434 Support for Freescale FlexTimer Module (FTM) timer.
435
Jingchang Luc1967242013-05-29 10:12:17 +0200436config VF_PIT_TIMER
437 bool
Arnd Bergmann2be6d9b2016-01-25 17:02:49 +0100438 select CLKSRC_MMIO
Jingchang Luc1967242013-05-29 10:12:17 +0200439 help
440 Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
Magnus Dammfd3f1272014-02-20 12:54:45 +0100441
Neil Armstrong89355272016-06-15 12:13:26 +0200442config OXNAS_RPS_TIMER
443 bool "Oxford Semiconductor OXNAS RPS Timers driver" if COMPILE_TEST
444 depends on GENERIC_CLOCKEVENTS
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200445 select TIMER_OF
Neil Armstrong89355272016-06-15 12:13:26 +0200446 select CLKSRC_MMIO
447 help
448 This enables support for the Oxford Semiconductor OXNAS RPS timers.
449
Magnus Dammfd3f1272014-02-20 12:54:45 +0100450config SYS_SUPPORTS_SH_CMT
451 bool
452
Matthias Bruggerecb35302014-07-18 11:36:43 +0200453config MTK_TIMER
Daniel Lezcanofbca9ea2015-10-30 17:53:27 +0100454 bool "Mediatek timer driver" if COMPILE_TEST
Richard Weinberger863ee052016-01-02 23:06:36 +0100455 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200456 select TIMER_OF
Matthias Bruggerecb35302014-07-18 11:36:43 +0200457 select CLKSRC_MMIO
Daniel Lezcanofbca9ea2015-10-30 17:53:27 +0100458 help
459 Support for Mediatek timer driver.
Matthias Bruggerecb35302014-07-18 11:36:43 +0200460
Magnus Dammfd3f1272014-02-20 12:54:45 +0100461config SYS_SUPPORTS_SH_MTU2
462 bool
463
464config SYS_SUPPORTS_SH_TMU
465 bool
466
467config SYS_SUPPORTS_EM_STI
468 bool
469
Rich Felker9995f4f2016-10-13 21:51:06 +0000470config CLKSRC_JCORE_PIT
471 bool "J-Core PIT timer driver" if COMPILE_TEST
472 depends on OF
473 depends on GENERIC_CLOCKEVENTS
474 depends on HAS_IOMEM
475 select CLKSRC_MMIO
476 help
477 This enables build of clocksource and clockevent driver for
478 the integrated PIT in the J-Core synthesizable, open source SoC.
479
Magnus Dammfd3f1272014-02-20 12:54:45 +0100480config SH_TIMER_CMT
481 bool "Renesas CMT timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100482 depends on GENERIC_CLOCKEVENTS
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100483 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100484 default SYS_SUPPORTS_SH_CMT
485 help
486 This enables build of a clocksource and clockevent driver for
487 the Compare Match Timer (CMT) hardware available in 16/32/48-bit
488 variants on a wide range of Mobile and Automotive SoCs from Renesas.
489
490config SH_TIMER_MTU2
491 bool "Renesas MTU2 timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100492 depends on GENERIC_CLOCKEVENTS
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100493 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100494 default SYS_SUPPORTS_SH_MTU2
495 help
496 This enables build of a clockevent driver for the Multi-Function
Kuninori Morimoto7e139182014-07-18 11:36:36 +0200497 Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
Magnus Dammfd3f1272014-02-20 12:54:45 +0100498 This hardware comes with 16 bit-timer registers.
499
Chris Brandtfb6002a2017-01-27 15:02:15 -0500500config RENESAS_OSTM
501 bool "Renesas OSTM timer driver" if COMPILE_TEST
502 depends on GENERIC_CLOCKEVENTS
503 select CLKSRC_MMIO
504 help
505 Enables the support for the Renesas OSTM.
506
Magnus Dammfd3f1272014-02-20 12:54:45 +0100507config SH_TIMER_TMU
508 bool "Renesas TMU timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100509 depends on GENERIC_CLOCKEVENTS
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100510 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100511 default SYS_SUPPORTS_SH_TMU
512 help
513 This enables build of a clocksource and clockevent driver for
514 the 32-bit Timer Unit (TMU) hardware available on a wide range
515 SoCs from Renesas.
516
517config EM_TIMER_STI
518 bool "Renesas STI timer driver" if COMPILE_TEST
Chen Gang40c96312014-07-08 20:39:40 +0800519 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100520 default SYS_SUPPORTS_EM_STI
521 help
522 This enables build of a clocksource and clockevent driver for
523 the 48-bit System Timer (STI) hardware available on a SoCs
524 such as EMEV2 from former NEC Electronics.
Linus Torvaldsdfc25e42014-04-05 13:51:19 -0700525
Kumar Gala3f8e8ce2014-01-29 16:17:30 -0600526config CLKSRC_QCOM
Daniel Lezcano3dc0e9f2015-10-09 11:10:43 +0200527 bool "Qualcomm MSM timer" if COMPILE_TEST
528 depends on ARM
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200529 select TIMER_OF
Daniel Lezcano3dc0e9f2015-10-09 11:10:43 +0200530 help
531 This enables the clocksource and the per CPU clockevent driver for the
532 Qualcomm SoCs.
Pawel Moll220e2a82014-04-16 18:22:59 +0100533
534config CLKSRC_VERSATILE
Daniel Lezcano5cc87a42016-06-07 11:05:01 +0200535 bool "ARM Versatile (Express) reference platforms clock source" if COMPILE_TEST
536 depends on GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200537 select TIMER_OF
Pawel Moll220e2a82014-04-16 18:22:59 +0100538 default y if MFD_VEXPRESS_SYSREG
539 help
540 This option enables clock source based on free running
541 counter available in the "System Registers" block of
542 ARM Versatile, RealView and Versatile Express reference
543 platforms.
Jean Delvare58394272014-06-16 11:48:45 +0200544
Andrew Brestickerfa5635a2014-10-20 12:03:58 -0700545config CLKSRC_MIPS_GIC
546 bool
547 depends on MIPS_GIC
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200548 select TIMER_OF
Andrew Brestickerfa5635a2014-10-20 12:03:58 -0700549
Marc Gonzalezccd63ce2015-10-09 16:59:18 +0200550config CLKSRC_TANGO_XTAL
Daniel Lezcano5a7351f2015-10-29 20:54:19 +0100551 bool "Clocksource for Tango SoC" if COMPILE_TEST
552 depends on ARM
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200553 select TIMER_OF
Daniel Lezcano08818412015-11-13 10:44:38 +0100554 select CLKSRC_MMIO
Daniel Lezcano5a7351f2015-10-29 20:54:19 +0100555 help
556 This enables the clocksource for Tango SoC
Marc Gonzalezccd63ce2015-10-09 16:59:18 +0200557
Dmitry Eremin-Solenikove074ff82014-12-21 16:07:09 +0100558config CLKSRC_PXA
Daniel Lezcano5ae996c2015-10-09 17:47:32 +0200559 bool "Clocksource for PXA or SA-11x0 platform" if COMPILE_TEST
560 depends on GENERIC_CLOCKEVENTS
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100561 depends on HAS_IOMEM
Daniel Lezcano5ae996c2015-10-09 17:47:32 +0200562 select CLKSRC_MMIO
Dmitry Eremin-Solenikove074ff82014-12-21 16:07:09 +0100563 help
564 This enables OST0 support available on PXA and SA-11x0
565 platforms.
Yoshinori Sato618b9022015-01-28 02:52:42 +0900566
Daniel Lezcano97a23be2015-11-09 14:43:52 +0100567config H8300_TMR8
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100568 bool "Clockevent timer for the H8300 platform" if COMPILE_TEST
Richard Weinberger863ee052016-01-02 23:06:36 +0100569 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100570 help
571 This enables the 8 bits timer for the H8300 platform.
Daniel Lezcano97a23be2015-11-09 14:43:52 +0100572
Yoshinori Sato618b9022015-01-28 02:52:42 +0900573config H8300_TMR16
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100574 bool "Clockevent timer for the H83069 platform" if COMPILE_TEST
Richard Weinberger863ee052016-01-02 23:06:36 +0100575 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100576 help
577 This enables the 16 bits timer for the H8300 platform with the
578 H83069 cpu.
Yoshinori Sato618b9022015-01-28 02:52:42 +0900579
580config H8300_TPU
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100581 bool "Clocksource for the H8300 platform" if COMPILE_TEST
Richard Weinberger863ee052016-01-02 23:06:36 +0100582 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100583 help
584 This enables the clocksource for the H8300 platform with the
585 H8S2678 cpu.
Yoshinori Sato618b9022015-01-28 02:52:42 +0900586
Shawn Guobea5af42015-05-15 15:41:00 +0800587config CLKSRC_IMX_GPT
588 bool "Clocksource using i.MX GPT" if COMPILE_TEST
589 depends on ARM && CLKDEV_LOOKUP
590 select CLKSRC_MMIO
591
Lee Jones70bef012015-05-26 13:39:43 +0100592config CLKSRC_ST_LPC
Daniel Lezcanobaacaf82015-10-09 15:36:28 +0200593 bool "Low power clocksource found in the LPC" if COMPILE_TEST
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200594 select TIMER_OF if OF
Richard Weinberger863ee052016-01-02 23:06:36 +0100595 depends on HAS_IOMEM
Arnd Bergmann2be6d9b2016-01-25 17:02:49 +0100596 select CLKSRC_MMIO
Lee Jones70bef012015-05-26 13:39:43 +0100597 help
598 Enable this option to use the Low Power controller timer
599 as clocksource.
600
Jean Delvare58394272014-06-16 11:48:45 +0200601endmenu