blob: a0c6e88bebe084bfc20fcdcd61a1e72992775abd [file] [log] [blame]
Thomas Gleixnerec8f24b2019-05-19 13:07:45 +01001# SPDX-License-Identifier: GPL-2.0-only
Jean Delvare58394272014-06-16 11:48:45 +02002menu "Clock Source drivers"
Arnd Bergmann2f8a26c2017-09-05 17:04:56 +02003 depends on GENERIC_CLOCKEVENTS
Jean Delvare58394272014-06-16 11:48:45 +02004
Daniel Lezcanobb0eb052017-05-26 19:34:11 +02005config TIMER_OF
Stephen Warrenae278a92012-11-19 16:41:20 -07006 bool
Daniel Lezcanobb0eb052017-05-26 19:34:11 +02007 select TIMER_PROBE
Marc Zyngieraad83b152015-09-28 15:49:16 +01008
Daniel Lezcanofa1bffa2017-05-26 19:40:24 +02009config TIMER_ACPI
Marc Zyngieraad83b152015-09-28 15:49:16 +010010 bool
Daniel Lezcanobb0eb052017-05-26 19:34:11 +020011 select TIMER_PROBE
Marc Zyngieraad83b152015-09-28 15:49:16 +010012
Daniel Lezcanobb0eb052017-05-26 19:34:11 +020013config TIMER_PROBE
Marc Zyngieraad83b152015-09-28 15:49:16 +010014 bool
Stephen Warrenae278a92012-11-19 16:41:20 -070015
Russell King89c0b8e2011-05-08 18:47:58 +010016config CLKSRC_I8253
17 bool
Russell King442c8172011-05-08 14:06:52 +010018
Thomas Gleixnere6220bd2011-06-09 13:08:25 +000019config CLKEVT_I8253
20 bool
21
Ralf Baechle15f304b2011-06-01 19:04:59 +010022config I8253_LOCK
23 bool
24
Keerthyaf04aa82018-02-15 11:31:46 +053025config OMAP_DM_TIMER
26 bool
Kees Cook8e2f97d2021-08-28 10:57:47 -070027 select TIMER_OF
Keerthyaf04aa82018-02-15 11:31:46 +053028
Ralf Baechle15f304b2011-06-01 19:04:59 +010029config CLKBLD_I8253
Thomas Gleixnere6220bd2011-06-09 13:08:25 +000030 def_bool y if CLKSRC_I8253 || CLKEVT_I8253 || I8253_LOCK
Ralf Baechle15f304b2011-06-01 19:04:59 +010031
Russell King442c8172011-05-08 14:06:52 +010032config CLKSRC_MMIO
33 bool
Jamie Iles06c3df42011-06-06 12:43:07 +010034
Daniel Lezcano2ea879a2016-06-02 18:35:38 +020035config BCM2835_TIMER
36 bool "BCM2835 timer driver" if COMPILE_TEST
Daniel Lezcano2ea879a2016-06-02 18:35:38 +020037 select CLKSRC_MMIO
38 help
39 Enables the support for the BCM2835 timer driver.
40
Daniel Lezcano1cad71e2016-06-02 19:20:36 +020041config BCM_KONA_TIMER
42 bool "BCM mobile timer driver" if COMPILE_TEST
Daniel Lezcano1cad71e2016-06-02 19:20:36 +020043 select CLKSRC_MMIO
44 help
45 Enables the support for the BCM Kona mobile timer driver.
46
Bartosz Golaszewski721154f2019-06-24 11:50:55 +020047config DAVINCI_TIMER
48 bool "Texas Instruments DaVinci timer driver" if COMPILE_TEST
49 help
50 Enables the support for the TI DaVinci timer driver.
51
Baruch Siach9b8bb772015-01-26 20:35:18 +020052config DIGICOLOR_TIMER
Daniel Lezcanoe6c1db12015-10-30 22:32:10 +010053 bool "Digicolor timer driver" if COMPILE_TEST
Arnd Bergmann2be6d9b2016-01-25 17:02:49 +010054 select CLKSRC_MMIO
Richard Weinbergerd7023e622016-01-25 23:24:19 +010055 depends on HAS_IOMEM
Daniel Lezcanoe6c1db12015-10-30 22:32:10 +010056 help
57 Enables the support for the digicolor timer driver.
Baruch Siach9b8bb772015-01-26 20:35:18 +020058
Jamie Iles06c3df42011-06-06 12:43:07 +010059config DW_APB_TIMER
Daniel Lezcano5b097f62015-10-30 22:35:00 +010060 bool "DW APB timer driver" if COMPILE_TEST
61 help
62 Enables the support for the dw_apb timer.
Mattias Wallin489bcce2011-05-27 10:30:12 +020063
Dinh Nguyencfda5902012-07-11 15:13:16 -050064config DW_APB_TIMER_OF
65 bool
Heiko Stuebner1b4eca02013-06-04 11:38:11 +020066 select DW_APB_TIMER
Daniel Lezcanobb0eb052017-05-26 19:34:11 +020067 select TIMER_OF
Dinh Nguyencfda5902012-07-11 15:13:16 -050068
Linus Walleijf5bf0ee2017-03-24 22:32:34 +010069config FTTMR010_TIMER
70 bool "Faraday Technology timer driver" if COMPILE_TEST
Linus Walleij47505352017-01-22 13:17:17 +010071 depends on HAS_IOMEM
72 select CLKSRC_MMIO
Daniel Lezcanobb0eb052017-05-26 19:34:11 +020073 select TIMER_OF
Linus Walleij47505352017-01-22 13:17:17 +010074 select MFD_SYSCON
75 help
Linus Walleijf5bf0ee2017-03-24 22:32:34 +010076 Enables support for the Faraday Technology timer block
77 FTTMR010.
Linus Walleij47505352017-01-22 13:17:17 +010078
Linus Walleij13e0b402019-01-26 00:49:19 +010079config IXP4XX_TIMER
80 bool "Intel XScale IXP4xx timer driver" if COMPILE_TEST
81 depends on HAS_IOMEM
82 select CLKSRC_MMIO
Arnd Bergmann9f5c5592021-01-03 14:59:24 +010083 select TIMER_OF if OF
Linus Walleij13e0b402019-01-26 00:49:19 +010084 help
85 Enables support for the Intel XScale IXP4xx SoC timer.
86
Daniel Lezcano468b8c42015-01-25 22:06:02 +010087config ROCKCHIP_TIMER
Daniel Lezcano40ada2a2015-10-30 17:58:47 +010088 bool "Rockchip timer driver" if COMPILE_TEST
89 depends on ARM || ARM64
Daniel Lezcanobb0eb052017-05-26 19:34:11 +020090 select TIMER_OF
Alexander Kochetkov5e0a39d2017-01-31 15:43:14 +030091 select CLKSRC_MMIO
Daniel Lezcano40ada2a2015-10-30 17:58:47 +010092 help
Randy Dunlap06293462019-11-27 21:10:22 -080093 Enables the support for the Rockchip timer driver.
Daniel Lezcano468b8c42015-01-25 22:06:02 +010094
Gregory CLEMENT6fe9cbd2012-06-13 18:58:09 +020095config ARMADA_370_XP_TIMER
Daniel Lezcano9519e802015-10-30 20:30:34 +010096 bool "Armada 370 and XP timer driver" if COMPILE_TEST
97 depends on ARM
Daniel Lezcanobb0eb052017-05-26 19:34:11 +020098 select TIMER_OF
Arnd Bergmann2be6d9b2016-01-25 17:02:49 +010099 select CLKSRC_MMIO
Daniel Lezcano9519e802015-10-30 20:30:34 +0100100 help
101 Enables the support for the Armada 370 and XP timer driver.
Gregory CLEMENT6fe9cbd2012-06-13 18:58:09 +0200102
Carlo Caionee4a6b372014-09-29 01:50:05 +0200103config MESON6_TIMER
Daniel Lezcano0b7a7bb2015-10-30 22:07:39 +0100104 bool "Meson6 timer driver" if COMPILE_TEST
Beniamino Galvani7b6b0a42014-11-18 16:41:20 +0100105 select CLKSRC_MMIO
Daniel Lezcano0b7a7bb2015-10-30 22:07:39 +0100106 help
107 Enables the support for the Meson6 timer driver.
Carlo Caionee4a6b372014-09-29 01:50:05 +0200108
Sebastian Hesselbarth0c1dcfd2013-06-11 08:38:50 +0200109config ORION_TIMER
Daniel Lezcanoc9165542015-10-30 22:28:31 +0100110 bool "Orion timer driver" if COMPILE_TEST
111 depends on ARM
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200112 select TIMER_OF
Sebastian Hesselbarth0c1dcfd2013-06-11 08:38:50 +0200113 select CLKSRC_MMIO
Daniel Lezcanoc9165542015-10-30 22:28:31 +0100114 help
115 Enables the support for the Orion timer driver
Sebastian Hesselbarth0c1dcfd2013-06-11 08:38:50 +0200116
Andreas Färber4be78a82017-02-23 19:27:12 +0100117config OWL_TIMER
118 bool "Owl timer driver" if COMPILE_TEST
Andreas Färber4be78a82017-02-23 19:27:12 +0100119 select CLKSRC_MMIO
120 help
121 Enables the support for the Actions Semi Owl timer driver.
122
Manivannan Sadhasivam7f83a132018-12-10 23:05:46 +0530123config RDA_TIMER
124 bool "RDA timer driver" if COMPILE_TEST
Manivannan Sadhasivam7f83a132018-12-10 23:05:46 +0530125 select CLKSRC_MMIO
126 select TIMER_OF
127 help
128 Enables the support for the RDA Micro timer driver.
129
Maxime Ripard119fd632013-03-24 11:49:25 +0100130config SUN4I_TIMER
Daniel Lezcanob4fcd482015-10-30 22:39:00 +0100131 bool "Sun4i timer driver" if COMPILE_TEST
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100132 depends on HAS_IOMEM
Maxime Ripard71c568c2013-10-14 21:07:46 +0200133 select CLKSRC_MMIO
Daniel Lezcano239751e2017-06-06 23:07:51 +0200134 select TIMER_OF
Daniel Lezcanob4fcd482015-10-30 22:39:00 +0100135 help
136 Enables support for the Sun4i timer.
Maxime Ripardb2ac5d72012-11-12 15:07:50 +0100137
Maxime Ripard67905542013-11-07 12:01:48 +0100138config SUN5I_HSTIMER
Daniel Lezcanof0c5afb2015-10-31 17:01:46 +0100139 bool "Sun5i timer driver" if COMPILE_TEST
Maxime Ripard67905542013-11-07 12:01:48 +0100140 select CLKSRC_MMIO
Daniel Lezcanof0c5afb2015-10-31 17:01:46 +0100141 depends on COMMON_CLK
142 help
143 Enables support the Sun5i timer.
Maxime Ripard67905542013-11-07 12:01:48 +0100144
Thierry Reding910978e72014-07-07 15:26:30 +0200145config TEGRA_TIMER
Daniel Lezcanoadce4bc2015-10-31 20:13:09 +0100146 bool "Tegra timer driver" if COMPILE_TEST
Arnd Bergmann2be6d9b2016-01-25 17:02:49 +0100147 select CLKSRC_MMIO
Joseph Lob4822dc2019-02-21 15:21:44 +0800148 select TIMER_OF
Dmitry Osipenkoacb4bb32019-06-03 21:59:46 +0300149 depends on ARCH_TEGRA || COMPILE_TEST
Daniel Lezcanoadce4bc2015-10-31 20:13:09 +0100150 help
151 Enables support for the Tegra driver.
Thierry Reding910978e72014-07-07 15:26:30 +0200152
Tony Priskff7ec342013-01-14 17:58:21 +1300153config VT8500_TIMER
Daniel Lezcanob4bdf7e2015-10-31 20:23:54 +0100154 bool "VT8500 timer driver" if COMPILE_TEST
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100155 depends on HAS_IOMEM
Daniel Lezcanob4bdf7e2015-10-31 20:23:54 +0100156 help
157 Enables support for the VT8500 driver.
Tony Priskff7ec342013-01-14 17:58:21 +1300158
Tomer Maimon1c002892018-03-08 17:24:58 +0200159config NPCM7XX_TIMER
160 bool "NPCM7xx timer driver" if COMPILE_TEST
161 depends on HAS_IOMEM
Arnd Bergmann99834ee2019-03-05 14:24:48 +0100162 select TIMER_OF
Tomer Maimon1c002892018-03-08 17:24:58 +0200163 select CLKSRC_MMIO
164 help
165 Enable 24-bit TIMER0 and TIMER1 counters in the NPCM7xx architecture,
Randy Dunlap06293462019-11-27 21:10:22 -0800166 where TIMER0 serves as clockevent and TIMER1 serves as clocksource.
Tomer Maimon1c002892018-03-08 17:24:58 +0200167
Michal Simek4f0f2342013-03-20 10:46:01 +0100168config CADENCE_TTC_TIMER
Daniel Lezcano57f49312015-10-31 21:39:03 +0100169 bool "Cadence TTC timer driver" if COMPILE_TEST
170 depends on COMMON_CLK
171 help
Randy Dunlap06293462019-11-27 21:10:22 -0800172 Enables support for the Cadence TTC driver.
Michal Simek4f0f2342013-03-20 10:46:01 +0100173
Daniel Lezcanoa8b1b9f2015-02-23 19:54:16 +0100174config ASM9260_TIMER
Daniel Lezcanob9755842015-10-31 21:41:23 +0100175 bool "ASM9260 timer driver" if COMPILE_TEST
Daniel Lezcanoa8b1b9f2015-02-23 19:54:16 +0100176 select CLKSRC_MMIO
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200177 select TIMER_OF
Daniel Lezcanob9755842015-10-31 21:41:23 +0100178 help
179 Enables support for the ASM9260 timer.
Daniel Lezcanoa8b1b9f2015-02-23 19:54:16 +0100180
Linus Walleij694e33a2012-10-18 14:01:25 +0200181config CLKSRC_NOMADIK_MTU
Daniel Lezcano70329652015-11-01 21:11:28 +0100182 bool "Nomakdik clocksource driver" if COMPILE_TEST
183 depends on ARM
Linus Walleij694e33a2012-10-18 14:01:25 +0200184 select CLKSRC_MMIO
185 help
186 Support for Multi Timer Unit. MTU provides access
187 to multiple interrupt generating programmable
188 32-bit free running decrementing counters.
189
Mattias Wallin489bcce2011-05-27 10:30:12 +0200190config CLKSRC_DBX500_PRCMU
Daniel Lezcano1becd6e2015-11-01 21:16:01 +0100191 bool "Clocksource PRCMU Timer" if COMPILE_TEST
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100192 depends on HAS_IOMEM
Mattias Wallin489bcce2011-05-27 10:30:12 +0200193 help
Randy Dunlap06293462019-11-27 21:10:22 -0800194 Use the always on PRCMU Timer as clocksource.
Mattias Wallin489bcce2011-05-27 10:30:12 +0200195
Daniel Lezcanoecf0efd2016-06-02 20:06:54 +0200196config CLPS711X_TIMER
Randy Dunlap06293462019-11-27 21:10:22 -0800197 bool "Cirrus Logic timer driver" if COMPILE_TEST
Daniel Lezcanoecf0efd2016-06-02 20:06:54 +0200198 select CLKSRC_MMIO
199 help
200 Enables support for the Cirrus Logic PS711 timer.
201
Daniel Lezcanob56d5d22016-06-03 13:11:39 +0200202config ATLAS7_TIMER
203 bool "Atlas7 timer driver" if COMPILE_TEST
Daniel Lezcanob56d5d22016-06-03 13:11:39 +0200204 select CLKSRC_MMIO
205 help
206 Enables support for the Atlas7 timer.
207
Daniel Lezcanod81c50a2016-06-03 13:36:18 +0200208config MXS_TIMER
Randy Dunlap06293462019-11-27 21:10:22 -0800209 bool "MXS timer driver" if COMPILE_TEST
Daniel Lezcanod81c50a2016-06-03 13:36:18 +0200210 select CLKSRC_MMIO
211 select STMP_DEVICE
212 help
Randy Dunlap06293462019-11-27 21:10:22 -0800213 Enables support for the MXS timer.
Daniel Lezcanod81c50a2016-06-03 13:36:18 +0200214
Daniel Lezcanof3550d42016-06-03 14:28:38 +0200215config PRIMA2_TIMER
216 bool "Prima2 timer driver" if COMPILE_TEST
Daniel Lezcanof3550d42016-06-03 14:28:38 +0200217 select CLKSRC_MMIO
218 help
219 Enables support for the Prima2 timer.
220
Daniel Lezcano85f98db2016-06-03 14:31:16 +0200221config U300_TIMER
222 bool "U300 timer driver" if COMPILE_TEST
Daniel Lezcano85f98db2016-06-03 14:31:16 +0200223 depends on ARM
224 select CLKSRC_MMIO
225 help
226 Enables support for the U300 timer.
227
Daniel Lezcanod683b9d2016-06-03 15:03:21 +0200228config NSPIRE_TIMER
229 bool "NSpire timer driver" if COMPILE_TEST
Daniel Lezcanod683b9d2016-06-03 15:03:21 +0200230 select CLKSRC_MMIO
231 help
232 Enables support for the Nspire timer.
233
Daniel Lezcanoc12547a2016-06-03 15:05:05 +0200234config KEYSTONE_TIMER
235 bool "Keystone timer driver" if COMPILE_TEST
Daniel Lezcanoc12547a2016-06-03 15:05:05 +0200236 depends on ARM || ARM64
237 select CLKSRC_MMIO
238 help
239 Enables support for the Keystone timer.
240
Daniel Lezcano568c0342016-06-03 15:11:21 +0200241config INTEGRATOR_AP_TIMER
Randy Dunlap06293462019-11-27 21:10:22 -0800242 bool "Integrator-AP timer driver" if COMPILE_TEST
Daniel Lezcano568c0342016-06-03 15:11:21 +0200243 select CLKSRC_MMIO
244 help
Randy Dunlap06293462019-11-27 21:10:22 -0800245 Enables support for the Integrator-AP timer.
Daniel Lezcano568c0342016-06-03 15:11:21 +0200246
Uwe Kleine-König9c9b7812013-10-03 21:56:29 +0200247config CLKSRC_EFM32
248 bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32
249 depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST)
Axel Lin09ca2752013-11-20 10:15:11 +0800250 select CLKSRC_MMIO
Uwe Kleine-König9c9b7812013-10-03 21:56:29 +0200251 default ARCH_EFM32
252 help
253 Support to use the timers of EFM32 SoCs as clock source and clock
254 event device.
255
Joachim Eastwood050dd322015-05-12 00:00:48 +0200256config CLKSRC_LPC32XX
Daniel Lezcanoddcf48c2015-10-31 21:44:52 +0100257 bool "Clocksource for LPC32XX" if COMPILE_TEST
Arnd Bergmann2f8a26c2017-09-05 17:04:56 +0200258 depends on HAS_IOMEM
Ezequiel Garcia1b18fd22016-02-09 22:54:27 -0300259 depends on ARM
Joachim Eastwood050dd322015-05-12 00:00:48 +0200260 select CLKSRC_MMIO
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200261 select TIMER_OF
Daniel Lezcanoddcf48c2015-10-31 21:44:52 +0100262 help
263 Support for the LPC32XX clocksource.
Joachim Eastwood050dd322015-05-12 00:00:48 +0200264
Ezequiel Garcia84583982015-08-07 16:39:31 +0100265config CLKSRC_PISTACHIO
Daniel Lezcanodfdb1652015-10-30 17:28:13 +0100266 bool "Clocksource for Pistachio SoC" if COMPILE_TEST
Arnd Bergmann2f8a26c2017-09-05 17:04:56 +0200267 depends on HAS_IOMEM
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200268 select TIMER_OF
Daniel Lezcanodfdb1652015-10-30 17:28:13 +0100269 help
270 Enables the clocksource for the Pistachio SoC.
Ezequiel Garcia84583982015-08-07 16:39:31 +0100271
Felipe Balbife851f52015-09-29 13:55:33 -0500272config CLKSRC_TI_32K
273 bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST
Felipe Balbidfedaf12015-10-16 16:10:05 -0500274 depends on GENERIC_SCHED_CLOCK
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200275 select TIMER_OF if OF
Felipe Balbife851f52015-09-29 13:55:33 -0500276 help
277 This option enables support for Texas Instruments 32.768 Hz clocksource
278 available on many OMAP-like platforms.
279
Noam Camusa5322452015-10-17 22:37:30 +0300280config CLKSRC_NPS
281 bool "NPS400 clocksource driver" if COMPILE_TEST
282 depends on !PHYS_ADDR_T_64BIT
283 select CLKSRC_MMIO
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200284 select TIMER_OF if OF
Noam Camusa5322452015-10-17 22:37:30 +0300285 help
286 NPS400 clocksource support.
Randy Dunlap06293462019-11-27 21:10:22 -0800287 It has a 64-bit counter with update rate up to 1000MHz.
288 This counter is accessed via couple of 32-bit memory-mapped registers.
Noam Camusa5322452015-10-17 22:37:30 +0300289
Maxime Coqueline37e4592015-05-22 23:03:33 +0200290config CLKSRC_STM32
Paul Gortmaker1cb6c212015-06-20 19:02:32 -0400291 bool "Clocksource for STM32 SoCs" if !ARCH_STM32
292 depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST)
Maxime Coqueline37e4592015-05-22 23:03:33 +0200293 select CLKSRC_MMIO
Benjamin Gaignardd04af492018-01-08 14:28:51 +0100294 select TIMER_OF
Maxime Coqueline37e4592015-05-22 23:03:33 +0200295
Benjamin Gaignard48b41c52020-06-03 14:54:38 +0200296config CLKSRC_STM32_LP
297 bool "Low power clocksource for STM32 SoCs"
298 depends on MFD_STM32_LPTIMER || COMPILE_TEST
299
Vladimir Murzin03026372016-04-25 09:45:44 +0100300config CLKSRC_MPS2
301 bool "Clocksource for MPS2 SoCs" if COMPILE_TEST
302 depends on GENERIC_SCHED_CLOCK
303 select CLKSRC_MMIO
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200304 select TIMER_OF
Vladimir Murzin03026372016-04-25 09:45:44 +0100305
Vineet Guptac4c9a042016-10-31 13:46:38 -0700306config ARC_TIMERS
307 bool "Support for 32-bit TIMERn counters in ARC Cores" if COMPILE_TEST
Alexey Brodkinbf287602018-11-19 14:29:17 +0300308 depends on GENERIC_SCHED_CLOCK
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200309 select TIMER_OF
Vineet Guptac4c9a042016-10-31 13:46:38 -0700310 help
311 These are legacy 32-bit TIMER0 and TIMER1 counters found on all ARC cores
312 (ARC700 as well as ARC HS38).
Randy Dunlap06293462019-11-27 21:10:22 -0800313 TIMER0 serves as clockevent while TIMER1 provides clocksource.
Vineet Guptac4c9a042016-10-31 13:46:38 -0700314
315config ARC_TIMERS_64BIT
316 bool "Support for 64-bit counters in ARC HS38 cores" if COMPILE_TEST
Vineet Guptac4c9a042016-10-31 13:46:38 -0700317 depends on ARC_TIMERS
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200318 select TIMER_OF
Vineet Guptac4c9a042016-10-31 13:46:38 -0700319 help
Randy Dunlap06293462019-11-27 21:10:22 -0800320 This enables 2 different 64-bit timers: RTC (for UP) and GFRC (for SMP).
Vineet Guptac4c9a042016-10-31 13:46:38 -0700321 RTC is implemented inside the core, while GFRC sits outside the core in
322 ARConnect IP block. Driver automatically picks one of them for clocksource
323 as appropriate.
324
Mark Rutland8a4da6e2012-11-12 14:33:44 +0000325config ARM_ARCH_TIMER
326 bool
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200327 select TIMER_OF if OF
Daniel Lezcanofa1bffa2017-05-26 19:40:24 +0200328 select TIMER_ACPI if ACPI
James Hogana2c5d4e2012-10-09 10:54:39 +0100329
Will Deacon037f6372013-08-23 15:32:29 +0100330config ARM_ARCH_TIMER_EVTSTREAM
Will Deacon46fd5c62016-06-27 17:30:13 +0100331 bool "Enable ARM architected timer event stream generation by default"
Will Deacon037f6372013-08-23 15:32:29 +0100332 default y if ARM_ARCH_TIMER
Stephen Boyd77f7ce92013-11-20 12:02:03 -0800333 depends on ARM_ARCH_TIMER
Will Deacon037f6372013-08-23 15:32:29 +0100334 help
Will Deacon46fd5c62016-06-27 17:30:13 +0100335 This option enables support by default for event stream generation
336 based on the ARM architected timer. It is used for waking up CPUs
337 executing the wfe instruction at a frequency represented as a
338 power-of-2 divisor of the clock rate. The behaviour can also be
339 overridden on the command line using the
340 clocksource.arm_arch_timer.evtstream parameter.
Will Deacon037f6372013-08-23 15:32:29 +0100341 The main use of the event stream is wfe-based timeouts of userspace
342 locking implementations. It might also be useful for imposing timeout
343 on wfe to safeguard against any programming errors in case an expected
344 event is not generated.
345 This must be disabled for hardware validation purposes to detect any
346 hardware anomalies of missing events.
347
Ding Tianhong16d10ef2017-02-06 16:47:41 +0000348config ARM_ARCH_TIMER_OOL_WORKAROUND
349 bool
350
Scott Woodf6dc1572016-09-22 03:35:17 -0500351config FSL_ERRATUM_A008585
352 bool "Workaround for Freescale/NXP Erratum A-008585"
353 default y
354 depends on ARM_ARCH_TIMER && ARM64
Ding Tianhong16d10ef2017-02-06 16:47:41 +0000355 select ARM_ARCH_TIMER_OOL_WORKAROUND
Scott Woodf6dc1572016-09-22 03:35:17 -0500356 help
357 This option enables a workaround for Freescale/NXP Erratum
358 A-008585 ("ARM generic timer may contain an erroneous
359 value"). The workaround will only be active if the
360 fsl,erratum-a008585 property is found in the timer node.
361
Ding Tianhongbb42ca42017-02-06 16:47:42 +0000362config HISILICON_ERRATUM_161010101
363 bool "Workaround for Hisilicon Erratum 161010101"
364 default y
365 select ARM_ARCH_TIMER_OOL_WORKAROUND
366 depends on ARM_ARCH_TIMER && ARM64
367 help
368 This option enables a workaround for Hisilicon Erratum
369 161010101. The workaround will be active if the hisilicon,erratum-161010101
370 property is found in the timer node.
371
Marc Zyngierfa8d8152017-01-27 12:52:31 +0000372config ARM64_ERRATUM_858921
373 bool "Workaround for Cortex-A73 erratum 858921"
374 default y
375 select ARM_ARCH_TIMER_OOL_WORKAROUND
376 depends on ARM_ARCH_TIMER && ARM64
377 help
378 This option enables a workaround applicable to Cortex-A73
379 (all versions), whose counter may return incorrect values.
380 The workaround will be dynamically enabled when an affected
381 core is detected.
382
Samuel Hollandc950ca82019-01-12 20:17:18 -0600383config SUN50I_ERRATUM_UNKNOWN1
384 bool "Workaround for Allwinner A64 erratum UNKNOWN1"
385 default y
386 depends on ARM_ARCH_TIMER && ARM64 && ARCH_SUNXI
387 select ARM_ARCH_TIMER_OOL_WORKAROUND
388 help
389 This option enables a workaround for instability in the timer on
390 the Allwinner A64 SoC. The workaround will only be active if the
391 allwinner,erratum-unknown1 property is found in the timer node.
392
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100393config ARM_GLOBAL_TIMER
Daniel Lezcano67a87a42016-06-06 14:34:28 +0200394 bool "Support for the ARM global timer" if COMPILE_TEST
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200395 select TIMER_OF if OF
Daniel Lezcano67a87a42016-06-06 14:34:28 +0200396 depends on ARM
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100397 help
Randy Dunlap06293462019-11-27 21:10:22 -0800398 This option enables support for the ARM global timer unit.
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100399
Sudeep Holla0b7402d2015-05-18 16:29:40 +0100400config ARM_TIMER_SP804
David Abdurachmanovdfc82fa2019-04-08 10:07:45 +0200401 bool "Support for Dual Timer SP804 module" if COMPILE_TEST
Guenter Roeck002af192015-06-23 20:49:05 -0700402 depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP
Sudeep Holla0b7402d2015-05-18 16:29:40 +0100403 select CLKSRC_MMIO
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200404 select TIMER_OF if OF
Sudeep Holla0b7402d2015-05-18 16:29:40 +0100405
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100406config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
407 bool
408 depends on ARM_GLOBAL_TIMER
409 default y
410 help
Randy Dunlap06293462019-11-27 21:10:22 -0800411 Use ARM global timer clock source as sched_clock.
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100412
Maxime Coquelin4958ebb2015-05-09 09:53:46 +0200413config ARMV7M_SYSTICK
Daniel Lezcanoe2146d82016-06-02 18:41:52 +0200414 bool "Support for the ARMv7M system time" if COMPILE_TEST
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200415 select TIMER_OF if OF
Maxime Coquelin4958ebb2015-05-09 09:53:46 +0200416 select CLKSRC_MMIO
417 help
Randy Dunlap06293462019-11-27 21:10:22 -0800418 This option enables support for the ARMv7M system timer unit.
Maxime Coquelin4958ebb2015-05-09 09:53:46 +0200419
Maxime Ripardb052ff32014-09-02 18:12:35 +0200420config ATMEL_PIT
Alexandre Belloni2f982702019-04-26 23:47:15 +0200421 bool "Atmel PIT support" if COMPILE_TEST
422 depends on HAS_IOMEM
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200423 select TIMER_OF if OF
Alexandre Belloni2f982702019-04-26 23:47:15 +0200424 help
425 Support for the Periodic Interval Timer found on Atmel SoCs.
Maxime Ripardb052ff32014-09-02 18:12:35 +0200426
Alexandre Bellonib53cdd02015-03-12 13:07:31 +0100427config ATMEL_ST
Daniel Lezcanob988d3f2016-06-06 19:08:39 +0200428 bool "Atmel ST timer support" if COMPILE_TEST
Masahiro Yamadabd2746f2018-03-06 20:20:33 +0900429 depends on HAS_IOMEM
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200430 select TIMER_OF
Alexandre Belloni7ab7ef72015-03-19 14:17:48 +0100431 select MFD_SYSCON
Daniel Lezcanob988d3f2016-06-06 19:08:39 +0200432 help
433 Support for the Atmel ST timer.
Alexandre Bellonib53cdd02015-03-12 13:07:31 +0100434
Alexandre Belloni6275f492019-04-26 23:47:14 +0200435config ATMEL_TCB_CLKSRC
436 bool "Atmel TC Block timer driver" if COMPILE_TEST
Alexandre Belloni1ce861c2019-08-13 15:30:50 +0200437 depends on ARM && HAS_IOMEM
Alexandre Belloni6275f492019-04-26 23:47:14 +0200438 select TIMER_OF if OF
439 help
440 Support for Timer Counter Blocks on Atmel SoCs.
441
Thomas Abraham6938d75a2013-03-09 16:16:13 +0900442config CLKSRC_EXYNOS_MCT
Daniel Lezcano39366ef2015-11-01 21:51:30 +0100443 bool "Exynos multi core timer driver" if COMPILE_TEST
Chanwoo Choif1a4c1f2016-08-24 22:49:05 +0900444 depends on ARM || ARM64
Thomas Abraham6938d75a2013-03-09 16:16:13 +0900445 help
446 Support for Multi Core Timer controller on Exynos SoCs.
Arnd Bergmann241a9872013-05-06 23:49:09 +0200447
Tomasz Figaf1189982013-04-20 23:22:13 +0200448config CLKSRC_SAMSUNG_PWM
Alexandre Bellonide37b0b2016-06-16 15:53:18 +0200449 bool "PWM timer driver for Samsung S3C, S5P" if COMPILE_TEST
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100450 depends on HAS_IOMEM
Tomasz Figaf1189982013-04-20 23:22:13 +0200451 help
452 This is a new clocksource driver for the PWM timer found in
453 Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
454 for all devicetree enabled platforms. This driver will be
455 needed only on systems that do not have the Exynos MCT available.
Jingchang Luc1967242013-05-29 10:12:17 +0200456
Xiubo Li2529c3a2014-05-23 10:12:04 +0200457config FSL_FTM_TIMER
Daniel Lezcanoef493362015-11-02 09:51:02 +0100458 bool "Freescale FlexTimer Module driver" if COMPILE_TEST
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100459 depends on HAS_IOMEM
Daniel Lezcano03724ac2016-01-08 14:21:31 +0100460 select CLKSRC_MMIO
Xiubo Li2529c3a2014-05-23 10:12:04 +0200461 help
462 Support for Freescale FlexTimer Module (FTM) timer.
463
Jingchang Luc1967242013-05-29 10:12:17 +0200464config VF_PIT_TIMER
465 bool
Arnd Bergmann2be6d9b2016-01-25 17:02:49 +0100466 select CLKSRC_MMIO
Jingchang Luc1967242013-05-29 10:12:17 +0200467 help
Randy Dunlap06293462019-11-27 21:10:22 -0800468 Support for Periodic Interrupt Timer on Freescale Vybrid Family SoCs.
Magnus Dammfd3f1272014-02-20 12:54:45 +0100469
Neil Armstrong89355272016-06-15 12:13:26 +0200470config OXNAS_RPS_TIMER
471 bool "Oxford Semiconductor OXNAS RPS Timers driver" if COMPILE_TEST
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200472 select TIMER_OF
Neil Armstrong89355272016-06-15 12:13:26 +0200473 select CLKSRC_MMIO
474 help
475 This enables support for the Oxford Semiconductor OXNAS RPS timers.
476
Magnus Dammfd3f1272014-02-20 12:54:45 +0100477config SYS_SUPPORTS_SH_CMT
Krzysztof Kozlowski9ca9fe62019-11-20 21:42:36 +0800478 bool
Magnus Dammfd3f1272014-02-20 12:54:45 +0100479
Matthias Bruggerecb35302014-07-18 11:36:43 +0200480config MTK_TIMER
Daniel Lezcanofbca9ea2015-10-30 17:53:27 +0100481 bool "Mediatek timer driver" if COMPILE_TEST
Arnd Bergmann2f8a26c2017-09-05 17:04:56 +0200482 depends on HAS_IOMEM
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200483 select TIMER_OF
Matthias Bruggerecb35302014-07-18 11:36:43 +0200484 select CLKSRC_MMIO
Daniel Lezcanofbca9ea2015-10-30 17:53:27 +0100485 help
486 Support for Mediatek timer driver.
Matthias Bruggerecb35302014-07-18 11:36:43 +0200487
Baolin Wang067bc912018-01-08 14:28:47 +0100488config SPRD_TIMER
Chunyan Zhang8a1ece22018-05-07 17:04:47 +0800489 bool "Spreadtrum timer driver" if EXPERT
Baolin Wang067bc912018-01-08 14:28:47 +0100490 depends on HAS_IOMEM
Chunyan Zhang8a1ece22018-05-07 17:04:47 +0800491 depends on (ARCH_SPRD || COMPILE_TEST)
492 default ARCH_SPRD
Baolin Wang067bc912018-01-08 14:28:47 +0100493 select TIMER_OF
494 help
495 Enables support for the Spreadtrum timer driver.
496
Magnus Dammfd3f1272014-02-20 12:54:45 +0100497config SYS_SUPPORTS_SH_MTU2
Krzysztof Kozlowski9ca9fe62019-11-20 21:42:36 +0800498 bool
Magnus Dammfd3f1272014-02-20 12:54:45 +0100499
500config SYS_SUPPORTS_SH_TMU
Krzysztof Kozlowski9ca9fe62019-11-20 21:42:36 +0800501 bool
Magnus Dammfd3f1272014-02-20 12:54:45 +0100502
503config SYS_SUPPORTS_EM_STI
Krzysztof Kozlowski9ca9fe62019-11-20 21:42:36 +0800504 bool
Magnus Dammfd3f1272014-02-20 12:54:45 +0100505
Rich Felker9995f4f2016-10-13 21:51:06 +0000506config CLKSRC_JCORE_PIT
507 bool "J-Core PIT timer driver" if COMPILE_TEST
508 depends on OF
Rich Felker9995f4f2016-10-13 21:51:06 +0000509 depends on HAS_IOMEM
510 select CLKSRC_MMIO
511 help
512 This enables build of clocksource and clockevent driver for
513 the integrated PIT in the J-Core synthesizable, open source SoC.
514
Magnus Dammfd3f1272014-02-20 12:54:45 +0100515config SH_TIMER_CMT
516 bool "Renesas CMT timer driver" if COMPILE_TEST
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100517 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100518 default SYS_SUPPORTS_SH_CMT
519 help
520 This enables build of a clocksource and clockevent driver for
521 the Compare Match Timer (CMT) hardware available in 16/32/48-bit
522 variants on a wide range of Mobile and Automotive SoCs from Renesas.
523
524config SH_TIMER_MTU2
525 bool "Renesas MTU2 timer driver" if COMPILE_TEST
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100526 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100527 default SYS_SUPPORTS_SH_MTU2
528 help
529 This enables build of a clockevent driver for the Multi-Function
Kuninori Morimoto7e139182014-07-18 11:36:36 +0200530 Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
Randy Dunlap06293462019-11-27 21:10:22 -0800531 This hardware comes with 16-bit timer registers.
Magnus Dammfd3f1272014-02-20 12:54:45 +0100532
Chris Brandtfb6002a2017-01-27 15:02:15 -0500533config RENESAS_OSTM
534 bool "Renesas OSTM timer driver" if COMPILE_TEST
Chris Brandtfb6002a2017-01-27 15:02:15 -0500535 select CLKSRC_MMIO
Geert Uytterhoeven22731422019-10-16 16:47:46 +0200536 select TIMER_OF
Chris Brandtfb6002a2017-01-27 15:02:15 -0500537 help
538 Enables the support for the Renesas OSTM.
539
Magnus Dammfd3f1272014-02-20 12:54:45 +0100540config SH_TIMER_TMU
541 bool "Renesas TMU timer driver" if COMPILE_TEST
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100542 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100543 default SYS_SUPPORTS_SH_TMU
544 help
545 This enables build of a clocksource and clockevent driver for
546 the 32-bit Timer Unit (TMU) hardware available on a wide range
547 SoCs from Renesas.
548
549config EM_TIMER_STI
550 bool "Renesas STI timer driver" if COMPILE_TEST
Arnd Bergmann2f8a26c2017-09-05 17:04:56 +0200551 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100552 default SYS_SUPPORTS_EM_STI
553 help
554 This enables build of a clocksource and clockevent driver for
555 the 48-bit System Timer (STI) hardware available on a SoCs
556 such as EMEV2 from former NEC Electronics.
Linus Torvaldsdfc25e42014-04-05 13:51:19 -0700557
Kumar Gala3f8e8ce2014-01-29 16:17:30 -0600558config CLKSRC_QCOM
Daniel Lezcano3dc0e9f2015-10-09 11:10:43 +0200559 bool "Qualcomm MSM timer" if COMPILE_TEST
560 depends on ARM
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200561 select TIMER_OF
Daniel Lezcano3dc0e9f2015-10-09 11:10:43 +0200562 help
563 This enables the clocksource and the per CPU clockevent driver for the
564 Qualcomm SoCs.
Pawel Moll220e2a82014-04-16 18:22:59 +0100565
566config CLKSRC_VERSATILE
Daniel Lezcano5cc87a42016-06-07 11:05:01 +0200567 bool "ARM Versatile (Express) reference platforms clock source" if COMPILE_TEST
568 depends on GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200569 select TIMER_OF
Rob Herringbfed0ed2020-04-17 16:20:45 -0500570 default y if (ARCH_VEXPRESS || ARCH_VERSATILE) && ARM
Pawel Moll220e2a82014-04-16 18:22:59 +0100571 help
572 This option enables clock source based on free running
573 counter available in the "System Registers" block of
Rob Herringbfed0ed2020-04-17 16:20:45 -0500574 ARM Versatile and Versatile Express reference platforms.
Jean Delvare58394272014-06-16 11:48:45 +0200575
Andrew Brestickerfa5635a2014-10-20 12:03:58 -0700576config CLKSRC_MIPS_GIC
577 bool
578 depends on MIPS_GIC
Serge Semin7d7de1a2020-05-21 23:48:17 +0300579 select CLOCKSOURCE_WATCHDOG
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200580 select TIMER_OF
Andrew Brestickerfa5635a2014-10-20 12:03:58 -0700581
Marc Gonzalezccd63ce2015-10-09 16:59:18 +0200582config CLKSRC_TANGO_XTAL
Daniel Lezcano5a7351f2015-10-29 20:54:19 +0100583 bool "Clocksource for Tango SoC" if COMPILE_TEST
584 depends on ARM
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200585 select TIMER_OF
Daniel Lezcano08818412015-11-13 10:44:38 +0100586 select CLKSRC_MMIO
Daniel Lezcano5a7351f2015-10-29 20:54:19 +0100587 help
Randy Dunlap06293462019-11-27 21:10:22 -0800588 This enables the clocksource for Tango SoC.
Marc Gonzalezccd63ce2015-10-09 16:59:18 +0200589
Dmitry Eremin-Solenikove074ff82014-12-21 16:07:09 +0100590config CLKSRC_PXA
Daniel Lezcano5ae996c2015-10-09 17:47:32 +0200591 bool "Clocksource for PXA or SA-11x0 platform" if COMPILE_TEST
Richard Weinbergerd7023e622016-01-25 23:24:19 +0100592 depends on HAS_IOMEM
Daniel Lezcano5ae996c2015-10-09 17:47:32 +0200593 select CLKSRC_MMIO
Dmitry Eremin-Solenikove074ff82014-12-21 16:07:09 +0100594 help
595 This enables OST0 support available on PXA and SA-11x0
596 platforms.
Yoshinori Sato618b9022015-01-28 02:52:42 +0900597
Daniel Lezcano97a23be2015-11-09 14:43:52 +0100598config H8300_TMR8
Krzysztof Kozlowski9ca9fe62019-11-20 21:42:36 +0800599 bool "Clockevent timer for the H8300 platform" if COMPILE_TEST
600 depends on HAS_IOMEM
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100601 help
602 This enables the 8 bits timer for the H8300 platform.
Daniel Lezcano97a23be2015-11-09 14:43:52 +0100603
Yoshinori Sato618b9022015-01-28 02:52:42 +0900604config H8300_TMR16
Krzysztof Kozlowski9ca9fe62019-11-20 21:42:36 +0800605 bool "Clockevent timer for the H83069 platform" if COMPILE_TEST
606 depends on HAS_IOMEM
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100607 help
608 This enables the 16 bits timer for the H8300 platform with the
Randy Dunlap06293462019-11-27 21:10:22 -0800609 H83069 CPU.
Yoshinori Sato618b9022015-01-28 02:52:42 +0900610
611config H8300_TPU
Krzysztof Kozlowski9ca9fe62019-11-20 21:42:36 +0800612 bool "Clocksource for the H8300 platform" if COMPILE_TEST
613 depends on HAS_IOMEM
Daniel Lezcano46e7c3c2015-11-09 15:18:08 +0100614 help
615 This enables the clocksource for the H8300 platform with the
Randy Dunlap06293462019-11-27 21:10:22 -0800616 H8S2678 CPU.
Yoshinori Sato618b9022015-01-28 02:52:42 +0900617
Shawn Guobea5af42015-05-15 15:41:00 +0800618config CLKSRC_IMX_GPT
619 bool "Clocksource using i.MX GPT" if COMPILE_TEST
Anson Huangdf181e32018-11-05 01:10:27 +0000620 depends on (ARM || ARM64) && CLKDEV_LOOKUP
Shawn Guobea5af42015-05-15 15:41:00 +0800621 select CLKSRC_MMIO
622
Dong Aisheng059ab7b2017-08-01 16:40:17 +0800623config CLKSRC_IMX_TPM
624 bool "Clocksource using i.MX TPM" if COMPILE_TEST
Anson Huanga6d08122020-07-08 11:16:07 +0800625 depends on (ARM || ARM64) && CLKDEV_LOOKUP
Dong Aisheng059ab7b2017-08-01 16:40:17 +0800626 select CLKSRC_MMIO
Anson Huanga6d08122020-07-08 11:16:07 +0800627 select TIMER_OF
Dong Aisheng059ab7b2017-08-01 16:40:17 +0800628 help
629 Enable this option to use IMX Timer/PWM Module (TPM) timer as
630 clocksource.
631
Bai Ping7117a442019-06-05 06:40:52 +0000632config TIMER_IMX_SYS_CTR
633 bool "i.MX system counter timer" if COMPILE_TEST
634 select TIMER_OF
635 help
636 Enable this option to use i.MX system counter timer as a
637 clockevent.
638
Lee Jones70bef012015-05-26 13:39:43 +0100639config CLKSRC_ST_LPC
Daniel Lezcanobaacaf82015-10-09 15:36:28 +0200640 bool "Low power clocksource found in the LPC" if COMPILE_TEST
Daniel Lezcanobb0eb052017-05-26 19:34:11 +0200641 select TIMER_OF if OF
Richard Weinberger863ee052016-01-02 23:06:36 +0100642 depends on HAS_IOMEM
Arnd Bergmann2be6d9b2016-01-25 17:02:49 +0100643 select CLKSRC_MMIO
Lee Jones70bef012015-05-26 13:39:43 +0100644 help
645 Enable this option to use the Low Power controller timer
646 as clocksource.
647
Rick Chen35dbb742017-12-11 15:53:15 +0800648config ATCPIT100_TIMER
649 bool "ATCPIT100 timer driver"
650 depends on NDS32 || COMPILE_TEST
651 depends on HAS_IOMEM
652 select TIMER_OF
653 default NDS32
654 help
655 This option enables support for the Andestech ATCPIT100 timers.
656
Palmer Dabbelt62b01942018-08-04 10:23:19 +0200657config RISCV_TIMER
Anup Patel2bc3fc82020-08-17 18:12:50 +0530658 bool "Timer for the RISC-V platform" if COMPILE_TEST
Kefeng Wang16cf69c2020-10-28 21:12:30 +0800659 depends on GENERIC_SCHED_CLOCK && RISCV && RISCV_SBI
Palmer Dabbelt62b01942018-08-04 10:23:19 +0200660 select TIMER_PROBE
661 select TIMER_OF
662 help
663 This enables the per-hart timer built into all RISC-V systems, which
664 is accessed via both the SBI and the rdcycle instruction. This is
665 required for all RISC-V systems.
666
Anup Patel2ac67952020-08-17 18:12:49 +0530667config CLINT_TIMER
668 bool "CLINT Timer for the RISC-V platform" if COMPILE_TEST
669 depends on GENERIC_SCHED_CLOCK && RISCV
670 select TIMER_PROBE
671 select TIMER_OF
672 help
673 This option enables the CLINT timer for RISC-V systems. The CLINT
674 driver is usually used for NoMMU RISC-V systems.
675
Guo Rena7ad38b2018-11-03 00:51:28 +0800676config CSKY_MP_TIMER
677 bool "SMP Timer for the C-SKY platform" if COMPILE_TEST
678 depends on CSKY
679 select TIMER_OF
680 help
681 Say yes here to enable C-SKY SMP timer driver used for C-SKY SMP
682 system.
Randy Dunlap06293462019-11-27 21:10:22 -0800683 csky,mptimer is not only used in SMP system, it also could be used in
684 single core system. It's not a mmio reg and it uses mtcr/mfcr instruction.
Guo Rena7ad38b2018-11-03 00:51:28 +0800685
Guo Ren33745c32018-11-03 00:51:30 +0800686config GX6605S_TIMER
687 bool "Gx6605s SOC system timer driver" if COMPILE_TEST
688 depends on CSKY
689 select CLKSRC_MMIO
690 select TIMER_OF
691 help
692 This option enables support for gx6605s SOC's timer.
693
Sugaya Taichib58f28f2019-02-27 13:53:20 +0900694config MILBEAUT_TIMER
695 bool "Milbeaut timer driver" if COMPILE_TEST
696 depends on OF
697 depends on ARM
698 select TIMER_OF
699 select CLKSRC_MMIO
700 help
701 Enables the support for Milbeaut timer driver.
702
Paul Cercueil34e93682019-07-24 13:16:09 -0400703config INGENIC_TIMER
704 bool "Clocksource/timer using the TCU in Ingenic JZ SoCs"
705 default MACH_INGENIC
706 depends on MIPS || COMPILE_TEST
707 depends on COMMON_CLK
708 select MFD_SYSCON
709 select TIMER_OF
710 select IRQ_DOMAIN
711 help
712 Support for the timer/counter unit of the Ingenic JZ SoCs.
713
周琰杰 (Zhou Yanjie)5ecafc12020-07-23 01:18:04 +0800714config INGENIC_SYSOST
715 bool "Clocksource/timer using the SYSOST in Ingenic X SoCs"
716 depends on MIPS || COMPILE_TEST
717 depends on COMMON_CLK
718 select MFD_SYSCON
719 select TIMER_OF
720 select IRQ_DOMAIN
721 help
722 Support for the SYSOST of the Ingenic X Series SoCs.
723
Maarten ter Huurneca7b72b2020-02-12 15:04:08 -0300724config INGENIC_OST
周琰杰 (Zhou Yanjie)5ecafc12020-07-23 01:18:04 +0800725 bool "Clocksource using the OST in Ingenic JZ SoCs"
Maarten ter Huurneca7b72b2020-02-12 15:04:08 -0300726 depends on MIPS || COMPILE_TEST
727 depends on COMMON_CLK
728 select MFD_SYSCON
729 help
730 Support for the Operating System Timer of the Ingenic JZ SoCs.
731
Claudiu Beznea625022a2019-12-13 13:19:21 +0200732config MICROCHIP_PIT64B
733 bool "Microchip PIT64B support"
734 depends on OF || COMPILE_TEST
735 select CLKSRC_MMIO
Michael Ellerman25259f72020-04-26 22:43:56 +1000736 select TIMER_OF
Claudiu Beznea625022a2019-12-13 13:19:21 +0200737 help
738 This option enables Microchip PIT64B timer for Atmel
739 based system. It supports the oneshot, the periodic
740 modes and high resolution. It is used as a clocksource
741 and a clockevent.
742
Jean Delvare58394272014-06-16 11:48:45 +0200743endmenu