blob: dec0dd88ec15fdf8ca81e01a0a9692572f1cef21 [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
Keerthyaf04aa82018-02-15 11:31:46 +053024config OMAP_DM_TIMER
25 bool
26
Ralf Baechle15f304b2011-06-01 19:04:59 +010027config CLKBLD_I8253
Thomas Gleixnere6220bd2011-06-09 13:08:25 +000028 def_bool y if CLKSRC_I8253 || CLKEVT_I8253 || I8253_LOCK
Ralf Baechle15f304b2011-06-01 19:04:59 +010029
Russell King442c8172011-05-08 14:06:52 +010030config CLKSRC_MMIO
31 bool
Jamie Iles06c3df42011-06-06 12:43:07 +010032
Daniel Lezcano2ea879a2016-06-02 18:35:38 +020033config BCM2835_TIMER
34 bool "BCM2835 timer driver" if COMPILE_TEST
Daniel Lezcano2ea879a2016-06-02 18:35:38 +020035 select CLKSRC_MMIO
36 help
37 Enables the support for the BCM2835 timer driver.
38
Daniel Lezcano1cad71e2016-06-02 19:20:36 +020039config BCM_KONA_TIMER
40 bool "BCM mobile timer driver" if COMPILE_TEST
Daniel Lezcano1cad71e2016-06-02 19:20:36 +020041 select CLKSRC_MMIO
42 help
43 Enables the support for the BCM Kona mobile timer driver.
44
Baruch Siach9b8bb772015-01-26 20:35:18 +020045config DIGICOLOR_TIMER
Daniel Lezcanoe6c1db12015-10-30 22:32:10 +010046 bool "Digicolor timer driver" if COMPILE_TEST
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
54 help
55 Enables the support for the dw_apb timer.
Mattias Wallin489bcce2011-05-27 10:30:12 +020056
Dinh Nguyencfda5902012-07-11 15:13:16 -050057config DW_APB_TIMER_OF
58 bool
Heiko Stuebner1b4eca02013-06-04 11:38:11 +020059 select DW_APB_TIMER
Daniel Lezcanobb0eb052017-05-26 19:34:11 +020060 select TIMER_OF
Dinh Nguyencfda5902012-07-11 15:13:16 -050061
Linus Walleijf5bf0ee2017-03-24 22:32:34 +010062config FTTMR010_TIMER
63 bool "Faraday Technology timer driver" if COMPILE_TEST
Linus Walleij47505352017-01-22 13:17:17 +010064 depends on HAS_IOMEM
65 select CLKSRC_MMIO
Daniel Lezcanobb0eb052017-05-26 19:34:11 +020066 select TIMER_OF
Linus Walleij47505352017-01-22 13:17:17 +010067 select MFD_SYSCON
68 help
Linus Walleijf5bf0ee2017-03-24 22:32:34 +010069 Enables support for the Faraday Technology timer block
70 FTTMR010.
Linus Walleij47505352017-01-22 13:17:17 +010071
Daniel Lezcano468b8c42015-01-25 22:06:02 +010072config ROCKCHIP_TIMER
Daniel Lezcano40ada2a2015-10-30 17:58:47 +010073 bool "Rockchip timer driver" if COMPILE_TEST
74 depends on ARM || ARM64
Daniel Lezcanobb0eb052017-05-26 19:34:11 +020075 select TIMER_OF
Alexander Kochetkov5e0a39d2017-01-31 15:43:14 +030076 select CLKSRC_MMIO
Daniel Lezcano40ada2a2015-10-30 17:58:47 +010077 help
78 Enables the support for the rockchip timer driver.
Daniel Lezcano468b8c42015-01-25 22:06:02 +010079
Gregory CLEMENT6fe9cbd2012-06-13 18:58:09 +020080config ARMADA_370_XP_TIMER
Daniel Lezcano9519e802015-10-30 20:30:34 +010081 bool "Armada 370 and XP timer driver" if COMPILE_TEST
82 depends on ARM
Daniel Lezcanobb0eb052017-05-26 19:34:11 +020083 select TIMER_OF
Arnd Bergmann2be6d9b2016-01-25 17:02:49 +010084 select CLKSRC_MMIO
Daniel Lezcano9519e802015-10-30 20:30:34 +010085 help
86 Enables the support for the Armada 370 and XP timer driver.
Gregory CLEMENT6fe9cbd2012-06-13 18:58:09 +020087
Carlo Caionee4a6b372014-09-29 01:50:05 +020088config MESON6_TIMER
Daniel Lezcano0b7a7bb2015-10-30 22:07:39 +010089 bool "Meson6 timer driver" if COMPILE_TEST
Beniamino Galvani7b6b0a42014-11-18 16:41:20 +010090 select CLKSRC_MMIO
Daniel Lezcano0b7a7bb2015-10-30 22:07:39 +010091 help
92 Enables the support for the Meson6 timer driver.
Carlo Caionee4a6b372014-09-29 01:50:05 +020093
Sebastian Hesselbarth0c1dcfd2013-06-11 08:38:50 +020094config ORION_TIMER
Daniel Lezcanoc9165542015-10-30 22:28:31 +010095 bool "Orion timer driver" if COMPILE_TEST
96 depends on ARM
Daniel Lezcanobb0eb052017-05-26 19:34:11 +020097 select TIMER_OF
Sebastian Hesselbarth0c1dcfd2013-06-11 08:38:50 +020098 select CLKSRC_MMIO
Daniel Lezcanoc9165542015-10-30 22:28:31 +010099 help
100 Enables the support for the Orion timer driver
Sebastian Hesselbarth0c1dcfd2013-06-11 08:38:50 +0200101
Andreas Färber4be78a82017-02-23 19:27:12 +0100102config OWL_TIMER
103 bool "Owl timer driver" if COMPILE_TEST
Andreas Färber4be78a82017-02-23 19:27:12 +0100104 select CLKSRC_MMIO
105 help
106 Enables the support for the Actions Semi Owl timer driver.
107
Maxime Ripard119fd632013-03-24 11:49:25 +0100108config SUN4I_TIMER
Daniel Lezcanob4fcd482015-10-30 22:39:00 +0100109 bool "Sun4i timer driver" if COMPILE_TEST
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100110 depends on HAS_IOMEM
Maxime Ripard71c568c2013-10-14 21:07:46 +0200111 select CLKSRC_MMIO
Daniel Lezcano239751e2017-06-06 23:07:51 +0200112 select TIMER_OF
Daniel Lezcanob4fcd482015-10-30 22:39:00 +0100113 help
114 Enables support for the Sun4i timer.
Maxime Ripardb2ac5d72012-11-12 15:07:50 +0100115
Maxime Ripard67905542013-11-07 12:01:48 +0100116config SUN5I_HSTIMER
Daniel Lezcanof0c5afb2015-10-31 17:01:46 +0100117 bool "Sun5i timer driver" if COMPILE_TEST
Maxime Ripard67905542013-11-07 12:01:48 +0100118 select CLKSRC_MMIO
Daniel Lezcanof0c5afb2015-10-31 17:01:46 +0100119 depends on COMMON_CLK
120 help
121 Enables support the Sun5i timer.
Maxime Ripard67905542013-11-07 12:01:48 +0100122
Thierry Reding910978e72014-07-07 15:26:30 +0200123config TEGRA_TIMER
Daniel Lezcanoadce4bc2015-10-31 20:13:09 +0100124 bool "Tegra timer driver" if COMPILE_TEST
Arnd Bergmann2be6d9b2016-01-25 17:02:49 +0100125 select CLKSRC_MMIO
Daniel Lezcanoadce4bc2015-10-31 20:13:09 +0100126 depends on ARM
127 help
128 Enables support for the Tegra driver.
Thierry Reding910978e72014-07-07 15:26:30 +0200129
Tony Priskff7ec342013-01-14 17:58:21 +1300130config VT8500_TIMER
Daniel Lezcanob4bdf7e2015-10-31 20:23:54 +0100131 bool "VT8500 timer driver" if COMPILE_TEST
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100132 depends on HAS_IOMEM
Daniel Lezcanob4bdf7e2015-10-31 20:23:54 +0100133 help
134 Enables support for the VT8500 driver.
Tony Priskff7ec342013-01-14 17:58:21 +1300135
Tomer Maimon1c002892018-03-08 17:24:58 +0200136config NPCM7XX_TIMER
137 bool "NPCM7xx timer driver" if COMPILE_TEST
138 depends on HAS_IOMEM
139 select CLKSRC_MMIO
140 help
141 Enable 24-bit TIMER0 and TIMER1 counters in the NPCM7xx architecture,
142 While TIMER0 serves as clockevent and TIMER1 serves as clocksource.
143
Michal Simek4f0f2342013-03-20 10:46:01 +0100144config CADENCE_TTC_TIMER
Daniel Lezcano57f49312015-10-31 21:39:03 +0100145 bool "Cadence TTC timer driver" if COMPILE_TEST
146 depends on COMMON_CLK
147 help
148 Enables support for the cadence ttc driver.
Michal Simek4f0f2342013-03-20 10:46:01 +0100149
Daniel Lezcanoa8b1b9f2015-02-23 19:54:16 +0100150config ASM9260_TIMER
Daniel Lezcanob9755842015-10-31 21:41:23 +0100151 bool "ASM9260 timer driver" if COMPILE_TEST
Daniel Lezcanoa8b1b9f2015-02-23 19:54:16 +0100152 select CLKSRC_MMIO
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200153 select TIMER_OF
Daniel Lezcanob9755842015-10-31 21:41:23 +0100154 help
155 Enables support for the ASM9260 timer.
Daniel Lezcanoa8b1b9f2015-02-23 19:54:16 +0100156
Linus Walleij694e33a2012-10-18 14:01:25 +0200157config CLKSRC_NOMADIK_MTU
Daniel Lezcano70329652015-11-01 21:11:28 +0100158 bool "Nomakdik clocksource driver" if COMPILE_TEST
159 depends on ARM
Linus Walleij694e33a2012-10-18 14:01:25 +0200160 select CLKSRC_MMIO
161 help
162 Support for Multi Timer Unit. MTU provides access
163 to multiple interrupt generating programmable
164 32-bit free running decrementing counters.
165
166config CLKSRC_NOMADIK_MTU_SCHED_CLOCK
167 bool
168 depends on CLKSRC_NOMADIK_MTU
169 help
170 Use the Multi Timer Unit as the sched_clock.
171
Mattias Wallin489bcce2011-05-27 10:30:12 +0200172config CLKSRC_DBX500_PRCMU
Daniel Lezcano1becd6e2015-11-01 21:16:01 +0100173 bool "Clocksource PRCMU Timer" if COMPILE_TEST
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100174 depends on HAS_IOMEM
Mattias Wallin489bcce2011-05-27 10:30:12 +0200175 help
176 Use the always on PRCMU Timer as clocksource
177
Daniel Lezcanoecf0efd2016-06-02 20:06:54 +0200178config CLPS711X_TIMER
179 bool "Cirrus logic timer driver" if COMPILE_TEST
Daniel Lezcanoecf0efd2016-06-02 20:06:54 +0200180 select CLKSRC_MMIO
181 help
182 Enables support for the Cirrus Logic PS711 timer.
183
Daniel Lezcanob56d5d22016-06-03 13:11:39 +0200184config ATLAS7_TIMER
185 bool "Atlas7 timer driver" if COMPILE_TEST
Daniel Lezcanob56d5d22016-06-03 13:11:39 +0200186 select CLKSRC_MMIO
187 help
188 Enables support for the Atlas7 timer.
189
Daniel Lezcanod81c50a2016-06-03 13:36:18 +0200190config MXS_TIMER
191 bool "Mxs timer driver" if COMPILE_TEST
Daniel Lezcanod81c50a2016-06-03 13:36:18 +0200192 select CLKSRC_MMIO
193 select STMP_DEVICE
194 help
195 Enables support for the Mxs timer.
196
Daniel Lezcanof3550d42016-06-03 14:28:38 +0200197config PRIMA2_TIMER
198 bool "Prima2 timer driver" if COMPILE_TEST
Daniel Lezcanof3550d42016-06-03 14:28:38 +0200199 select CLKSRC_MMIO
200 help
201 Enables support for the Prima2 timer.
202
Daniel Lezcano85f98db2016-06-03 14:31:16 +0200203config U300_TIMER
204 bool "U300 timer driver" if COMPILE_TEST
Daniel Lezcano85f98db2016-06-03 14:31:16 +0200205 depends on ARM
206 select CLKSRC_MMIO
207 help
208 Enables support for the U300 timer.
209
Daniel Lezcanod683b9d2016-06-03 15:03:21 +0200210config NSPIRE_TIMER
211 bool "NSpire timer driver" if COMPILE_TEST
Daniel Lezcanod683b9d2016-06-03 15:03:21 +0200212 select CLKSRC_MMIO
213 help
214 Enables support for the Nspire timer.
215
Daniel Lezcanoc12547a2016-06-03 15:05:05 +0200216config KEYSTONE_TIMER
217 bool "Keystone timer driver" if COMPILE_TEST
Daniel Lezcanoc12547a2016-06-03 15:05:05 +0200218 depends on ARM || ARM64
219 select CLKSRC_MMIO
220 help
221 Enables support for the Keystone timer.
222
Daniel Lezcano568c0342016-06-03 15:11:21 +0200223config INTEGRATOR_AP_TIMER
224 bool "Integrator-ap timer driver" if COMPILE_TEST
Daniel Lezcano568c0342016-06-03 15:11:21 +0200225 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
Arnd Bergmann2f8a26c2017-09-05 17:04:56 +0200247 depends on 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
Arnd Bergmann2f8a26c2017-09-05 17:04:56 +0200256 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
Benjamin Gaignardd04af492018-01-08 14:28:51 +0100283 select TIMER_OF
Maxime Coqueline37e4592015-05-22 23:03:33 +0200284
Vladimir Murzin03026372016-04-25 09:45:44 +0100285config CLKSRC_MPS2
286 bool "Clocksource for MPS2 SoCs" if COMPILE_TEST
287 depends on GENERIC_SCHED_CLOCK
288 select CLKSRC_MMIO
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200289 select TIMER_OF
Vladimir Murzin03026372016-04-25 09:45:44 +0100290
Vineet Guptac4c9a042016-10-31 13:46:38 -0700291config ARC_TIMERS
292 bool "Support for 32-bit TIMERn counters in ARC Cores" if COMPILE_TEST
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
Vineet Guptac4c9a042016-10-31 13:46:38 -0700301 depends on ARC_TIMERS
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200302 select TIMER_OF
Vineet Guptac4c9a042016-10-31 13:46:38 -0700303 help
304 This enables 2 different 64-bit timers: RTC (for UP) and GFRC (for SMP)
305 RTC is implemented inside the core, while GFRC sits outside the core in
306 ARConnect IP block. Driver automatically picks one of them for clocksource
307 as appropriate.
308
Mark Rutland8a4da6e2012-11-12 14:33:44 +0000309config ARM_ARCH_TIMER
310 bool
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200311 select TIMER_OF if OF
Daniel Lezcanofa1bffa2017-05-26 19:40:24 +0200312 select TIMER_ACPI if ACPI
James Hogana2c5d4e2012-10-09 10:54:39 +0100313
Will Deacon037f6372013-08-23 15:32:29 +0100314config ARM_ARCH_TIMER_EVTSTREAM
Will Deacon46fd5c62016-06-27 17:30:13 +0100315 bool "Enable ARM architected timer event stream generation by default"
Will Deacon037f6372013-08-23 15:32:29 +0100316 default y if ARM_ARCH_TIMER
Stephen Boyd77f7ce92013-11-20 12:02:03 -0800317 depends on ARM_ARCH_TIMER
Will Deacon037f6372013-08-23 15:32:29 +0100318 help
Will Deacon46fd5c62016-06-27 17:30:13 +0100319 This option enables support by default for event stream generation
320 based on the ARM architected timer. It is used for waking up CPUs
321 executing the wfe instruction at a frequency represented as a
322 power-of-2 divisor of the clock rate. The behaviour can also be
323 overridden on the command line using the
324 clocksource.arm_arch_timer.evtstream parameter.
Will Deacon037f6372013-08-23 15:32:29 +0100325 The main use of the event stream is wfe-based timeouts of userspace
326 locking implementations. It might also be useful for imposing timeout
327 on wfe to safeguard against any programming errors in case an expected
328 event is not generated.
329 This must be disabled for hardware validation purposes to detect any
330 hardware anomalies of missing events.
331
Ding Tianhong16d10ef2017-02-06 16:47:41 +0000332config ARM_ARCH_TIMER_OOL_WORKAROUND
333 bool
334
Scott Woodf6dc1572016-09-22 03:35:17 -0500335config FSL_ERRATUM_A008585
336 bool "Workaround for Freescale/NXP Erratum A-008585"
337 default y
338 depends on ARM_ARCH_TIMER && ARM64
Ding Tianhong16d10ef2017-02-06 16:47:41 +0000339 select ARM_ARCH_TIMER_OOL_WORKAROUND
Scott Woodf6dc1572016-09-22 03:35:17 -0500340 help
341 This option enables a workaround for Freescale/NXP Erratum
342 A-008585 ("ARM generic timer may contain an erroneous
343 value"). The workaround will only be active if the
344 fsl,erratum-a008585 property is found in the timer node.
345
Ding Tianhongbb42ca42017-02-06 16:47:42 +0000346config HISILICON_ERRATUM_161010101
347 bool "Workaround for Hisilicon Erratum 161010101"
348 default y
349 select ARM_ARCH_TIMER_OOL_WORKAROUND
350 depends on ARM_ARCH_TIMER && ARM64
351 help
352 This option enables a workaround for Hisilicon Erratum
353 161010101. The workaround will be active if the hisilicon,erratum-161010101
354 property is found in the timer node.
355
Marc Zyngierfa8d8152017-01-27 12:52:31 +0000356config ARM64_ERRATUM_858921
357 bool "Workaround for Cortex-A73 erratum 858921"
358 default y
359 select ARM_ARCH_TIMER_OOL_WORKAROUND
360 depends on ARM_ARCH_TIMER && ARM64
361 help
362 This option enables a workaround applicable to Cortex-A73
363 (all versions), whose counter may return incorrect values.
364 The workaround will be dynamically enabled when an affected
365 core is detected.
366
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100367config ARM_GLOBAL_TIMER
Daniel Lezcano67a87a42016-06-06 14:34:28 +0200368 bool "Support for the ARM global timer" if COMPILE_TEST
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200369 select TIMER_OF if OF
Daniel Lezcano67a87a42016-06-06 14:34:28 +0200370 depends on ARM
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100371 help
372 This options enables support for the ARM global timer unit
373
Sudeep Holla0b7402d2015-05-18 16:29:40 +0100374config ARM_TIMER_SP804
375 bool "Support for Dual Timer SP804 module"
Guenter Roeck002af192015-06-23 20:49:05 -0700376 depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP
Sudeep Holla0b7402d2015-05-18 16:29:40 +0100377 select CLKSRC_MMIO
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200378 select TIMER_OF if OF
Sudeep Holla0b7402d2015-05-18 16:29:40 +0100379
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100380config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
381 bool
382 depends on ARM_GLOBAL_TIMER
383 default y
384 help
385 Use ARM global timer clock source as sched_clock
386
Maxime Coquelin4958ebb2015-05-09 09:53:46 +0200387config ARMV7M_SYSTICK
Daniel Lezcanoe2146d82016-06-02 18:41:52 +0200388 bool "Support for the ARMv7M system time" if COMPILE_TEST
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200389 select TIMER_OF if OF
Maxime Coquelin4958ebb2015-05-09 09:53:46 +0200390 select CLKSRC_MMIO
391 help
392 This options enables support for the ARMv7M system timer unit
393
Maxime Ripardb052ff32014-09-02 18:12:35 +0200394config ATMEL_PIT
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200395 select TIMER_OF if OF
Maxime Ripardb052ff32014-09-02 18:12:35 +0200396 def_bool SOC_AT91SAM9 || SOC_SAMA5
397
Alexandre Bellonib53cdd02015-03-12 13:07:31 +0100398config ATMEL_ST
Daniel Lezcanob988d3f2016-06-06 19:08:39 +0200399 bool "Atmel ST timer support" if COMPILE_TEST
Masahiro Yamadabd2746f2018-03-06 20:20:33 +0900400 depends on HAS_IOMEM
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200401 select TIMER_OF
Alexandre Belloni7ab7ef72015-03-19 14:17:48 +0100402 select MFD_SYSCON
Daniel Lezcanob988d3f2016-06-06 19:08:39 +0200403 help
404 Support for the Atmel ST timer.
Alexandre Bellonib53cdd02015-03-12 13:07:31 +0100405
Thomas Abraham6938d75a2013-03-09 16:16:13 +0900406config CLKSRC_EXYNOS_MCT
Daniel Lezcano39366ef2015-11-01 21:51:30 +0100407 bool "Exynos multi core timer driver" if COMPILE_TEST
Chanwoo Choif1a4c1f2016-08-24 22:49:05 +0900408 depends on ARM || ARM64
Thomas Abraham6938d75a2013-03-09 16:16:13 +0900409 help
410 Support for Multi Core Timer controller on Exynos SoCs.
Arnd Bergmann241a9872013-05-06 23:49:09 +0200411
Tomasz Figaf1189982013-04-20 23:22:13 +0200412config CLKSRC_SAMSUNG_PWM
Alexandre Bellonide37b0b2016-06-16 15:53:18 +0200413 bool "PWM timer driver for Samsung S3C, S5P" if COMPILE_TEST
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100414 depends on HAS_IOMEM
Tomasz Figaf1189982013-04-20 23:22:13 +0200415 help
416 This is a new clocksource driver for the PWM timer found in
417 Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
418 for all devicetree enabled platforms. This driver will be
419 needed only on systems that do not have the Exynos MCT available.
Jingchang Luc1967242013-05-29 10:12:17 +0200420
Xiubo Li2529c3a2014-05-23 10:12:04 +0200421config FSL_FTM_TIMER
Daniel Lezcanoef493362015-11-02 09:51:02 +0100422 bool "Freescale FlexTimer Module driver" if COMPILE_TEST
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100423 depends on HAS_IOMEM
Daniel Lezcano03724ac2016-01-08 14:21:31 +0100424 select CLKSRC_MMIO
Xiubo Li2529c3a2014-05-23 10:12:04 +0200425 help
426 Support for Freescale FlexTimer Module (FTM) timer.
427
Jingchang Luc1967242013-05-29 10:12:17 +0200428config VF_PIT_TIMER
429 bool
Arnd Bergmann2be6d9b2016-01-25 17:02:49 +0100430 select CLKSRC_MMIO
Jingchang Luc1967242013-05-29 10:12:17 +0200431 help
432 Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
Magnus Dammfd3f1272014-02-20 12:54:45 +0100433
Neil Armstrong89355272016-06-15 12:13:26 +0200434config OXNAS_RPS_TIMER
435 bool "Oxford Semiconductor OXNAS RPS Timers driver" if COMPILE_TEST
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200436 select TIMER_OF
Neil Armstrong89355272016-06-15 12:13:26 +0200437 select CLKSRC_MMIO
438 help
439 This enables support for the Oxford Semiconductor OXNAS RPS timers.
440
Magnus Dammfd3f1272014-02-20 12:54:45 +0100441config SYS_SUPPORTS_SH_CMT
442 bool
443
Matthias Bruggerecb35302014-07-18 11:36:43 +0200444config MTK_TIMER
Daniel Lezcanofbca9ea2015-10-30 17:53:27 +0100445 bool "Mediatek timer driver" if COMPILE_TEST
Arnd Bergmann2f8a26c2017-09-05 17:04:56 +0200446 depends on HAS_IOMEM
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200447 select TIMER_OF
Matthias Bruggerecb35302014-07-18 11:36:43 +0200448 select CLKSRC_MMIO
Daniel Lezcanofbca9ea2015-10-30 17:53:27 +0100449 help
450 Support for Mediatek timer driver.
Matthias Bruggerecb35302014-07-18 11:36:43 +0200451
Baolin Wang067bc912018-01-08 14:28:47 +0100452config SPRD_TIMER
Chunyan Zhang8a1ece22018-05-07 17:04:47 +0800453 bool "Spreadtrum timer driver" if EXPERT
Baolin Wang067bc912018-01-08 14:28:47 +0100454 depends on HAS_IOMEM
Chunyan Zhang8a1ece22018-05-07 17:04:47 +0800455 depends on (ARCH_SPRD || COMPILE_TEST)
456 default ARCH_SPRD
Baolin Wang067bc912018-01-08 14:28:47 +0100457 select TIMER_OF
458 help
459 Enables support for the Spreadtrum timer driver.
460
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
Rich Felker9995f4f2016-10-13 21:51:06 +0000473 depends on HAS_IOMEM
474 select CLKSRC_MMIO
475 help
476 This enables build of clocksource and clockevent driver for
477 the integrated PIT in the J-Core synthesizable, open source SoC.
478
Magnus Dammfd3f1272014-02-20 12:54:45 +0100479config SH_TIMER_CMT
480 bool "Renesas CMT 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_CMT
483 help
484 This enables build of a clocksource and clockevent driver for
485 the Compare Match Timer (CMT) hardware available in 16/32/48-bit
486 variants on a wide range of Mobile and Automotive SoCs from Renesas.
487
488config SH_TIMER_MTU2
489 bool "Renesas MTU2 timer driver" if COMPILE_TEST
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100490 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100491 default SYS_SUPPORTS_SH_MTU2
492 help
493 This enables build of a clockevent driver for the Multi-Function
Kuninori Morimoto7e139182014-07-18 11:36:36 +0200494 Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
Magnus Dammfd3f1272014-02-20 12:54:45 +0100495 This hardware comes with 16 bit-timer registers.
496
Chris Brandtfb6002a2017-01-27 15:02:15 -0500497config RENESAS_OSTM
498 bool "Renesas OSTM timer driver" if COMPILE_TEST
Chris Brandtfb6002a2017-01-27 15:02:15 -0500499 select CLKSRC_MMIO
500 help
501 Enables the support for the Renesas OSTM.
502
Magnus Dammfd3f1272014-02-20 12:54:45 +0100503config SH_TIMER_TMU
504 bool "Renesas TMU timer driver" if COMPILE_TEST
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100505 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100506 default SYS_SUPPORTS_SH_TMU
507 help
508 This enables build of a clocksource and clockevent driver for
509 the 32-bit Timer Unit (TMU) hardware available on a wide range
510 SoCs from Renesas.
511
512config EM_TIMER_STI
513 bool "Renesas STI timer driver" if COMPILE_TEST
Arnd Bergmann2f8a26c2017-09-05 17:04:56 +0200514 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100515 default SYS_SUPPORTS_EM_STI
516 help
517 This enables build of a clocksource and clockevent driver for
518 the 48-bit System Timer (STI) hardware available on a SoCs
519 such as EMEV2 from former NEC Electronics.
Linus Torvaldsdfc25e42014-04-05 13:51:19 -0700520
Kumar Gala3f8e8ce2014-01-29 16:17:30 -0600521config CLKSRC_QCOM
Daniel Lezcano3dc0e9f2015-10-09 11:10:43 +0200522 bool "Qualcomm MSM timer" if COMPILE_TEST
523 depends on ARM
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200524 select TIMER_OF
Daniel Lezcano3dc0e9f2015-10-09 11:10:43 +0200525 help
526 This enables the clocksource and the per CPU clockevent driver for the
527 Qualcomm SoCs.
Pawel Moll220e2a82014-04-16 18:22:59 +0100528
529config CLKSRC_VERSATILE
Daniel Lezcano5cc87a42016-06-07 11:05:01 +0200530 bool "ARM Versatile (Express) reference platforms clock source" if COMPILE_TEST
531 depends on GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200532 select TIMER_OF
Pawel Moll220e2a82014-04-16 18:22:59 +0100533 default y if MFD_VEXPRESS_SYSREG
534 help
535 This option enables clock source based on free running
536 counter available in the "System Registers" block of
537 ARM Versatile, RealView and Versatile Express reference
538 platforms.
Jean Delvare58394272014-06-16 11:48:45 +0200539
Andrew Brestickerfa5635a2014-10-20 12:03:58 -0700540config CLKSRC_MIPS_GIC
541 bool
542 depends on MIPS_GIC
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200543 select TIMER_OF
Andrew Brestickerfa5635a2014-10-20 12:03:58 -0700544
Marc Gonzalezccd63ce2015-10-09 16:59:18 +0200545config CLKSRC_TANGO_XTAL
Daniel Lezcano5a7351f2015-10-29 20:54:19 +0100546 bool "Clocksource for Tango SoC" if COMPILE_TEST
547 depends on ARM
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200548 select TIMER_OF
Daniel Lezcano08818412015-11-13 10:44:38 +0100549 select CLKSRC_MMIO
Daniel Lezcano5a7351f2015-10-29 20:54:19 +0100550 help
551 This enables the clocksource for Tango SoC
Marc Gonzalezccd63ce2015-10-09 16:59:18 +0200552
Dmitry Eremin-Solenikove074ff82014-12-21 16:07:09 +0100553config CLKSRC_PXA
Daniel Lezcano5ae996c2015-10-09 17:47:32 +0200554 bool "Clocksource for PXA or SA-11x0 platform" if COMPILE_TEST
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100555 depends on HAS_IOMEM
Daniel Lezcano5ae996c2015-10-09 17:47:32 +0200556 select CLKSRC_MMIO
Dmitry Eremin-Solenikove074ff82014-12-21 16:07:09 +0100557 help
558 This enables OST0 support available on PXA and SA-11x0
559 platforms.
Yoshinori Sato618b9022015-01-28 02:52:42 +0900560
Daniel Lezcano97a23be2015-11-09 14:43:52 +0100561config H8300_TMR8
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100562 bool "Clockevent timer for the H8300 platform" if COMPILE_TEST
Arnd Bergmann2f8a26c2017-09-05 17:04:56 +0200563 depends on HAS_IOMEM
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100564 help
565 This enables the 8 bits timer for the H8300 platform.
Daniel Lezcano97a23be2015-11-09 14:43:52 +0100566
Yoshinori Sato618b9022015-01-28 02:52:42 +0900567config H8300_TMR16
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100568 bool "Clockevent timer for the H83069 platform" if COMPILE_TEST
Arnd Bergmann2f8a26c2017-09-05 17:04:56 +0200569 depends on HAS_IOMEM
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100570 help
571 This enables the 16 bits timer for the H8300 platform with the
572 H83069 cpu.
Yoshinori Sato618b9022015-01-28 02:52:42 +0900573
574config H8300_TPU
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100575 bool "Clocksource for the H8300 platform" if COMPILE_TEST
Arnd Bergmann2f8a26c2017-09-05 17:04:56 +0200576 depends on HAS_IOMEM
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100577 help
578 This enables the clocksource for the H8300 platform with the
579 H8S2678 cpu.
Yoshinori Sato618b9022015-01-28 02:52:42 +0900580
Shawn Guobea5af42015-05-15 15:41:00 +0800581config CLKSRC_IMX_GPT
582 bool "Clocksource using i.MX GPT" if COMPILE_TEST
583 depends on ARM && CLKDEV_LOOKUP
584 select CLKSRC_MMIO
585
Dong Aisheng059ab7b2017-08-01 16:40:17 +0800586config CLKSRC_IMX_TPM
587 bool "Clocksource using i.MX TPM" if COMPILE_TEST
Arnd Bergmann2f8a26c2017-09-05 17:04:56 +0200588 depends on ARM && CLKDEV_LOOKUP
Dong Aisheng059ab7b2017-08-01 16:40:17 +0800589 select CLKSRC_MMIO
590 help
591 Enable this option to use IMX Timer/PWM Module (TPM) timer as
592 clocksource.
593
Lee Jones70bef012015-05-26 13:39:43 +0100594config CLKSRC_ST_LPC
Daniel Lezcanobaacaf82015-10-09 15:36:28 +0200595 bool "Low power clocksource found in the LPC" if COMPILE_TEST
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200596 select TIMER_OF if OF
Richard Weinberger863ee052016-01-02 23:06:36 +0100597 depends on HAS_IOMEM
Arnd Bergmann2be6d9b2016-01-25 17:02:49 +0100598 select CLKSRC_MMIO
Lee Jones70bef012015-05-26 13:39:43 +0100599 help
600 Enable this option to use the Low Power controller timer
601 as clocksource.
602
Rick Chen35dbb742017-12-11 15:53:15 +0800603config ATCPIT100_TIMER
604 bool "ATCPIT100 timer driver"
605 depends on NDS32 || COMPILE_TEST
606 depends on HAS_IOMEM
607 select TIMER_OF
608 default NDS32
609 help
610 This option enables support for the Andestech ATCPIT100 timers.
611
Jean Delvare58394272014-06-16 11:48:45 +0200612endmenu