blob: ede5d20299b93bbe03b63b1ba2bf2f33958c0463 [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
Manivannan Sadhasivam7f83a132018-12-10 23:05:46 +0530108config RDA_TIMER
109 bool "RDA timer driver" if COMPILE_TEST
110 depends on GENERIC_CLOCKEVENTS
111 select CLKSRC_MMIO
112 select TIMER_OF
113 help
114 Enables the support for the RDA Micro timer driver.
115
Maxime Ripard119fd632013-03-24 11:49:25 +0100116config SUN4I_TIMER
Daniel Lezcanob4fcd482015-10-30 22:39:00 +0100117 bool "Sun4i timer driver" if COMPILE_TEST
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100118 depends on HAS_IOMEM
Maxime Ripard71c568c2013-10-14 21:07:46 +0200119 select CLKSRC_MMIO
Daniel Lezcano239751e2017-06-06 23:07:51 +0200120 select TIMER_OF
Daniel Lezcanob4fcd482015-10-30 22:39:00 +0100121 help
122 Enables support for the Sun4i timer.
Maxime Ripardb2ac5d72012-11-12 15:07:50 +0100123
Maxime Ripard67905542013-11-07 12:01:48 +0100124config SUN5I_HSTIMER
Daniel Lezcanof0c5afb2015-10-31 17:01:46 +0100125 bool "Sun5i timer driver" if COMPILE_TEST
Maxime Ripard67905542013-11-07 12:01:48 +0100126 select CLKSRC_MMIO
Daniel Lezcanof0c5afb2015-10-31 17:01:46 +0100127 depends on COMMON_CLK
128 help
129 Enables support the Sun5i timer.
Maxime Ripard67905542013-11-07 12:01:48 +0100130
Thierry Reding910978e72014-07-07 15:26:30 +0200131config TEGRA_TIMER
Daniel Lezcanoadce4bc2015-10-31 20:13:09 +0100132 bool "Tegra timer driver" if COMPILE_TEST
Arnd Bergmann2be6d9b2016-01-25 17:02:49 +0100133 select CLKSRC_MMIO
Joseph Lob4822dc2019-02-21 15:21:44 +0800134 select TIMER_OF
135 depends on ARM || ARM64
Daniel Lezcanoadce4bc2015-10-31 20:13:09 +0100136 help
137 Enables support for the Tegra driver.
Thierry Reding910978e72014-07-07 15:26:30 +0200138
Tony Priskff7ec342013-01-14 17:58:21 +1300139config VT8500_TIMER
Daniel Lezcanob4bdf7e2015-10-31 20:23:54 +0100140 bool "VT8500 timer driver" if COMPILE_TEST
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100141 depends on HAS_IOMEM
Daniel Lezcanob4bdf7e2015-10-31 20:23:54 +0100142 help
143 Enables support for the VT8500 driver.
Tony Priskff7ec342013-01-14 17:58:21 +1300144
Tomer Maimon1c002892018-03-08 17:24:58 +0200145config NPCM7XX_TIMER
146 bool "NPCM7xx timer driver" if COMPILE_TEST
147 depends on HAS_IOMEM
148 select CLKSRC_MMIO
149 help
150 Enable 24-bit TIMER0 and TIMER1 counters in the NPCM7xx architecture,
151 While TIMER0 serves as clockevent and TIMER1 serves as clocksource.
152
Michal Simek4f0f2342013-03-20 10:46:01 +0100153config CADENCE_TTC_TIMER
Daniel Lezcano57f49312015-10-31 21:39:03 +0100154 bool "Cadence TTC timer driver" if COMPILE_TEST
155 depends on COMMON_CLK
156 help
157 Enables support for the cadence ttc driver.
Michal Simek4f0f2342013-03-20 10:46:01 +0100158
Daniel Lezcanoa8b1b9f2015-02-23 19:54:16 +0100159config ASM9260_TIMER
Daniel Lezcanob9755842015-10-31 21:41:23 +0100160 bool "ASM9260 timer driver" if COMPILE_TEST
Daniel Lezcanoa8b1b9f2015-02-23 19:54:16 +0100161 select CLKSRC_MMIO
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200162 select TIMER_OF
Daniel Lezcanob9755842015-10-31 21:41:23 +0100163 help
164 Enables support for the ASM9260 timer.
Daniel Lezcanoa8b1b9f2015-02-23 19:54:16 +0100165
Linus Walleij694e33a2012-10-18 14:01:25 +0200166config CLKSRC_NOMADIK_MTU
Daniel Lezcano70329652015-11-01 21:11:28 +0100167 bool "Nomakdik clocksource driver" if COMPILE_TEST
168 depends on ARM
Linus Walleij694e33a2012-10-18 14:01:25 +0200169 select CLKSRC_MMIO
170 help
171 Support for Multi Timer Unit. MTU provides access
172 to multiple interrupt generating programmable
173 32-bit free running decrementing counters.
174
Mattias Wallin489bcce2011-05-27 10:30:12 +0200175config CLKSRC_DBX500_PRCMU
Daniel Lezcano1becd6e2015-11-01 21:16:01 +0100176 bool "Clocksource PRCMU Timer" if COMPILE_TEST
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100177 depends on HAS_IOMEM
Mattias Wallin489bcce2011-05-27 10:30:12 +0200178 help
179 Use the always on PRCMU Timer as clocksource
180
Daniel Lezcanoecf0efd2016-06-02 20:06:54 +0200181config CLPS711X_TIMER
182 bool "Cirrus logic timer driver" if COMPILE_TEST
Daniel Lezcanoecf0efd2016-06-02 20:06:54 +0200183 select CLKSRC_MMIO
184 help
185 Enables support for the Cirrus Logic PS711 timer.
186
Daniel Lezcanob56d5d22016-06-03 13:11:39 +0200187config ATLAS7_TIMER
188 bool "Atlas7 timer driver" if COMPILE_TEST
Daniel Lezcanob56d5d22016-06-03 13:11:39 +0200189 select CLKSRC_MMIO
190 help
191 Enables support for the Atlas7 timer.
192
Daniel Lezcanod81c50a2016-06-03 13:36:18 +0200193config MXS_TIMER
194 bool "Mxs timer driver" if COMPILE_TEST
Daniel Lezcanod81c50a2016-06-03 13:36:18 +0200195 select CLKSRC_MMIO
196 select STMP_DEVICE
197 help
198 Enables support for the Mxs timer.
199
Daniel Lezcanof3550d42016-06-03 14:28:38 +0200200config PRIMA2_TIMER
201 bool "Prima2 timer driver" if COMPILE_TEST
Daniel Lezcanof3550d42016-06-03 14:28:38 +0200202 select CLKSRC_MMIO
203 help
204 Enables support for the Prima2 timer.
205
Daniel Lezcano85f98db2016-06-03 14:31:16 +0200206config U300_TIMER
207 bool "U300 timer driver" if COMPILE_TEST
Daniel Lezcano85f98db2016-06-03 14:31:16 +0200208 depends on ARM
209 select CLKSRC_MMIO
210 help
211 Enables support for the U300 timer.
212
Daniel Lezcanod683b9d2016-06-03 15:03:21 +0200213config NSPIRE_TIMER
214 bool "NSpire timer driver" if COMPILE_TEST
Daniel Lezcanod683b9d2016-06-03 15:03:21 +0200215 select CLKSRC_MMIO
216 help
217 Enables support for the Nspire timer.
218
Daniel Lezcanoc12547a2016-06-03 15:05:05 +0200219config KEYSTONE_TIMER
220 bool "Keystone timer driver" if COMPILE_TEST
Daniel Lezcanoc12547a2016-06-03 15:05:05 +0200221 depends on ARM || ARM64
222 select CLKSRC_MMIO
223 help
224 Enables support for the Keystone timer.
225
Daniel Lezcano568c0342016-06-03 15:11:21 +0200226config INTEGRATOR_AP_TIMER
227 bool "Integrator-ap timer driver" if COMPILE_TEST
Daniel Lezcano568c0342016-06-03 15:11:21 +0200228 select CLKSRC_MMIO
229 help
230 Enables support for the Integrator-ap timer.
231
Uwe Kleine-König9c9b7812013-10-03 21:56:29 +0200232config CLKSRC_EFM32
233 bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32
234 depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST)
Axel Lin09ca2752013-11-20 10:15:11 +0800235 select CLKSRC_MMIO
Uwe Kleine-König9c9b7812013-10-03 21:56:29 +0200236 default ARCH_EFM32
237 help
238 Support to use the timers of EFM32 SoCs as clock source and clock
239 event device.
240
Joachim Eastwood050dd322015-05-12 00:00:48 +0200241config CLKSRC_LPC32XX
Daniel Lezcanoddcf48c2015-10-31 21:44:52 +0100242 bool "Clocksource for LPC32XX" if COMPILE_TEST
Arnd Bergmann2f8a26c2017-09-05 17:04:56 +0200243 depends on HAS_IOMEM
Ezequiel Garcia1b18fd22016-02-09 22:54:27 -0300244 depends on ARM
Joachim Eastwood050dd322015-05-12 00:00:48 +0200245 select CLKSRC_MMIO
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200246 select TIMER_OF
Daniel Lezcanoddcf48c2015-10-31 21:44:52 +0100247 help
248 Support for the LPC32XX clocksource.
Joachim Eastwood050dd322015-05-12 00:00:48 +0200249
Ezequiel Garcia84583982015-08-07 16:39:31 +0100250config CLKSRC_PISTACHIO
Daniel Lezcanodfdb1652015-10-30 17:28:13 +0100251 bool "Clocksource for Pistachio SoC" if COMPILE_TEST
Arnd Bergmann2f8a26c2017-09-05 17:04:56 +0200252 depends on HAS_IOMEM
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200253 select TIMER_OF
Daniel Lezcanodfdb1652015-10-30 17:28:13 +0100254 help
255 Enables the clocksource for the Pistachio SoC.
Ezequiel Garcia84583982015-08-07 16:39:31 +0100256
Felipe Balbife851f52015-09-29 13:55:33 -0500257config CLKSRC_TI_32K
258 bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST
Felipe Balbidfedaf12015-10-16 16:10:05 -0500259 depends on GENERIC_SCHED_CLOCK
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200260 select TIMER_OF if OF
Felipe Balbife851f52015-09-29 13:55:33 -0500261 help
262 This option enables support for Texas Instruments 32.768 Hz clocksource
263 available on many OMAP-like platforms.
264
Noam Camusa5322452015-10-17 22:37:30 +0300265config CLKSRC_NPS
266 bool "NPS400 clocksource driver" if COMPILE_TEST
267 depends on !PHYS_ADDR_T_64BIT
268 select CLKSRC_MMIO
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200269 select TIMER_OF if OF
Noam Camusa5322452015-10-17 22:37:30 +0300270 help
271 NPS400 clocksource support.
272 Got 64 bit counter with update rate up to 1000MHz.
273 This counter is accessed via couple of 32 bit memory mapped registers.
274
Maxime Coqueline37e4592015-05-22 23:03:33 +0200275config CLKSRC_STM32
Paul Gortmaker1cb6c212015-06-20 19:02:32 -0400276 bool "Clocksource for STM32 SoCs" if !ARCH_STM32
277 depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST)
Maxime Coqueline37e4592015-05-22 23:03:33 +0200278 select CLKSRC_MMIO
Benjamin Gaignardd04af492018-01-08 14:28:51 +0100279 select TIMER_OF
Maxime Coqueline37e4592015-05-22 23:03:33 +0200280
Vladimir Murzin03026372016-04-25 09:45:44 +0100281config CLKSRC_MPS2
282 bool "Clocksource for MPS2 SoCs" if COMPILE_TEST
283 depends on GENERIC_SCHED_CLOCK
284 select CLKSRC_MMIO
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200285 select TIMER_OF
Vladimir Murzin03026372016-04-25 09:45:44 +0100286
Vineet Guptac4c9a042016-10-31 13:46:38 -0700287config ARC_TIMERS
288 bool "Support for 32-bit TIMERn counters in ARC Cores" if COMPILE_TEST
Alexey Brodkinbf287602018-11-19 14:29:17 +0300289 depends on GENERIC_SCHED_CLOCK
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200290 select TIMER_OF
Vineet Guptac4c9a042016-10-31 13:46:38 -0700291 help
292 These are legacy 32-bit TIMER0 and TIMER1 counters found on all ARC cores
293 (ARC700 as well as ARC HS38).
294 TIMER0 serves as clockevent while TIMER1 provides clocksource
295
296config ARC_TIMERS_64BIT
297 bool "Support for 64-bit counters in ARC HS38 cores" if COMPILE_TEST
Vineet Guptac4c9a042016-10-31 13:46:38 -0700298 depends on ARC_TIMERS
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200299 select TIMER_OF
Vineet Guptac4c9a042016-10-31 13:46:38 -0700300 help
301 This enables 2 different 64-bit timers: RTC (for UP) and GFRC (for SMP)
302 RTC is implemented inside the core, while GFRC sits outside the core in
303 ARConnect IP block. Driver automatically picks one of them for clocksource
304 as appropriate.
305
Mark Rutland8a4da6e2012-11-12 14:33:44 +0000306config ARM_ARCH_TIMER
307 bool
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200308 select TIMER_OF if OF
Daniel Lezcanofa1bffa2017-05-26 19:40:24 +0200309 select TIMER_ACPI if ACPI
James Hogana2c5d4e2012-10-09 10:54:39 +0100310
Will Deacon037f6372013-08-23 15:32:29 +0100311config ARM_ARCH_TIMER_EVTSTREAM
Will Deacon46fd5c62016-06-27 17:30:13 +0100312 bool "Enable ARM architected timer event stream generation by default"
Will Deacon037f6372013-08-23 15:32:29 +0100313 default y if ARM_ARCH_TIMER
Stephen Boyd77f7ce92013-11-20 12:02:03 -0800314 depends on ARM_ARCH_TIMER
Will Deacon037f6372013-08-23 15:32:29 +0100315 help
Will Deacon46fd5c62016-06-27 17:30:13 +0100316 This option enables support by default for event stream generation
317 based on the ARM architected timer. It is used for waking up CPUs
318 executing the wfe instruction at a frequency represented as a
319 power-of-2 divisor of the clock rate. The behaviour can also be
320 overridden on the command line using the
321 clocksource.arm_arch_timer.evtstream parameter.
Will Deacon037f6372013-08-23 15:32:29 +0100322 The main use of the event stream is wfe-based timeouts of userspace
323 locking implementations. It might also be useful for imposing timeout
324 on wfe to safeguard against any programming errors in case an expected
325 event is not generated.
326 This must be disabled for hardware validation purposes to detect any
327 hardware anomalies of missing events.
328
Ding Tianhong16d10ef2017-02-06 16:47:41 +0000329config ARM_ARCH_TIMER_OOL_WORKAROUND
330 bool
331
Scott Woodf6dc1572016-09-22 03:35:17 -0500332config FSL_ERRATUM_A008585
333 bool "Workaround for Freescale/NXP Erratum A-008585"
334 default y
335 depends on ARM_ARCH_TIMER && ARM64
Ding Tianhong16d10ef2017-02-06 16:47:41 +0000336 select ARM_ARCH_TIMER_OOL_WORKAROUND
Scott Woodf6dc1572016-09-22 03:35:17 -0500337 help
338 This option enables a workaround for Freescale/NXP Erratum
339 A-008585 ("ARM generic timer may contain an erroneous
340 value"). The workaround will only be active if the
341 fsl,erratum-a008585 property is found in the timer node.
342
Ding Tianhongbb42ca42017-02-06 16:47:42 +0000343config HISILICON_ERRATUM_161010101
344 bool "Workaround for Hisilicon Erratum 161010101"
345 default y
346 select ARM_ARCH_TIMER_OOL_WORKAROUND
347 depends on ARM_ARCH_TIMER && ARM64
348 help
349 This option enables a workaround for Hisilicon Erratum
350 161010101. The workaround will be active if the hisilicon,erratum-161010101
351 property is found in the timer node.
352
Marc Zyngierfa8d8152017-01-27 12:52:31 +0000353config ARM64_ERRATUM_858921
354 bool "Workaround for Cortex-A73 erratum 858921"
355 default y
356 select ARM_ARCH_TIMER_OOL_WORKAROUND
357 depends on ARM_ARCH_TIMER && ARM64
358 help
359 This option enables a workaround applicable to Cortex-A73
360 (all versions), whose counter may return incorrect values.
361 The workaround will be dynamically enabled when an affected
362 core is detected.
363
Samuel Hollandc950ca82019-01-12 20:17:18 -0600364config SUN50I_ERRATUM_UNKNOWN1
365 bool "Workaround for Allwinner A64 erratum UNKNOWN1"
366 default y
367 depends on ARM_ARCH_TIMER && ARM64 && ARCH_SUNXI
368 select ARM_ARCH_TIMER_OOL_WORKAROUND
369 help
370 This option enables a workaround for instability in the timer on
371 the Allwinner A64 SoC. The workaround will only be active if the
372 allwinner,erratum-unknown1 property is found in the timer node.
373
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100374config ARM_GLOBAL_TIMER
Daniel Lezcano67a87a42016-06-06 14:34:28 +0200375 bool "Support for the ARM global timer" if COMPILE_TEST
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200376 select TIMER_OF if OF
Daniel Lezcano67a87a42016-06-06 14:34:28 +0200377 depends on ARM
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100378 help
379 This options enables support for the ARM global timer unit
380
Sudeep Holla0b7402d2015-05-18 16:29:40 +0100381config ARM_TIMER_SP804
David Abdurachmanovdfc82fa2019-04-08 10:07:45 +0200382 bool "Support for Dual Timer SP804 module" if COMPILE_TEST
Guenter Roeck002af192015-06-23 20:49:05 -0700383 depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP
Sudeep Holla0b7402d2015-05-18 16:29:40 +0100384 select CLKSRC_MMIO
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200385 select TIMER_OF if OF
Sudeep Holla0b7402d2015-05-18 16:29:40 +0100386
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100387config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
388 bool
389 depends on ARM_GLOBAL_TIMER
390 default y
391 help
392 Use ARM global timer clock source as sched_clock
393
Maxime Coquelin4958ebb2015-05-09 09:53:46 +0200394config ARMV7M_SYSTICK
Daniel Lezcanoe2146d82016-06-02 18:41:52 +0200395 bool "Support for the ARMv7M system time" if COMPILE_TEST
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200396 select TIMER_OF if OF
Maxime Coquelin4958ebb2015-05-09 09:53:46 +0200397 select CLKSRC_MMIO
398 help
399 This options enables support for the ARMv7M system timer unit
400
Maxime Ripardb052ff32014-09-02 18:12:35 +0200401config ATMEL_PIT
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200402 select TIMER_OF if OF
Maxime Ripardb052ff32014-09-02 18:12:35 +0200403 def_bool SOC_AT91SAM9 || SOC_SAMA5
404
Alexandre Bellonib53cdd02015-03-12 13:07:31 +0100405config ATMEL_ST
Daniel Lezcanob988d3f2016-06-06 19:08:39 +0200406 bool "Atmel ST timer support" if COMPILE_TEST
Masahiro Yamadabd2746f2018-03-06 20:20:33 +0900407 depends on HAS_IOMEM
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200408 select TIMER_OF
Alexandre Belloni7ab7ef72015-03-19 14:17:48 +0100409 select MFD_SYSCON
Daniel Lezcanob988d3f2016-06-06 19:08:39 +0200410 help
411 Support for the Atmel ST timer.
Alexandre Bellonib53cdd02015-03-12 13:07:31 +0100412
Thomas Abraham6938d75a2013-03-09 16:16:13 +0900413config CLKSRC_EXYNOS_MCT
Daniel Lezcano39366ef2015-11-01 21:51:30 +0100414 bool "Exynos multi core timer driver" if COMPILE_TEST
Chanwoo Choif1a4c1f2016-08-24 22:49:05 +0900415 depends on ARM || ARM64
Thomas Abraham6938d75a2013-03-09 16:16:13 +0900416 help
417 Support for Multi Core Timer controller on Exynos SoCs.
Arnd Bergmann241a9872013-05-06 23:49:09 +0200418
Tomasz Figaf1189982013-04-20 23:22:13 +0200419config CLKSRC_SAMSUNG_PWM
Alexandre Bellonide37b0b2016-06-16 15:53:18 +0200420 bool "PWM timer driver for Samsung S3C, S5P" if COMPILE_TEST
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
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100430 depends on HAS_IOMEM
Daniel Lezcano03724ac2016-01-08 14:21:31 +0100431 select CLKSRC_MMIO
Xiubo Li2529c3a2014-05-23 10:12:04 +0200432 help
433 Support for Freescale FlexTimer Module (FTM) timer.
434
Jingchang Luc1967242013-05-29 10:12:17 +0200435config VF_PIT_TIMER
436 bool
Arnd Bergmann2be6d9b2016-01-25 17:02:49 +0100437 select CLKSRC_MMIO
Jingchang Luc1967242013-05-29 10:12:17 +0200438 help
439 Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
Magnus Dammfd3f1272014-02-20 12:54:45 +0100440
Neil Armstrong89355272016-06-15 12:13:26 +0200441config OXNAS_RPS_TIMER
442 bool "Oxford Semiconductor OXNAS RPS Timers driver" if COMPILE_TEST
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200443 select TIMER_OF
Neil Armstrong89355272016-06-15 12:13:26 +0200444 select CLKSRC_MMIO
445 help
446 This enables support for the Oxford Semiconductor OXNAS RPS timers.
447
Magnus Dammfd3f1272014-02-20 12:54:45 +0100448config SYS_SUPPORTS_SH_CMT
449 bool
450
Matthias Bruggerecb35302014-07-18 11:36:43 +0200451config MTK_TIMER
Daniel Lezcanofbca9ea2015-10-30 17:53:27 +0100452 bool "Mediatek timer driver" if COMPILE_TEST
Arnd Bergmann2f8a26c2017-09-05 17:04:56 +0200453 depends on HAS_IOMEM
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200454 select TIMER_OF
Matthias Bruggerecb35302014-07-18 11:36:43 +0200455 select CLKSRC_MMIO
Daniel Lezcanofbca9ea2015-10-30 17:53:27 +0100456 help
457 Support for Mediatek timer driver.
Matthias Bruggerecb35302014-07-18 11:36:43 +0200458
Baolin Wang067bc912018-01-08 14:28:47 +0100459config SPRD_TIMER
Chunyan Zhang8a1ece22018-05-07 17:04:47 +0800460 bool "Spreadtrum timer driver" if EXPERT
Baolin Wang067bc912018-01-08 14:28:47 +0100461 depends on HAS_IOMEM
Chunyan Zhang8a1ece22018-05-07 17:04:47 +0800462 depends on (ARCH_SPRD || COMPILE_TEST)
463 default ARCH_SPRD
Baolin Wang067bc912018-01-08 14:28:47 +0100464 select TIMER_OF
465 help
466 Enables support for the Spreadtrum timer driver.
467
Magnus Dammfd3f1272014-02-20 12:54:45 +0100468config SYS_SUPPORTS_SH_MTU2
469 bool
470
471config SYS_SUPPORTS_SH_TMU
472 bool
473
474config SYS_SUPPORTS_EM_STI
475 bool
476
Rich Felker9995f4f2016-10-13 21:51:06 +0000477config CLKSRC_JCORE_PIT
478 bool "J-Core PIT timer driver" if COMPILE_TEST
479 depends on OF
Rich Felker9995f4f2016-10-13 21:51:06 +0000480 depends on HAS_IOMEM
481 select CLKSRC_MMIO
482 help
483 This enables build of clocksource and clockevent driver for
484 the integrated PIT in the J-Core synthesizable, open source SoC.
485
Magnus Dammfd3f1272014-02-20 12:54:45 +0100486config SH_TIMER_CMT
487 bool "Renesas CMT timer driver" if COMPILE_TEST
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100488 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100489 default SYS_SUPPORTS_SH_CMT
490 help
491 This enables build of a clocksource and clockevent driver for
492 the Compare Match Timer (CMT) hardware available in 16/32/48-bit
493 variants on a wide range of Mobile and Automotive SoCs from Renesas.
494
495config SH_TIMER_MTU2
496 bool "Renesas MTU2 timer driver" if COMPILE_TEST
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100497 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100498 default SYS_SUPPORTS_SH_MTU2
499 help
500 This enables build of a clockevent driver for the Multi-Function
Kuninori Morimoto7e139182014-07-18 11:36:36 +0200501 Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
Magnus Dammfd3f1272014-02-20 12:54:45 +0100502 This hardware comes with 16 bit-timer registers.
503
Chris Brandtfb6002a2017-01-27 15:02:15 -0500504config RENESAS_OSTM
505 bool "Renesas OSTM timer driver" if COMPILE_TEST
Chris Brandtfb6002a2017-01-27 15:02:15 -0500506 select CLKSRC_MMIO
507 help
508 Enables the support for the Renesas OSTM.
509
Magnus Dammfd3f1272014-02-20 12:54:45 +0100510config SH_TIMER_TMU
511 bool "Renesas TMU timer driver" if COMPILE_TEST
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100512 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100513 default SYS_SUPPORTS_SH_TMU
514 help
515 This enables build of a clocksource and clockevent driver for
516 the 32-bit Timer Unit (TMU) hardware available on a wide range
517 SoCs from Renesas.
518
519config EM_TIMER_STI
520 bool "Renesas STI timer driver" if COMPILE_TEST
Arnd Bergmann2f8a26c2017-09-05 17:04:56 +0200521 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100522 default SYS_SUPPORTS_EM_STI
523 help
524 This enables build of a clocksource and clockevent driver for
525 the 48-bit System Timer (STI) hardware available on a SoCs
526 such as EMEV2 from former NEC Electronics.
Linus Torvaldsdfc25e42014-04-05 13:51:19 -0700527
Kumar Gala3f8e8ce2014-01-29 16:17:30 -0600528config CLKSRC_QCOM
Daniel Lezcano3dc0e9f2015-10-09 11:10:43 +0200529 bool "Qualcomm MSM timer" if COMPILE_TEST
530 depends on ARM
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200531 select TIMER_OF
Daniel Lezcano3dc0e9f2015-10-09 11:10:43 +0200532 help
533 This enables the clocksource and the per CPU clockevent driver for the
534 Qualcomm SoCs.
Pawel Moll220e2a82014-04-16 18:22:59 +0100535
536config CLKSRC_VERSATILE
Daniel Lezcano5cc87a42016-06-07 11:05:01 +0200537 bool "ARM Versatile (Express) reference platforms clock source" if COMPILE_TEST
538 depends on GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200539 select TIMER_OF
Pawel Moll220e2a82014-04-16 18:22:59 +0100540 default y if MFD_VEXPRESS_SYSREG
541 help
542 This option enables clock source based on free running
543 counter available in the "System Registers" block of
544 ARM Versatile, RealView and Versatile Express reference
545 platforms.
Jean Delvare58394272014-06-16 11:48:45 +0200546
Andrew Brestickerfa5635a2014-10-20 12:03:58 -0700547config CLKSRC_MIPS_GIC
548 bool
549 depends on MIPS_GIC
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200550 select TIMER_OF
Andrew Brestickerfa5635a2014-10-20 12:03:58 -0700551
Marc Gonzalezccd63ce2015-10-09 16:59:18 +0200552config CLKSRC_TANGO_XTAL
Daniel Lezcano5a7351f2015-10-29 20:54:19 +0100553 bool "Clocksource for Tango SoC" if COMPILE_TEST
554 depends on ARM
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200555 select TIMER_OF
Daniel Lezcano08818412015-11-13 10:44:38 +0100556 select CLKSRC_MMIO
Daniel Lezcano5a7351f2015-10-29 20:54:19 +0100557 help
558 This enables the clocksource for Tango SoC
Marc Gonzalezccd63ce2015-10-09 16:59:18 +0200559
Dmitry Eremin-Solenikove074ff82014-12-21 16:07:09 +0100560config CLKSRC_PXA
Daniel Lezcano5ae996c2015-10-09 17:47:32 +0200561 bool "Clocksource for PXA or SA-11x0 platform" if COMPILE_TEST
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100562 depends on HAS_IOMEM
Daniel Lezcano5ae996c2015-10-09 17:47:32 +0200563 select CLKSRC_MMIO
Dmitry Eremin-Solenikove074ff82014-12-21 16:07:09 +0100564 help
565 This enables OST0 support available on PXA and SA-11x0
566 platforms.
Yoshinori Sato618b9022015-01-28 02:52:42 +0900567
Daniel Lezcano97a23be2015-11-09 14:43:52 +0100568config H8300_TMR8
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100569 bool "Clockevent timer for the H8300 platform" if COMPILE_TEST
Arnd Bergmann2f8a26c2017-09-05 17:04:56 +0200570 depends on HAS_IOMEM
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100571 help
572 This enables the 8 bits timer for the H8300 platform.
Daniel Lezcano97a23be2015-11-09 14:43:52 +0100573
Yoshinori Sato618b9022015-01-28 02:52:42 +0900574config H8300_TMR16
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100575 bool "Clockevent timer for the H83069 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 16 bits timer for the H8300 platform with the
579 H83069 cpu.
Yoshinori Sato618b9022015-01-28 02:52:42 +0900580
581config H8300_TPU
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100582 bool "Clocksource for the H8300 platform" if COMPILE_TEST
Arnd Bergmann2f8a26c2017-09-05 17:04:56 +0200583 depends on HAS_IOMEM
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100584 help
585 This enables the clocksource for the H8300 platform with the
586 H8S2678 cpu.
Yoshinori Sato618b9022015-01-28 02:52:42 +0900587
Shawn Guobea5af42015-05-15 15:41:00 +0800588config CLKSRC_IMX_GPT
589 bool "Clocksource using i.MX GPT" if COMPILE_TEST
Anson Huangdf181e32018-11-05 01:10:27 +0000590 depends on (ARM || ARM64) && CLKDEV_LOOKUP
Shawn Guobea5af42015-05-15 15:41:00 +0800591 select CLKSRC_MMIO
592
Dong Aisheng059ab7b2017-08-01 16:40:17 +0800593config CLKSRC_IMX_TPM
594 bool "Clocksource using i.MX TPM" if COMPILE_TEST
Arnd Bergmann2f8a26c2017-09-05 17:04:56 +0200595 depends on ARM && CLKDEV_LOOKUP
Dong Aisheng059ab7b2017-08-01 16:40:17 +0800596 select CLKSRC_MMIO
597 help
598 Enable this option to use IMX Timer/PWM Module (TPM) timer as
599 clocksource.
600
Lee Jones70bef012015-05-26 13:39:43 +0100601config CLKSRC_ST_LPC
Daniel Lezcanobaacaf82015-10-09 15:36:28 +0200602 bool "Low power clocksource found in the LPC" if COMPILE_TEST
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200603 select TIMER_OF if OF
Richard Weinberger863ee052016-01-02 23:06:36 +0100604 depends on HAS_IOMEM
Arnd Bergmann2be6d9b2016-01-25 17:02:49 +0100605 select CLKSRC_MMIO
Lee Jones70bef012015-05-26 13:39:43 +0100606 help
607 Enable this option to use the Low Power controller timer
608 as clocksource.
609
Rick Chen35dbb742017-12-11 15:53:15 +0800610config ATCPIT100_TIMER
611 bool "ATCPIT100 timer driver"
612 depends on NDS32 || COMPILE_TEST
613 depends on HAS_IOMEM
614 select TIMER_OF
615 default NDS32
616 help
617 This option enables support for the Andestech ATCPIT100 timers.
618
Palmer Dabbelt62b01942018-08-04 10:23:19 +0200619config RISCV_TIMER
620 bool "Timer for the RISC-V platform"
Anup Patel92e0d142018-12-04 15:59:52 +0530621 depends on GENERIC_SCHED_CLOCK && RISCV
Palmer Dabbelt62b01942018-08-04 10:23:19 +0200622 default y
623 select TIMER_PROBE
624 select TIMER_OF
625 help
626 This enables the per-hart timer built into all RISC-V systems, which
627 is accessed via both the SBI and the rdcycle instruction. This is
628 required for all RISC-V systems.
629
Guo Rena7ad38b2018-11-03 00:51:28 +0800630config CSKY_MP_TIMER
631 bool "SMP Timer for the C-SKY platform" if COMPILE_TEST
632 depends on CSKY
633 select TIMER_OF
634 help
635 Say yes here to enable C-SKY SMP timer driver used for C-SKY SMP
636 system.
637 csky,mptimer is not only used in SMP system, it also could be used
638 single core system. It's not a mmio reg and it use mtcr/mfcr instruction.
639
Guo Ren33745c32018-11-03 00:51:30 +0800640config GX6605S_TIMER
641 bool "Gx6605s SOC system timer driver" if COMPILE_TEST
642 depends on CSKY
643 select CLKSRC_MMIO
644 select TIMER_OF
645 help
646 This option enables support for gx6605s SOC's timer.
647
Sugaya Taichib58f28f2019-02-27 13:53:20 +0900648config MILBEAUT_TIMER
649 bool "Milbeaut timer driver" if COMPILE_TEST
650 depends on OF
651 depends on ARM
652 select TIMER_OF
653 select CLKSRC_MMIO
654 help
655 Enables the support for Milbeaut timer driver.
656
Jean Delvare58394272014-06-16 11:48:45 +0200657endmenu