blob: b3b4ed9b68742bfbb8219af9c24c9d542d6f02ec [file] [log] [blame]
Jean Delvare58394272014-06-16 11:48:45 +02001menu "Clock Source drivers"
Arnd Bergmann2f8a26c2017-09-05 17:04:56 +02002 depends on GENERIC_CLOCKEVENTS
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
Daniel Lezcanofa1bffa2017-05-26 19:40:24 +02008config TIMER_ACPI
Marc Zyngieraad83b152015-09-28 15:49:16 +01009 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
Daniel Lezcano2ea879a2016-06-02 18:35:38 +020032 select CLKSRC_MMIO
33 help
34 Enables the support for the BCM2835 timer driver.
35
Daniel Lezcano1cad71e2016-06-02 19:20:36 +020036config BCM_KONA_TIMER
37 bool "BCM mobile timer driver" if COMPILE_TEST
Daniel Lezcano1cad71e2016-06-02 19:20:36 +020038 select CLKSRC_MMIO
39 help
40 Enables the support for the BCM Kona mobile timer driver.
41
Baruch Siach9b8bb772015-01-26 20:35:18 +020042config DIGICOLOR_TIMER
Daniel Lezcanoe6c1db12015-10-30 22:32:10 +010043 bool "Digicolor timer driver" if COMPILE_TEST
Arnd Bergmann2be6d9b2016-01-25 17:02:49 +010044 select CLKSRC_MMIO
Richard Weinbergerd7023e622016-01-25 23:24:19 +010045 depends on HAS_IOMEM
Daniel Lezcanoe6c1db12015-10-30 22:32:10 +010046 help
47 Enables the support for the digicolor timer driver.
Baruch Siach9b8bb772015-01-26 20:35:18 +020048
Jamie Iles06c3df42011-06-06 12:43:07 +010049config DW_APB_TIMER
Daniel Lezcano5b097f62015-10-30 22:35:00 +010050 bool "DW APB timer driver" if COMPILE_TEST
51 help
52 Enables the support for the dw_apb timer.
Mattias Wallin489bcce2011-05-27 10:30:12 +020053
Dinh Nguyencfda5902012-07-11 15:13:16 -050054config DW_APB_TIMER_OF
55 bool
Heiko Stuebner1b4eca02013-06-04 11:38:11 +020056 select DW_APB_TIMER
Daniel Lezcanobb0eb052017-05-26 19:34:11 +020057 select TIMER_OF
Dinh Nguyencfda5902012-07-11 15:13:16 -050058
Linus Walleijf5bf0ee2017-03-24 22:32:34 +010059config FTTMR010_TIMER
60 bool "Faraday Technology timer driver" if COMPILE_TEST
Linus Walleij47505352017-01-22 13:17:17 +010061 depends on HAS_IOMEM
62 select CLKSRC_MMIO
Daniel Lezcanobb0eb052017-05-26 19:34:11 +020063 select TIMER_OF
Linus Walleij47505352017-01-22 13:17:17 +010064 select MFD_SYSCON
65 help
Linus Walleijf5bf0ee2017-03-24 22:32:34 +010066 Enables support for the Faraday Technology timer block
67 FTTMR010.
Linus Walleij47505352017-01-22 13:17:17 +010068
Daniel Lezcano468b8c42015-01-25 22:06:02 +010069config ROCKCHIP_TIMER
Daniel Lezcano40ada2a2015-10-30 17:58:47 +010070 bool "Rockchip timer driver" if COMPILE_TEST
71 depends on ARM || ARM64
Daniel Lezcanobb0eb052017-05-26 19:34:11 +020072 select TIMER_OF
Alexander Kochetkov5e0a39d2017-01-31 15:43:14 +030073 select CLKSRC_MMIO
Daniel Lezcano40ada2a2015-10-30 17:58:47 +010074 help
75 Enables the support for the rockchip timer driver.
Daniel Lezcano468b8c42015-01-25 22:06:02 +010076
Gregory CLEMENT6fe9cbd2012-06-13 18:58:09 +020077config ARMADA_370_XP_TIMER
Daniel Lezcano9519e802015-10-30 20:30:34 +010078 bool "Armada 370 and XP timer driver" if COMPILE_TEST
79 depends on ARM
Daniel Lezcanobb0eb052017-05-26 19:34:11 +020080 select TIMER_OF
Arnd Bergmann2be6d9b2016-01-25 17:02:49 +010081 select CLKSRC_MMIO
Daniel Lezcano9519e802015-10-30 20:30:34 +010082 help
83 Enables the support for the Armada 370 and XP timer driver.
Gregory CLEMENT6fe9cbd2012-06-13 18:58:09 +020084
Carlo Caionee4a6b372014-09-29 01:50:05 +020085config MESON6_TIMER
Daniel Lezcano0b7a7bb2015-10-30 22:07:39 +010086 bool "Meson6 timer driver" if COMPILE_TEST
Beniamino Galvani7b6b0a42014-11-18 16:41:20 +010087 select CLKSRC_MMIO
Daniel Lezcano0b7a7bb2015-10-30 22:07:39 +010088 help
89 Enables the support for the Meson6 timer driver.
Carlo Caionee4a6b372014-09-29 01:50:05 +020090
Sebastian Hesselbarth0c1dcfd2013-06-11 08:38:50 +020091config ORION_TIMER
Daniel Lezcanoc9165542015-10-30 22:28:31 +010092 bool "Orion timer driver" if COMPILE_TEST
93 depends on ARM
Daniel Lezcanobb0eb052017-05-26 19:34:11 +020094 select TIMER_OF
Sebastian Hesselbarth0c1dcfd2013-06-11 08:38:50 +020095 select CLKSRC_MMIO
Daniel Lezcanoc9165542015-10-30 22:28:31 +010096 help
97 Enables the support for the Orion timer driver
Sebastian Hesselbarth0c1dcfd2013-06-11 08:38:50 +020098
Andreas Färber4be78a82017-02-23 19:27:12 +010099config OWL_TIMER
100 bool "Owl timer driver" if COMPILE_TEST
Andreas Färber4be78a82017-02-23 19:27:12 +0100101 select CLKSRC_MMIO
102 help
103 Enables the support for the Actions Semi Owl timer driver.
104
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
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100107 depends on HAS_IOMEM
Maxime Ripard71c568c2013-10-14 21:07:46 +0200108 select CLKSRC_MMIO
Daniel Lezcano239751e2017-06-06 23:07:51 +0200109 select TIMER_OF
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
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100129 depends on HAS_IOMEM
Daniel Lezcanob4bdf7e2015-10-31 20:23:54 +0100130 help
131 Enables support for the VT8500 driver.
Tony Priskff7ec342013-01-14 17:58:21 +1300132
Michal Simek4f0f2342013-03-20 10:46:01 +0100133config CADENCE_TTC_TIMER
Daniel Lezcano57f49312015-10-31 21:39:03 +0100134 bool "Cadence TTC timer driver" if COMPILE_TEST
135 depends on COMMON_CLK
136 help
137 Enables support for the cadence ttc driver.
Michal Simek4f0f2342013-03-20 10:46:01 +0100138
Daniel Lezcanoa8b1b9f2015-02-23 19:54:16 +0100139config ASM9260_TIMER
Daniel Lezcanob9755842015-10-31 21:41:23 +0100140 bool "ASM9260 timer driver" if COMPILE_TEST
Daniel Lezcanoa8b1b9f2015-02-23 19:54:16 +0100141 select CLKSRC_MMIO
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200142 select TIMER_OF
Daniel Lezcanob9755842015-10-31 21:41:23 +0100143 help
144 Enables support for the ASM9260 timer.
Daniel Lezcanoa8b1b9f2015-02-23 19:54:16 +0100145
Linus Walleij694e33a2012-10-18 14:01:25 +0200146config CLKSRC_NOMADIK_MTU
Daniel Lezcano70329652015-11-01 21:11:28 +0100147 bool "Nomakdik clocksource driver" if COMPILE_TEST
148 depends on ARM
Linus Walleij694e33a2012-10-18 14:01:25 +0200149 select CLKSRC_MMIO
150 help
151 Support for Multi Timer Unit. MTU provides access
152 to multiple interrupt generating programmable
153 32-bit free running decrementing counters.
154
155config CLKSRC_NOMADIK_MTU_SCHED_CLOCK
156 bool
157 depends on CLKSRC_NOMADIK_MTU
158 help
159 Use the Multi Timer Unit as the sched_clock.
160
Mattias Wallin489bcce2011-05-27 10:30:12 +0200161config CLKSRC_DBX500_PRCMU
Daniel Lezcano1becd6e2015-11-01 21:16:01 +0100162 bool "Clocksource PRCMU Timer" if COMPILE_TEST
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100163 depends on HAS_IOMEM
Mattias Wallin489bcce2011-05-27 10:30:12 +0200164 help
165 Use the always on PRCMU Timer as clocksource
166
Daniel Lezcanoecf0efd2016-06-02 20:06:54 +0200167config CLPS711X_TIMER
168 bool "Cirrus logic timer driver" if COMPILE_TEST
Daniel Lezcanoecf0efd2016-06-02 20:06:54 +0200169 select CLKSRC_MMIO
170 help
171 Enables support for the Cirrus Logic PS711 timer.
172
Daniel Lezcanob56d5d22016-06-03 13:11:39 +0200173config ATLAS7_TIMER
174 bool "Atlas7 timer driver" if COMPILE_TEST
Daniel Lezcanob56d5d22016-06-03 13:11:39 +0200175 select CLKSRC_MMIO
176 help
177 Enables support for the Atlas7 timer.
178
Daniel Lezcanod81c50a2016-06-03 13:36:18 +0200179config MXS_TIMER
180 bool "Mxs timer driver" if COMPILE_TEST
Daniel Lezcanod81c50a2016-06-03 13:36:18 +0200181 select CLKSRC_MMIO
182 select STMP_DEVICE
183 help
184 Enables support for the Mxs timer.
185
Daniel Lezcanof3550d42016-06-03 14:28:38 +0200186config PRIMA2_TIMER
187 bool "Prima2 timer driver" if COMPILE_TEST
Daniel Lezcanof3550d42016-06-03 14:28:38 +0200188 select CLKSRC_MMIO
189 help
190 Enables support for the Prima2 timer.
191
Daniel Lezcano85f98db2016-06-03 14:31:16 +0200192config U300_TIMER
193 bool "U300 timer driver" if COMPILE_TEST
Daniel Lezcano85f98db2016-06-03 14:31:16 +0200194 depends on ARM
195 select CLKSRC_MMIO
196 help
197 Enables support for the U300 timer.
198
Daniel Lezcanod683b9d2016-06-03 15:03:21 +0200199config NSPIRE_TIMER
200 bool "NSpire timer driver" if COMPILE_TEST
Daniel Lezcanod683b9d2016-06-03 15:03:21 +0200201 select CLKSRC_MMIO
202 help
203 Enables support for the Nspire timer.
204
Daniel Lezcanoc12547a2016-06-03 15:05:05 +0200205config KEYSTONE_TIMER
206 bool "Keystone timer driver" if COMPILE_TEST
Daniel Lezcanoc12547a2016-06-03 15:05:05 +0200207 depends on ARM || ARM64
208 select CLKSRC_MMIO
209 help
210 Enables support for the Keystone timer.
211
Daniel Lezcano568c0342016-06-03 15:11:21 +0200212config INTEGRATOR_AP_TIMER
213 bool "Integrator-ap timer driver" if COMPILE_TEST
Daniel Lezcano568c0342016-06-03 15:11:21 +0200214 select CLKSRC_MMIO
215 help
216 Enables support for the Integrator-ap timer.
217
Mattias Wallin489bcce2011-05-27 10:30:12 +0200218config CLKSRC_DBX500_PRCMU_SCHED_CLOCK
219 bool "Clocksource PRCMU Timer sched_clock"
Linus Walleij694e33a2012-10-18 14:01:25 +0200220 depends on (CLKSRC_DBX500_PRCMU && !CLKSRC_NOMADIK_MTU_SCHED_CLOCK)
Mattias Wallin489bcce2011-05-27 10:30:12 +0200221 default y
222 help
223 Use the always on PRCMU Timer as sched_clock
Marc Zyngier985c0672012-03-05 11:49:30 +0000224
Uwe Kleine-König9c9b7812013-10-03 21:56:29 +0200225config CLKSRC_EFM32
226 bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32
227 depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST)
Axel Lin09ca2752013-11-20 10:15:11 +0800228 select CLKSRC_MMIO
Uwe Kleine-König9c9b7812013-10-03 21:56:29 +0200229 default ARCH_EFM32
230 help
231 Support to use the timers of EFM32 SoCs as clock source and clock
232 event device.
233
Joachim Eastwood050dd322015-05-12 00:00:48 +0200234config CLKSRC_LPC32XX
Daniel Lezcanoddcf48c2015-10-31 21:44:52 +0100235 bool "Clocksource for LPC32XX" if COMPILE_TEST
Arnd Bergmann2f8a26c2017-09-05 17:04:56 +0200236 depends on HAS_IOMEM
Ezequiel Garcia1b18fd22016-02-09 22:54:27 -0300237 depends on ARM
Joachim Eastwood050dd322015-05-12 00:00:48 +0200238 select CLKSRC_MMIO
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200239 select TIMER_OF
Daniel Lezcanoddcf48c2015-10-31 21:44:52 +0100240 help
241 Support for the LPC32XX clocksource.
Joachim Eastwood050dd322015-05-12 00:00:48 +0200242
Ezequiel Garcia84583982015-08-07 16:39:31 +0100243config CLKSRC_PISTACHIO
Daniel Lezcanodfdb1652015-10-30 17:28:13 +0100244 bool "Clocksource for Pistachio SoC" if COMPILE_TEST
Arnd Bergmann2f8a26c2017-09-05 17:04:56 +0200245 depends on HAS_IOMEM
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200246 select TIMER_OF
Daniel Lezcanodfdb1652015-10-30 17:28:13 +0100247 help
248 Enables the clocksource for the Pistachio SoC.
Ezequiel Garcia84583982015-08-07 16:39:31 +0100249
Felipe Balbife851f52015-09-29 13:55:33 -0500250config CLKSRC_TI_32K
251 bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST
Felipe Balbidfedaf12015-10-16 16:10:05 -0500252 depends on GENERIC_SCHED_CLOCK
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200253 select TIMER_OF if OF
Felipe Balbife851f52015-09-29 13:55:33 -0500254 help
255 This option enables support for Texas Instruments 32.768 Hz clocksource
256 available on many OMAP-like platforms.
257
Noam Camusa5322452015-10-17 22:37:30 +0300258config CLKSRC_NPS
259 bool "NPS400 clocksource driver" if COMPILE_TEST
260 depends on !PHYS_ADDR_T_64BIT
261 select CLKSRC_MMIO
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200262 select TIMER_OF if OF
Noam Camusa5322452015-10-17 22:37:30 +0300263 help
264 NPS400 clocksource support.
265 Got 64 bit counter with update rate up to 1000MHz.
266 This counter is accessed via couple of 32 bit memory mapped registers.
267
Maxime Coqueline37e4592015-05-22 23:03:33 +0200268config CLKSRC_STM32
Paul Gortmaker1cb6c212015-06-20 19:02:32 -0400269 bool "Clocksource for STM32 SoCs" if !ARCH_STM32
270 depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST)
Maxime Coqueline37e4592015-05-22 23:03:33 +0200271 select CLKSRC_MMIO
Benjamin Gaignardd04af492018-01-08 14:28:51 +0100272 select TIMER_OF
Maxime Coqueline37e4592015-05-22 23:03:33 +0200273
Vladimir Murzin03026372016-04-25 09:45:44 +0100274config CLKSRC_MPS2
275 bool "Clocksource for MPS2 SoCs" if COMPILE_TEST
276 depends on GENERIC_SCHED_CLOCK
277 select CLKSRC_MMIO
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200278 select TIMER_OF
Vladimir Murzin03026372016-04-25 09:45:44 +0100279
Vineet Guptac4c9a042016-10-31 13:46:38 -0700280config ARC_TIMERS
281 bool "Support for 32-bit TIMERn counters in ARC Cores" if COMPILE_TEST
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200282 select TIMER_OF
Vineet Guptac4c9a042016-10-31 13:46:38 -0700283 help
284 These are legacy 32-bit TIMER0 and TIMER1 counters found on all ARC cores
285 (ARC700 as well as ARC HS38).
286 TIMER0 serves as clockevent while TIMER1 provides clocksource
287
288config ARC_TIMERS_64BIT
289 bool "Support for 64-bit counters in ARC HS38 cores" if COMPILE_TEST
Vineet Guptac4c9a042016-10-31 13:46:38 -0700290 depends on ARC_TIMERS
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200291 select TIMER_OF
Vineet Guptac4c9a042016-10-31 13:46:38 -0700292 help
293 This enables 2 different 64-bit timers: RTC (for UP) and GFRC (for SMP)
294 RTC is implemented inside the core, while GFRC sits outside the core in
295 ARConnect IP block. Driver automatically picks one of them for clocksource
296 as appropriate.
297
Mark Rutland8a4da6e2012-11-12 14:33:44 +0000298config ARM_ARCH_TIMER
299 bool
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200300 select TIMER_OF if OF
Daniel Lezcanofa1bffa2017-05-26 19:40:24 +0200301 select TIMER_ACPI if ACPI
James Hogana2c5d4e2012-10-09 10:54:39 +0100302
Will Deacon037f6372013-08-23 15:32:29 +0100303config ARM_ARCH_TIMER_EVTSTREAM
Will Deacon46fd5c62016-06-27 17:30:13 +0100304 bool "Enable ARM architected timer event stream generation by default"
Will Deacon037f6372013-08-23 15:32:29 +0100305 default y if ARM_ARCH_TIMER
Stephen Boyd77f7ce92013-11-20 12:02:03 -0800306 depends on ARM_ARCH_TIMER
Will Deacon037f6372013-08-23 15:32:29 +0100307 help
Will Deacon46fd5c62016-06-27 17:30:13 +0100308 This option enables support by default for event stream generation
309 based on the ARM architected timer. It is used for waking up CPUs
310 executing the wfe instruction at a frequency represented as a
311 power-of-2 divisor of the clock rate. The behaviour can also be
312 overridden on the command line using the
313 clocksource.arm_arch_timer.evtstream parameter.
Will Deacon037f6372013-08-23 15:32:29 +0100314 The main use of the event stream is wfe-based timeouts of userspace
315 locking implementations. It might also be useful for imposing timeout
316 on wfe to safeguard against any programming errors in case an expected
317 event is not generated.
318 This must be disabled for hardware validation purposes to detect any
319 hardware anomalies of missing events.
320
Ding Tianhong16d10ef2017-02-06 16:47:41 +0000321config ARM_ARCH_TIMER_OOL_WORKAROUND
322 bool
323
Scott Woodf6dc1572016-09-22 03:35:17 -0500324config FSL_ERRATUM_A008585
325 bool "Workaround for Freescale/NXP Erratum A-008585"
326 default y
327 depends on ARM_ARCH_TIMER && ARM64
Ding Tianhong16d10ef2017-02-06 16:47:41 +0000328 select ARM_ARCH_TIMER_OOL_WORKAROUND
Scott Woodf6dc1572016-09-22 03:35:17 -0500329 help
330 This option enables a workaround for Freescale/NXP Erratum
331 A-008585 ("ARM generic timer may contain an erroneous
332 value"). The workaround will only be active if the
333 fsl,erratum-a008585 property is found in the timer node.
334
Ding Tianhongbb42ca42017-02-06 16:47:42 +0000335config HISILICON_ERRATUM_161010101
336 bool "Workaround for Hisilicon Erratum 161010101"
337 default y
338 select ARM_ARCH_TIMER_OOL_WORKAROUND
339 depends on ARM_ARCH_TIMER && ARM64
340 help
341 This option enables a workaround for Hisilicon Erratum
342 161010101. The workaround will be active if the hisilicon,erratum-161010101
343 property is found in the timer node.
344
Marc Zyngierfa8d8152017-01-27 12:52:31 +0000345config ARM64_ERRATUM_858921
346 bool "Workaround for Cortex-A73 erratum 858921"
347 default y
348 select ARM_ARCH_TIMER_OOL_WORKAROUND
349 depends on ARM_ARCH_TIMER && ARM64
350 help
351 This option enables a workaround applicable to Cortex-A73
352 (all versions), whose counter may return incorrect values.
353 The workaround will be dynamically enabled when an affected
354 core is detected.
355
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100356config ARM_GLOBAL_TIMER
Daniel Lezcano67a87a42016-06-06 14:34:28 +0200357 bool "Support for the ARM global timer" if COMPILE_TEST
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200358 select TIMER_OF if OF
Daniel Lezcano67a87a42016-06-06 14:34:28 +0200359 depends on ARM
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100360 help
361 This options enables support for the ARM global timer unit
362
Sudeep Holla0b7402d2015-05-18 16:29:40 +0100363config ARM_TIMER_SP804
364 bool "Support for Dual Timer SP804 module"
Guenter Roeck002af192015-06-23 20:49:05 -0700365 depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP
Sudeep Holla0b7402d2015-05-18 16:29:40 +0100366 select CLKSRC_MMIO
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200367 select TIMER_OF if OF
Sudeep Holla0b7402d2015-05-18 16:29:40 +0100368
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100369config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
370 bool
371 depends on ARM_GLOBAL_TIMER
372 default y
373 help
374 Use ARM global timer clock source as sched_clock
375
Maxime Coquelin4958ebb2015-05-09 09:53:46 +0200376config ARMV7M_SYSTICK
Daniel Lezcanoe2146d82016-06-02 18:41:52 +0200377 bool "Support for the ARMv7M system time" if COMPILE_TEST
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200378 select TIMER_OF if OF
Maxime Coquelin4958ebb2015-05-09 09:53:46 +0200379 select CLKSRC_MMIO
380 help
381 This options enables support for the ARMv7M system timer unit
382
Maxime Ripardb052ff32014-09-02 18:12:35 +0200383config ATMEL_PIT
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200384 select TIMER_OF if OF
Maxime Ripardb052ff32014-09-02 18:12:35 +0200385 def_bool SOC_AT91SAM9 || SOC_SAMA5
386
Alexandre Bellonib53cdd02015-03-12 13:07:31 +0100387config ATMEL_ST
Daniel Lezcanob988d3f2016-06-06 19:08:39 +0200388 bool "Atmel ST timer support" if COMPILE_TEST
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200389 select TIMER_OF
Alexandre Belloni7ab7ef72015-03-19 14:17:48 +0100390 select MFD_SYSCON
Daniel Lezcanob988d3f2016-06-06 19:08:39 +0200391 help
392 Support for the Atmel ST timer.
Alexandre Bellonib53cdd02015-03-12 13:07:31 +0100393
James Hogana2c5d4e2012-10-09 10:54:39 +0100394config CLKSRC_METAG_GENERIC
395 def_bool y if METAG
396 help
397 This option enables support for the Meta per-thread timers.
Thomas Abraham6938d75a2013-03-09 16:16:13 +0900398
399config CLKSRC_EXYNOS_MCT
Daniel Lezcano39366ef2015-11-01 21:51:30 +0100400 bool "Exynos multi core timer driver" if COMPILE_TEST
Chanwoo Choif1a4c1f2016-08-24 22:49:05 +0900401 depends on ARM || ARM64
Thomas Abraham6938d75a2013-03-09 16:16:13 +0900402 help
403 Support for Multi Core Timer controller on Exynos SoCs.
Arnd Bergmann241a9872013-05-06 23:49:09 +0200404
Tomasz Figaf1189982013-04-20 23:22:13 +0200405config CLKSRC_SAMSUNG_PWM
Alexandre Bellonide37b0b2016-06-16 15:53:18 +0200406 bool "PWM timer driver for Samsung S3C, S5P" if COMPILE_TEST
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100407 depends on HAS_IOMEM
Tomasz Figaf1189982013-04-20 23:22:13 +0200408 help
409 This is a new clocksource driver for the PWM timer found in
410 Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
411 for all devicetree enabled platforms. This driver will be
412 needed only on systems that do not have the Exynos MCT available.
Jingchang Luc1967242013-05-29 10:12:17 +0200413
Xiubo Li2529c3a2014-05-23 10:12:04 +0200414config FSL_FTM_TIMER
Daniel Lezcanoef493362015-11-02 09:51:02 +0100415 bool "Freescale FlexTimer Module driver" if COMPILE_TEST
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100416 depends on HAS_IOMEM
Daniel Lezcano03724ac2016-01-08 14:21:31 +0100417 select CLKSRC_MMIO
Xiubo Li2529c3a2014-05-23 10:12:04 +0200418 help
419 Support for Freescale FlexTimer Module (FTM) timer.
420
Jingchang Luc1967242013-05-29 10:12:17 +0200421config VF_PIT_TIMER
422 bool
Arnd Bergmann2be6d9b2016-01-25 17:02:49 +0100423 select CLKSRC_MMIO
Jingchang Luc1967242013-05-29 10:12:17 +0200424 help
425 Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
Magnus Dammfd3f1272014-02-20 12:54:45 +0100426
Neil Armstrong89355272016-06-15 12:13:26 +0200427config OXNAS_RPS_TIMER
428 bool "Oxford Semiconductor OXNAS RPS Timers driver" if COMPILE_TEST
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200429 select TIMER_OF
Neil Armstrong89355272016-06-15 12:13:26 +0200430 select CLKSRC_MMIO
431 help
432 This enables support for the Oxford Semiconductor OXNAS RPS timers.
433
Magnus Dammfd3f1272014-02-20 12:54:45 +0100434config SYS_SUPPORTS_SH_CMT
435 bool
436
Matthias Bruggerecb35302014-07-18 11:36:43 +0200437config MTK_TIMER
Daniel Lezcanofbca9ea2015-10-30 17:53:27 +0100438 bool "Mediatek timer driver" if COMPILE_TEST
Arnd Bergmann2f8a26c2017-09-05 17:04:56 +0200439 depends on HAS_IOMEM
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200440 select TIMER_OF
Matthias Bruggerecb35302014-07-18 11:36:43 +0200441 select CLKSRC_MMIO
Daniel Lezcanofbca9ea2015-10-30 17:53:27 +0100442 help
443 Support for Mediatek timer driver.
Matthias Bruggerecb35302014-07-18 11:36:43 +0200444
Baolin Wang067bc912018-01-08 14:28:47 +0100445config SPRD_TIMER
446 bool "Spreadtrum timer driver" if COMPILE_TEST
447 depends on HAS_IOMEM
448 select TIMER_OF
449 help
450 Enables support for the Spreadtrum timer driver.
451
Magnus Dammfd3f1272014-02-20 12:54:45 +0100452config SYS_SUPPORTS_SH_MTU2
453 bool
454
455config SYS_SUPPORTS_SH_TMU
456 bool
457
458config SYS_SUPPORTS_EM_STI
459 bool
460
Rich Felker9995f4f2016-10-13 21:51:06 +0000461config CLKSRC_JCORE_PIT
462 bool "J-Core PIT timer driver" if COMPILE_TEST
463 depends on OF
Rich Felker9995f4f2016-10-13 21:51:06 +0000464 depends on HAS_IOMEM
465 select CLKSRC_MMIO
466 help
467 This enables build of clocksource and clockevent driver for
468 the integrated PIT in the J-Core synthesizable, open source SoC.
469
Magnus Dammfd3f1272014-02-20 12:54:45 +0100470config SH_TIMER_CMT
471 bool "Renesas CMT timer driver" if COMPILE_TEST
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100472 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100473 default SYS_SUPPORTS_SH_CMT
474 help
475 This enables build of a clocksource and clockevent driver for
476 the Compare Match Timer (CMT) hardware available in 16/32/48-bit
477 variants on a wide range of Mobile and Automotive SoCs from Renesas.
478
479config SH_TIMER_MTU2
480 bool "Renesas MTU2 timer driver" if COMPILE_TEST
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100481 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100482 default SYS_SUPPORTS_SH_MTU2
483 help
484 This enables build of a clockevent driver for the Multi-Function
Kuninori Morimoto7e139182014-07-18 11:36:36 +0200485 Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
Magnus Dammfd3f1272014-02-20 12:54:45 +0100486 This hardware comes with 16 bit-timer registers.
487
Chris Brandtfb6002a2017-01-27 15:02:15 -0500488config RENESAS_OSTM
489 bool "Renesas OSTM timer driver" if COMPILE_TEST
Chris Brandtfb6002a2017-01-27 15:02:15 -0500490 select CLKSRC_MMIO
491 help
492 Enables the support for the Renesas OSTM.
493
Magnus Dammfd3f1272014-02-20 12:54:45 +0100494config SH_TIMER_TMU
495 bool "Renesas TMU timer driver" if COMPILE_TEST
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100496 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100497 default SYS_SUPPORTS_SH_TMU
498 help
499 This enables build of a clocksource and clockevent driver for
500 the 32-bit Timer Unit (TMU) hardware available on a wide range
501 SoCs from Renesas.
502
503config EM_TIMER_STI
504 bool "Renesas STI timer driver" if COMPILE_TEST
Arnd Bergmann2f8a26c2017-09-05 17:04:56 +0200505 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100506 default SYS_SUPPORTS_EM_STI
507 help
508 This enables build of a clocksource and clockevent driver for
509 the 48-bit System Timer (STI) hardware available on a SoCs
510 such as EMEV2 from former NEC Electronics.
Linus Torvaldsdfc25e42014-04-05 13:51:19 -0700511
Kumar Gala3f8e8ce2014-01-29 16:17:30 -0600512config CLKSRC_QCOM
Daniel Lezcano3dc0e9f2015-10-09 11:10:43 +0200513 bool "Qualcomm MSM timer" if COMPILE_TEST
514 depends on ARM
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200515 select TIMER_OF
Daniel Lezcano3dc0e9f2015-10-09 11:10:43 +0200516 help
517 This enables the clocksource and the per CPU clockevent driver for the
518 Qualcomm SoCs.
Pawel Moll220e2a82014-04-16 18:22:59 +0100519
520config CLKSRC_VERSATILE
Daniel Lezcano5cc87a42016-06-07 11:05:01 +0200521 bool "ARM Versatile (Express) reference platforms clock source" if COMPILE_TEST
522 depends on GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200523 select TIMER_OF
Pawel Moll220e2a82014-04-16 18:22:59 +0100524 default y if MFD_VEXPRESS_SYSREG
525 help
526 This option enables clock source based on free running
527 counter available in the "System Registers" block of
528 ARM Versatile, RealView and Versatile Express reference
529 platforms.
Jean Delvare58394272014-06-16 11:48:45 +0200530
Andrew Brestickerfa5635a2014-10-20 12:03:58 -0700531config CLKSRC_MIPS_GIC
532 bool
533 depends on MIPS_GIC
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200534 select TIMER_OF
Andrew Brestickerfa5635a2014-10-20 12:03:58 -0700535
Marc Gonzalezccd63ce2015-10-09 16:59:18 +0200536config CLKSRC_TANGO_XTAL
Daniel Lezcano5a7351f2015-10-29 20:54:19 +0100537 bool "Clocksource for Tango SoC" if COMPILE_TEST
538 depends on ARM
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200539 select TIMER_OF
Daniel Lezcano08818412015-11-13 10:44:38 +0100540 select CLKSRC_MMIO
Daniel Lezcano5a7351f2015-10-29 20:54:19 +0100541 help
542 This enables the clocksource for Tango SoC
Marc Gonzalezccd63ce2015-10-09 16:59:18 +0200543
Dmitry Eremin-Solenikove074ff82014-12-21 16:07:09 +0100544config CLKSRC_PXA
Daniel Lezcano5ae996c2015-10-09 17:47:32 +0200545 bool "Clocksource for PXA or SA-11x0 platform" if COMPILE_TEST
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100546 depends on HAS_IOMEM
Daniel Lezcano5ae996c2015-10-09 17:47:32 +0200547 select CLKSRC_MMIO
Dmitry Eremin-Solenikove074ff82014-12-21 16:07:09 +0100548 help
549 This enables OST0 support available on PXA and SA-11x0
550 platforms.
Yoshinori Sato618b9022015-01-28 02:52:42 +0900551
Daniel Lezcano97a23be2015-11-09 14:43:52 +0100552config H8300_TMR8
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100553 bool "Clockevent timer for the H8300 platform" if COMPILE_TEST
Arnd Bergmann2f8a26c2017-09-05 17:04:56 +0200554 depends on HAS_IOMEM
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100555 help
556 This enables the 8 bits timer for the H8300 platform.
Daniel Lezcano97a23be2015-11-09 14:43:52 +0100557
Yoshinori Sato618b9022015-01-28 02:52:42 +0900558config H8300_TMR16
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100559 bool "Clockevent timer for the H83069 platform" if COMPILE_TEST
Arnd Bergmann2f8a26c2017-09-05 17:04:56 +0200560 depends on HAS_IOMEM
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100561 help
562 This enables the 16 bits timer for the H8300 platform with the
563 H83069 cpu.
Yoshinori Sato618b9022015-01-28 02:52:42 +0900564
565config H8300_TPU
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100566 bool "Clocksource for the H8300 platform" if COMPILE_TEST
Arnd Bergmann2f8a26c2017-09-05 17:04:56 +0200567 depends on HAS_IOMEM
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100568 help
569 This enables the clocksource for the H8300 platform with the
570 H8S2678 cpu.
Yoshinori Sato618b9022015-01-28 02:52:42 +0900571
Shawn Guobea5af42015-05-15 15:41:00 +0800572config CLKSRC_IMX_GPT
573 bool "Clocksource using i.MX GPT" if COMPILE_TEST
574 depends on ARM && CLKDEV_LOOKUP
575 select CLKSRC_MMIO
576
Dong Aisheng059ab7b2017-08-01 16:40:17 +0800577config CLKSRC_IMX_TPM
578 bool "Clocksource using i.MX TPM" if COMPILE_TEST
Arnd Bergmann2f8a26c2017-09-05 17:04:56 +0200579 depends on ARM && CLKDEV_LOOKUP
Dong Aisheng059ab7b2017-08-01 16:40:17 +0800580 select CLKSRC_MMIO
581 help
582 Enable this option to use IMX Timer/PWM Module (TPM) timer as
583 clocksource.
584
Lee Jones70bef012015-05-26 13:39:43 +0100585config CLKSRC_ST_LPC
Daniel Lezcanobaacaf82015-10-09 15:36:28 +0200586 bool "Low power clocksource found in the LPC" if COMPILE_TEST
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200587 select TIMER_OF if OF
Richard Weinberger863ee052016-01-02 23:06:36 +0100588 depends on HAS_IOMEM
Arnd Bergmann2be6d9b2016-01-25 17:02:49 +0100589 select CLKSRC_MMIO
Lee Jones70bef012015-05-26 13:39:43 +0100590 help
591 Enable this option to use the Low Power controller timer
592 as clocksource.
593
Jean Delvare58394272014-06-16 11:48:45 +0200594endmenu