xref: /openbmc/linux/drivers/clocksource/Kconfig (revision 4be78a86)
158394271SJean Delvaremenu "Clock Source drivers"
23da6d49eSArnd Bergmann	depends on !ARCH_USES_GETTIMEOFFSET
358394271SJean Delvare
4ae278a93SStephen Warrenconfig CLKSRC_OF
5ae278a93SStephen Warren	bool
6aad83b15SMarc Zyngier	select CLKSRC_PROBE
7aad83b15SMarc Zyngier
8376bc271SDaniel Lezcanoconfig CLKEVT_OF
9376bc271SDaniel Lezcano	bool
10376bc271SDaniel Lezcano	select CLKEVT_PROBE
11376bc271SDaniel Lezcano
12aad83b15SMarc Zyngierconfig CLKSRC_ACPI
13aad83b15SMarc Zyngier	bool
14aad83b15SMarc Zyngier	select CLKSRC_PROBE
15aad83b15SMarc Zyngier
16aad83b15SMarc Zyngierconfig CLKSRC_PROBE
17aad83b15SMarc Zyngier	bool
18ae278a93SStephen Warren
19376bc271SDaniel Lezcanoconfig CLKEVT_PROBE
20376bc271SDaniel Lezcano	bool
21376bc271SDaniel Lezcano
2289c0b8e2SRussell Kingconfig CLKSRC_I8253
2389c0b8e2SRussell King	bool
24442c8176SRussell King
25e6220bdcSThomas Gleixnerconfig CLKEVT_I8253
26e6220bdcSThomas Gleixner	bool
27e6220bdcSThomas Gleixner
2815f304b6SRalf Baechleconfig I8253_LOCK
2915f304b6SRalf Baechle	bool
3015f304b6SRalf Baechle
3115f304b6SRalf Baechleconfig CLKBLD_I8253
32e6220bdcSThomas Gleixner	def_bool y if CLKSRC_I8253 || CLKEVT_I8253 || I8253_LOCK
3315f304b6SRalf Baechle
34442c8176SRussell Kingconfig CLKSRC_MMIO
35442c8176SRussell King	bool
3606c3df49SJamie Iles
372ea879a7SDaniel Lezcanoconfig BCM2835_TIMER
382ea879a7SDaniel Lezcano	bool "BCM2835 timer driver" if COMPILE_TEST
392ea879a7SDaniel Lezcano	depends on GENERIC_CLOCKEVENTS
402ea879a7SDaniel Lezcano	select CLKSRC_MMIO
412ea879a7SDaniel Lezcano	help
422ea879a7SDaniel Lezcano	  Enables the support for the BCM2835 timer driver.
432ea879a7SDaniel Lezcano
441cad71e3SDaniel Lezcanoconfig BCM_KONA_TIMER
451cad71e3SDaniel Lezcano	bool "BCM mobile timer driver" if COMPILE_TEST
461cad71e3SDaniel Lezcano	depends on GENERIC_CLOCKEVENTS
471cad71e3SDaniel Lezcano	select CLKSRC_MMIO
481cad71e3SDaniel Lezcano	help
491cad71e3SDaniel Lezcano	  Enables the support for the BCM Kona mobile timer driver.
501cad71e3SDaniel Lezcano
519b8bb773SBaruch Siachconfig DIGICOLOR_TIMER
52e6c1db13SDaniel Lezcano	bool "Digicolor timer driver" if COMPILE_TEST
530901f184SDaniel Lezcano	depends on GENERIC_CLOCKEVENTS
542be6d9bfSArnd Bergmann	select CLKSRC_MMIO
55d7023e62SRichard Weinberger	depends on HAS_IOMEM
56e6c1db13SDaniel Lezcano	help
57e6c1db13SDaniel Lezcano	  Enables the support for the digicolor timer driver.
589b8bb773SBaruch Siach
5906c3df49SJamie Ilesconfig DW_APB_TIMER
605b097f6bSDaniel Lezcano	bool "DW APB timer driver" if COMPILE_TEST
610901f184SDaniel Lezcano	depends on GENERIC_CLOCKEVENTS
625b097f6bSDaniel Lezcano	help
635b097f6bSDaniel Lezcano	  Enables the support for the dw_apb timer.
64489bcceaSMattias Wallin
65cfda5901SDinh Nguyenconfig DW_APB_TIMER_OF
66cfda5901SDinh Nguyen	bool
671b4eca0fSHeiko Stuebner	select DW_APB_TIMER
6810021488SHeiko Stuebner	select CLKSRC_OF
69cfda5901SDinh Nguyen
70f5bf0ee4SLinus Walleijconfig FTTMR010_TIMER
71f5bf0ee4SLinus Walleij	bool "Faraday Technology timer driver" if COMPILE_TEST
724750535bSLinus Walleij	depends on GENERIC_CLOCKEVENTS
734750535bSLinus Walleij	depends on HAS_IOMEM
744750535bSLinus Walleij	select CLKSRC_MMIO
754750535bSLinus Walleij	select CLKSRC_OF
764750535bSLinus Walleij	select MFD_SYSCON
774750535bSLinus Walleij	help
78f5bf0ee4SLinus Walleij	  Enables support for the Faraday Technology timer block
79f5bf0ee4SLinus Walleij	  FTTMR010.
804750535bSLinus Walleij
81468b8c4cSDaniel Lezcanoconfig ROCKCHIP_TIMER
8240ada2aaSDaniel Lezcano	bool "Rockchip timer driver" if COMPILE_TEST
8340ada2aaSDaniel Lezcano	depends on ARM || ARM64
84468b8c4cSDaniel Lezcano	select CLKSRC_OF
855e0a39d0SAlexander Kochetkov	select CLKSRC_MMIO
8640ada2aaSDaniel Lezcano	help
8740ada2aaSDaniel Lezcano	  Enables the support for the rockchip timer driver.
88468b8c4cSDaniel Lezcano
896fe9cbd1SGregory CLEMENTconfig ARMADA_370_XP_TIMER
909519e80cSDaniel Lezcano	bool "Armada 370 and XP timer driver" if COMPILE_TEST
919519e80cSDaniel Lezcano	depends on ARM
927b0dd72aSJean Pihet	select CLKSRC_OF
932be6d9bfSArnd Bergmann	select CLKSRC_MMIO
949519e80cSDaniel Lezcano	help
959519e80cSDaniel Lezcano	  Enables the support for the Armada 370 and XP timer driver.
966fe9cbd1SGregory CLEMENT
97e4a6b378SCarlo Caioneconfig MESON6_TIMER
980b7a7bb7SDaniel Lezcano	bool "Meson6 timer driver" if COMPILE_TEST
990901f184SDaniel Lezcano	depends on GENERIC_CLOCKEVENTS
1007b6b0a45SBeniamino Galvani	select CLKSRC_MMIO
1010b7a7bb7SDaniel Lezcano	help
1020b7a7bb7SDaniel Lezcano	  Enables the support for the Meson6 timer driver.
103e4a6b378SCarlo Caione
1040c1dcfd5SSebastian Hesselbarthconfig ORION_TIMER
105c9165549SDaniel Lezcano	bool "Orion timer driver" if COMPILE_TEST
106c9165549SDaniel Lezcano	depends on ARM
1070c1dcfd5SSebastian Hesselbarth	select CLKSRC_OF
1080c1dcfd5SSebastian Hesselbarth	select CLKSRC_MMIO
109c9165549SDaniel Lezcano	help
110c9165549SDaniel Lezcano	  Enables the support for the Orion timer driver
1110c1dcfd5SSebastian Hesselbarth
112*4be78a86SAndreas Färberconfig OWL_TIMER
113*4be78a86SAndreas Färber	bool "Owl timer driver" if COMPILE_TEST
114*4be78a86SAndreas Färber	depends on GENERIC_CLOCKEVENTS
115*4be78a86SAndreas Färber	select CLKSRC_MMIO
116*4be78a86SAndreas Färber	help
117*4be78a86SAndreas Färber	  Enables the support for the Actions Semi Owl timer driver.
118*4be78a86SAndreas Färber
119119fd635SMaxime Ripardconfig SUN4I_TIMER
120b4fcd48bSDaniel Lezcano	bool "Sun4i timer driver" if COMPILE_TEST
1210901f184SDaniel Lezcano	depends on GENERIC_CLOCKEVENTS
122d7023e62SRichard Weinberger	depends on HAS_IOMEM
12371c568c0SMaxime Ripard	select CLKSRC_MMIO
124b4fcd48bSDaniel Lezcano	help
125b4fcd48bSDaniel Lezcano	  Enables support for the Sun4i timer.
126b2ac5d75SMaxime Ripard
12767905540SMaxime Ripardconfig SUN5I_HSTIMER
128f0c5afb7SDaniel Lezcano	bool "Sun5i timer driver" if COMPILE_TEST
12967905540SMaxime Ripard	select CLKSRC_MMIO
130f0c5afb7SDaniel Lezcano	depends on COMMON_CLK
131f0c5afb7SDaniel Lezcano	help
132f0c5afb7SDaniel Lezcano	  Enables support the Sun5i timer.
13367905540SMaxime Ripard
134910978e7SThierry Redingconfig TEGRA_TIMER
135adce4bc8SDaniel Lezcano	bool "Tegra timer driver" if COMPILE_TEST
1362be6d9bfSArnd Bergmann	select CLKSRC_MMIO
137adce4bc8SDaniel Lezcano	depends on ARM
138adce4bc8SDaniel Lezcano	help
139adce4bc8SDaniel Lezcano	  Enables support for the Tegra driver.
140910978e7SThierry Reding
141ff7ec345STony Priskconfig VT8500_TIMER
142b4bdf7efSDaniel Lezcano	bool "VT8500 timer driver" if COMPILE_TEST
1430901f184SDaniel Lezcano	depends on GENERIC_CLOCKEVENTS
144d7023e62SRichard Weinberger	depends on HAS_IOMEM
145b4bdf7efSDaniel Lezcano	help
146b4bdf7efSDaniel Lezcano	  Enables support for the VT8500 driver.
147ff7ec345STony Prisk
1484f0f234fSMichal Simekconfig CADENCE_TTC_TIMER
14957f49318SDaniel Lezcano	bool "Cadence TTC timer driver" if COMPILE_TEST
15057f49318SDaniel Lezcano	depends on COMMON_CLK
15157f49318SDaniel Lezcano	help
15257f49318SDaniel Lezcano	  Enables support for the cadence ttc driver.
1534f0f234fSMichal Simek
154a8b1b9fcSDaniel Lezcanoconfig ASM9260_TIMER
155b9755841SDaniel Lezcano	bool "ASM9260 timer driver" if COMPILE_TEST
1560901f184SDaniel Lezcano	depends on GENERIC_CLOCKEVENTS
157a8b1b9fcSDaniel Lezcano	select CLKSRC_MMIO
158a8b1b9fcSDaniel Lezcano	select CLKSRC_OF
159b9755841SDaniel Lezcano	help
160b9755841SDaniel Lezcano	  Enables support for the ASM9260 timer.
161a8b1b9fcSDaniel Lezcano
162694e33a7SLinus Walleijconfig CLKSRC_NOMADIK_MTU
16370329653SDaniel Lezcano	bool "Nomakdik clocksource driver" if COMPILE_TEST
16470329653SDaniel Lezcano	depends on ARM
165694e33a7SLinus Walleij	select CLKSRC_MMIO
166694e33a7SLinus Walleij	help
167694e33a7SLinus Walleij	  Support for Multi Timer Unit. MTU provides access
168694e33a7SLinus Walleij	  to multiple interrupt generating programmable
169694e33a7SLinus Walleij	  32-bit free running decrementing counters.
170694e33a7SLinus Walleij
171694e33a7SLinus Walleijconfig CLKSRC_NOMADIK_MTU_SCHED_CLOCK
172694e33a7SLinus Walleij	bool
173694e33a7SLinus Walleij	depends on CLKSRC_NOMADIK_MTU
174694e33a7SLinus Walleij	help
175694e33a7SLinus Walleij	  Use the Multi Timer Unit as the sched_clock.
176694e33a7SLinus Walleij
177489bcceaSMattias Wallinconfig CLKSRC_DBX500_PRCMU
1781becd6edSDaniel Lezcano	bool "Clocksource PRCMU Timer" if COMPILE_TEST
1790901f184SDaniel Lezcano	depends on GENERIC_CLOCKEVENTS
180d7023e62SRichard Weinberger	depends on HAS_IOMEM
181489bcceaSMattias Wallin	help
182489bcceaSMattias Wallin	  Use the always on PRCMU Timer as clocksource
183489bcceaSMattias Wallin
184ecf0efdcSDaniel Lezcanoconfig CLPS711X_TIMER
185ecf0efdcSDaniel Lezcano	bool "Cirrus logic timer driver" if COMPILE_TEST
186ecf0efdcSDaniel Lezcano	depends on GENERIC_CLOCKEVENTS
187ecf0efdcSDaniel Lezcano	select CLKSRC_MMIO
188ecf0efdcSDaniel Lezcano	help
189ecf0efdcSDaniel Lezcano	  Enables support for the Cirrus Logic PS711 timer.
190ecf0efdcSDaniel Lezcano
191b56d5d21SDaniel Lezcanoconfig ATLAS7_TIMER
192b56d5d21SDaniel Lezcano	bool "Atlas7 timer driver" if COMPILE_TEST
193b56d5d21SDaniel Lezcano	depends on GENERIC_CLOCKEVENTS
194b56d5d21SDaniel Lezcano	select CLKSRC_MMIO
195b56d5d21SDaniel Lezcano	help
196b56d5d21SDaniel Lezcano	  Enables support for the Atlas7 timer.
197b56d5d21SDaniel Lezcano
198419be9e3SDaniel Lezcanoconfig MOXART_TIMER
199419be9e3SDaniel Lezcano	bool "Moxart timer driver" if COMPILE_TEST
200419be9e3SDaniel Lezcano	depends on GENERIC_CLOCKEVENTS
201419be9e3SDaniel Lezcano	select CLKSRC_MMIO
202419be9e3SDaniel Lezcano	help
203419be9e3SDaniel Lezcano	  Enables support for the Moxart timer.
204419be9e3SDaniel Lezcano
205d81c50a0SDaniel Lezcanoconfig MXS_TIMER
206d81c50a0SDaniel Lezcano	bool "Mxs timer driver" if COMPILE_TEST
207d81c50a0SDaniel Lezcano	depends on GENERIC_CLOCKEVENTS
208d81c50a0SDaniel Lezcano	select CLKSRC_MMIO
209d81c50a0SDaniel Lezcano	select STMP_DEVICE
210d81c50a0SDaniel Lezcano	help
211d81c50a0SDaniel Lezcano	  Enables support for the Mxs timer.
212d81c50a0SDaniel Lezcano
213f3550d49SDaniel Lezcanoconfig PRIMA2_TIMER
214f3550d49SDaniel Lezcano	bool "Prima2 timer driver" if COMPILE_TEST
215f3550d49SDaniel Lezcano	depends on GENERIC_CLOCKEVENTS
216f3550d49SDaniel Lezcano	select CLKSRC_MMIO
217f3550d49SDaniel Lezcano	help
218f3550d49SDaniel Lezcano	  Enables support for the Prima2 timer.
219f3550d49SDaniel Lezcano
22085f98db4SDaniel Lezcanoconfig U300_TIMER
22185f98db4SDaniel Lezcano	bool "U300 timer driver" if COMPILE_TEST
22285f98db4SDaniel Lezcano	depends on GENERIC_CLOCKEVENTS
22385f98db4SDaniel Lezcano	depends on ARM
22485f98db4SDaniel Lezcano	select CLKSRC_MMIO
22585f98db4SDaniel Lezcano	help
22685f98db4SDaniel Lezcano	  Enables support for the U300 timer.
22785f98db4SDaniel Lezcano
228d683b9dcSDaniel Lezcanoconfig NSPIRE_TIMER
229d683b9dcSDaniel Lezcano	bool "NSpire timer driver" if COMPILE_TEST
230d683b9dcSDaniel Lezcano	depends on GENERIC_CLOCKEVENTS
231d683b9dcSDaniel Lezcano	select CLKSRC_MMIO
232d683b9dcSDaniel Lezcano	help
233d683b9dcSDaniel Lezcano	  Enables support for the Nspire timer.
234d683b9dcSDaniel Lezcano
235c12547a0SDaniel Lezcanoconfig KEYSTONE_TIMER
236c12547a0SDaniel Lezcano	bool "Keystone timer driver" if COMPILE_TEST
237c12547a0SDaniel Lezcano	depends on GENERIC_CLOCKEVENTS
238c12547a0SDaniel Lezcano	depends on ARM || ARM64
239c12547a0SDaniel Lezcano	select CLKSRC_MMIO
240c12547a0SDaniel Lezcano	help
241c12547a0SDaniel Lezcano	  Enables support for the Keystone timer.
242c12547a0SDaniel Lezcano
243568c0342SDaniel Lezcanoconfig INTEGRATOR_AP_TIMER
244568c0342SDaniel Lezcano	bool "Integrator-ap timer driver" if COMPILE_TEST
245568c0342SDaniel Lezcano	depends on GENERIC_CLOCKEVENTS
246568c0342SDaniel Lezcano	select CLKSRC_MMIO
247568c0342SDaniel Lezcano	help
248568c0342SDaniel Lezcano	  Enables support for the Integrator-ap timer.
249568c0342SDaniel Lezcano
250489bcceaSMattias Wallinconfig CLKSRC_DBX500_PRCMU_SCHED_CLOCK
251489bcceaSMattias Wallin	bool "Clocksource PRCMU Timer sched_clock"
252694e33a7SLinus Walleij	depends on (CLKSRC_DBX500_PRCMU && !CLKSRC_NOMADIK_MTU_SCHED_CLOCK)
253489bcceaSMattias Wallin	default y
254489bcceaSMattias Wallin	help
255489bcceaSMattias Wallin	  Use the always on PRCMU Timer as sched_clock
256985c0679SMarc Zyngier
2579c9b7818SUwe Kleine-Königconfig CLKSRC_EFM32
2589c9b7818SUwe Kleine-König	bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32
2599c9b7818SUwe Kleine-König	depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST)
26009ca2757SAxel Lin	select CLKSRC_MMIO
2619c9b7818SUwe Kleine-König	default ARCH_EFM32
2629c9b7818SUwe Kleine-König	help
2639c9b7818SUwe Kleine-König	  Support to use the timers of EFM32 SoCs as clock source and clock
2649c9b7818SUwe Kleine-König	  event device.
2659c9b7818SUwe Kleine-König
266050dd322SJoachim Eastwoodconfig CLKSRC_LPC32XX
267ddcf48c7SDaniel Lezcano	bool "Clocksource for LPC32XX" if COMPILE_TEST
268863ee050SRichard Weinberger	depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
2691b18fd20SEzequiel Garcia	depends on ARM
270050dd322SJoachim Eastwood	select CLKSRC_MMIO
271050dd322SJoachim Eastwood	select CLKSRC_OF
272ddcf48c7SDaniel Lezcano	help
273ddcf48c7SDaniel Lezcano	  Support for the LPC32XX clocksource.
274050dd322SJoachim Eastwood
27584583983SEzequiel Garciaconfig CLKSRC_PISTACHIO
276dfdb1652SDaniel Lezcano	bool "Clocksource for Pistachio SoC" if COMPILE_TEST
277863ee050SRichard Weinberger	depends on HAS_IOMEM
27884583983SEzequiel Garcia	select CLKSRC_OF
279dfdb1652SDaniel Lezcano	help
280dfdb1652SDaniel Lezcano	  Enables the clocksource for the Pistachio SoC.
28184583983SEzequiel Garcia
282fe851f56SFelipe Balbiconfig CLKSRC_TI_32K
283fe851f56SFelipe Balbi	bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST
284dfedaf10SFelipe Balbi	depends on GENERIC_SCHED_CLOCK
285fe851f56SFelipe Balbi	select CLKSRC_OF if OF
286fe851f56SFelipe Balbi	help
287fe851f56SFelipe Balbi	  This option enables support for Texas Instruments 32.768 Hz clocksource
288fe851f56SFelipe Balbi	  available on many OMAP-like platforms.
289fe851f56SFelipe Balbi
290a5322457SNoam Camusconfig CLKSRC_NPS
291a5322457SNoam Camus	bool "NPS400 clocksource driver" if COMPILE_TEST
292a5322457SNoam Camus	depends on !PHYS_ADDR_T_64BIT
293a5322457SNoam Camus	select CLKSRC_MMIO
294a5322457SNoam Camus	select CLKSRC_OF if OF
295a5322457SNoam Camus	help
296a5322457SNoam Camus	  NPS400 clocksource support.
297a5322457SNoam Camus	  Got 64 bit counter with update rate up to 1000MHz.
298a5322457SNoam Camus	  This counter is accessed via couple of 32 bit memory mapped registers.
299a5322457SNoam Camus
300e37e4593SMaxime Coquelinconfig CLKSRC_STM32
3011cb6c215SPaul Gortmaker	bool "Clocksource for STM32 SoCs" if !ARCH_STM32
3021cb6c215SPaul Gortmaker	depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST)
303e37e4593SMaxime Coquelin	select CLKSRC_MMIO
304e37e4593SMaxime Coquelin
3050302637fSVladimir Murzinconfig CLKSRC_MPS2
3060302637fSVladimir Murzin	bool "Clocksource for MPS2 SoCs" if COMPILE_TEST
3070302637fSVladimir Murzin	depends on GENERIC_SCHED_CLOCK
3080302637fSVladimir Murzin	select CLKSRC_MMIO
3090302637fSVladimir Murzin	select CLKSRC_OF
3100302637fSVladimir Murzin
311c4c9a040SVineet Guptaconfig ARC_TIMERS
312c4c9a040SVineet Gupta	bool "Support for 32-bit TIMERn counters in ARC Cores" if COMPILE_TEST
313c4c9a040SVineet Gupta	depends on GENERIC_CLOCKEVENTS
314c4c9a040SVineet Gupta	select CLKSRC_OF
315c4c9a040SVineet Gupta	help
316c4c9a040SVineet Gupta	  These are legacy 32-bit TIMER0 and TIMER1 counters found on all ARC cores
317c4c9a040SVineet Gupta	  (ARC700 as well as ARC HS38).
318c4c9a040SVineet Gupta	  TIMER0 serves as clockevent while TIMER1 provides clocksource
319c4c9a040SVineet Gupta
320c4c9a040SVineet Guptaconfig ARC_TIMERS_64BIT
321c4c9a040SVineet Gupta	bool "Support for 64-bit counters in ARC HS38 cores" if COMPILE_TEST
322c4c9a040SVineet Gupta	depends on GENERIC_CLOCKEVENTS
323c4c9a040SVineet Gupta	depends on ARC_TIMERS
324c4c9a040SVineet Gupta	select CLKSRC_OF
325c4c9a040SVineet Gupta	help
326c4c9a040SVineet Gupta	  This enables 2 different 64-bit timers: RTC (for UP) and GFRC (for SMP)
327c4c9a040SVineet Gupta	  RTC is implemented inside the core, while GFRC sits outside the core in
328c4c9a040SVineet Gupta	  ARConnect IP block. Driver automatically picks one of them for clocksource
329c4c9a040SVineet Gupta	  as appropriate.
330c4c9a040SVineet Gupta
3318a4da6e3SMark Rutlandconfig ARM_ARCH_TIMER
3328a4da6e3SMark Rutland	bool
3330583fe47SRob Herring	select CLKSRC_OF if OF
334ae281cbdSMarc Zyngier	select CLKSRC_ACPI if ACPI
335a2c5d4edSJames Hogan
336037f6377SWill Deaconconfig ARM_ARCH_TIMER_EVTSTREAM
33746fd5c6bSWill Deacon	bool "Enable ARM architected timer event stream generation by default"
338037f6377SWill Deacon	default y if ARM_ARCH_TIMER
33977f7ce9aSStephen Boyd	depends on ARM_ARCH_TIMER
340037f6377SWill Deacon	help
34146fd5c6bSWill Deacon	  This option enables support by default for event stream generation
34246fd5c6bSWill Deacon	  based on the ARM architected timer. It is used for waking up CPUs
34346fd5c6bSWill Deacon	  executing the wfe instruction at a frequency represented as a
34446fd5c6bSWill Deacon	  power-of-2 divisor of the clock rate. The behaviour can also be
34546fd5c6bSWill Deacon	  overridden on the command line using the
34646fd5c6bSWill Deacon	  clocksource.arm_arch_timer.evtstream parameter.
347037f6377SWill Deacon	  The main use of the event stream is wfe-based timeouts of userspace
348037f6377SWill Deacon	  locking implementations. It might also be useful for imposing timeout
349037f6377SWill Deacon	  on wfe to safeguard against any programming errors in case an expected
350037f6377SWill Deacon	  event is not generated.
351037f6377SWill Deacon	  This must be disabled for hardware validation purposes to detect any
352037f6377SWill Deacon	  hardware anomalies of missing events.
353037f6377SWill Deacon
35416d10ef2SDing Tianhongconfig ARM_ARCH_TIMER_OOL_WORKAROUND
35516d10ef2SDing Tianhong	bool
35616d10ef2SDing Tianhong
357f6dc1576SScott Woodconfig FSL_ERRATUM_A008585
358f6dc1576SScott Wood	bool "Workaround for Freescale/NXP Erratum A-008585"
359f6dc1576SScott Wood	default y
360f6dc1576SScott Wood	depends on ARM_ARCH_TIMER && ARM64
36116d10ef2SDing Tianhong	select ARM_ARCH_TIMER_OOL_WORKAROUND
362f6dc1576SScott Wood	help
363f6dc1576SScott Wood	  This option enables a workaround for Freescale/NXP Erratum
364f6dc1576SScott Wood	  A-008585 ("ARM generic timer may contain an erroneous
365f6dc1576SScott Wood	  value").  The workaround will only be active if the
366f6dc1576SScott Wood	  fsl,erratum-a008585 property is found in the timer node.
367f6dc1576SScott Wood
368bb42ca47SDing Tianhongconfig HISILICON_ERRATUM_161010101
369bb42ca47SDing Tianhong	bool "Workaround for Hisilicon Erratum 161010101"
370bb42ca47SDing Tianhong	default y
371bb42ca47SDing Tianhong	select ARM_ARCH_TIMER_OOL_WORKAROUND
372bb42ca47SDing Tianhong	depends on ARM_ARCH_TIMER && ARM64
373bb42ca47SDing Tianhong	help
374bb42ca47SDing Tianhong	  This option enables a workaround for Hisilicon Erratum
375bb42ca47SDing Tianhong	  161010101. The workaround will be active if the hisilicon,erratum-161010101
376bb42ca47SDing Tianhong	  property is found in the timer node.
377bb42ca47SDing Tianhong
378fa8d815fSMarc Zyngierconfig ARM64_ERRATUM_858921
379fa8d815fSMarc Zyngier	bool "Workaround for Cortex-A73 erratum 858921"
380fa8d815fSMarc Zyngier	default y
381fa8d815fSMarc Zyngier	select ARM_ARCH_TIMER_OOL_WORKAROUND
382fa8d815fSMarc Zyngier	depends on ARM_ARCH_TIMER && ARM64
383fa8d815fSMarc Zyngier	help
384fa8d815fSMarc Zyngier	  This option enables a workaround applicable to Cortex-A73
385fa8d815fSMarc Zyngier	  (all versions), whose counter may return incorrect values.
386fa8d815fSMarc Zyngier	  The workaround will be dynamically enabled when an affected
387fa8d815fSMarc Zyngier	  core is detected.
388fa8d815fSMarc Zyngier
389c1b40e44SStuart Menefyconfig ARM_GLOBAL_TIMER
39067a87a43SDaniel Lezcano	bool "Support for the ARM global timer" if COMPILE_TEST
391c1b40e44SStuart Menefy	select CLKSRC_OF if OF
39267a87a43SDaniel Lezcano	depends on ARM
393c1b40e44SStuart Menefy	help
394c1b40e44SStuart Menefy	  This options enables support for the ARM global timer unit
395c1b40e44SStuart Menefy
3960b7402dcSSudeep Hollaconfig ARM_TIMER_SP804
3970b7402dcSSudeep Holla	bool "Support for Dual Timer SP804 module"
398002af195SGuenter Roeck	depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP
3990b7402dcSSudeep Holla	select CLKSRC_MMIO
4000b7402dcSSudeep Holla	select CLKSRC_OF if OF
4010b7402dcSSudeep Holla
402c1b40e44SStuart Menefyconfig CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
403c1b40e44SStuart Menefy	bool
404c1b40e44SStuart Menefy	depends on ARM_GLOBAL_TIMER
405c1b40e44SStuart Menefy	default y
406c1b40e44SStuart Menefy	help
407c1b40e44SStuart Menefy	 Use ARM global timer clock source as sched_clock
408c1b40e44SStuart Menefy
4094958ebb3SMaxime Coquelinconfig ARMV7M_SYSTICK
410e2146d86SDaniel Lezcano	bool "Support for the ARMv7M system time" if COMPILE_TEST
4114958ebb3SMaxime Coquelin	select CLKSRC_OF if OF
4124958ebb3SMaxime Coquelin	select CLKSRC_MMIO
4134958ebb3SMaxime Coquelin	help
4144958ebb3SMaxime Coquelin	  This options enables support for the ARMv7M system timer unit
4154958ebb3SMaxime Coquelin
416b052ff30SMaxime Ripardconfig ATMEL_PIT
417b052ff30SMaxime Ripard	select CLKSRC_OF if OF
418b052ff30SMaxime Ripard	def_bool SOC_AT91SAM9 || SOC_SAMA5
419b052ff30SMaxime Ripard
420b53cdd03SAlexandre Belloniconfig ATMEL_ST
421b988d3f0SDaniel Lezcano	bool "Atmel ST timer support" if COMPILE_TEST
422b988d3f0SDaniel Lezcano	depends on GENERIC_CLOCKEVENTS
423b53cdd03SAlexandre Belloni	select CLKSRC_OF
4247ab7ef74SAlexandre Belloni	select MFD_SYSCON
425b988d3f0SDaniel Lezcano	help
426b988d3f0SDaniel Lezcano	  Support for the Atmel ST timer.
427b53cdd03SAlexandre Belloni
428a2c5d4edSJames Hoganconfig CLKSRC_METAG_GENERIC
429a2c5d4edSJames Hogan	def_bool y if METAG
430a2c5d4edSJames Hogan	help
431a2c5d4edSJames Hogan	  This option enables support for the Meta per-thread timers.
4326938d75aSThomas Abraham
4336938d75aSThomas Abrahamconfig CLKSRC_EXYNOS_MCT
43439366ef4SDaniel Lezcano	bool "Exynos multi core timer driver" if COMPILE_TEST
435f1a4c1f3SChanwoo Choi	depends on ARM || ARM64
4366938d75aSThomas Abraham	help
4376938d75aSThomas Abraham	  Support for Multi Core Timer controller on Exynos SoCs.
438241a9871SArnd Bergmann
439f1189989STomasz Figaconfig CLKSRC_SAMSUNG_PWM
440de37b0b5SAlexandre Belloni	bool "PWM timer driver for Samsung S3C, S5P" if COMPILE_TEST
4410901f184SDaniel Lezcano	depends on GENERIC_CLOCKEVENTS
442d7023e62SRichard Weinberger	depends on HAS_IOMEM
443f1189989STomasz Figa	help
444f1189989STomasz Figa	  This is a new clocksource driver for the PWM timer found in
445f1189989STomasz Figa	  Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
446f1189989STomasz Figa	  for all devicetree enabled platforms. This driver will be
447f1189989STomasz Figa	  needed only on systems that do not have the Exynos MCT available.
448c1967249SJingchang Lu
4492529c3a3SXiubo Liconfig FSL_FTM_TIMER
450ef49336bSDaniel Lezcano	bool "Freescale FlexTimer Module driver" if COMPILE_TEST
4510901f184SDaniel Lezcano	depends on GENERIC_CLOCKEVENTS
452d7023e62SRichard Weinberger	depends on HAS_IOMEM
45303724ac3SDaniel Lezcano	select CLKSRC_MMIO
4542529c3a3SXiubo Li	help
4552529c3a3SXiubo Li	  Support for Freescale FlexTimer Module (FTM) timer.
4562529c3a3SXiubo Li
457c1967249SJingchang Luconfig VF_PIT_TIMER
458c1967249SJingchang Lu	bool
4592be6d9bfSArnd Bergmann	select CLKSRC_MMIO
460c1967249SJingchang Lu	help
461c1967249SJingchang Lu	  Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
462fd3f1270SMagnus Damm
46389355274SNeil Armstrongconfig OXNAS_RPS_TIMER
46489355274SNeil Armstrong	bool "Oxford Semiconductor OXNAS RPS Timers driver" if COMPILE_TEST
46589355274SNeil Armstrong	depends on GENERIC_CLOCKEVENTS
46689355274SNeil Armstrong	select CLKSRC_OF
46789355274SNeil Armstrong	select CLKSRC_MMIO
46889355274SNeil Armstrong	help
46989355274SNeil Armstrong	  This enables support for the Oxford Semiconductor OXNAS RPS timers.
47089355274SNeil Armstrong
471fd3f1270SMagnus Dammconfig SYS_SUPPORTS_SH_CMT
472fd3f1270SMagnus Damm        bool
473fd3f1270SMagnus Damm
474ecb3530dSMatthias Bruggerconfig MTK_TIMER
475fbca9eabSDaniel Lezcano	bool "Mediatek timer driver" if COMPILE_TEST
476863ee050SRichard Weinberger	depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
477ecb3530dSMatthias Brugger	select CLKSRC_OF
478ecb3530dSMatthias Brugger	select CLKSRC_MMIO
479fbca9eabSDaniel Lezcano	help
480fbca9eabSDaniel Lezcano	  Support for Mediatek timer driver.
481ecb3530dSMatthias Brugger
482fd3f1270SMagnus Dammconfig SYS_SUPPORTS_SH_MTU2
483fd3f1270SMagnus Damm        bool
484fd3f1270SMagnus Damm
485fd3f1270SMagnus Dammconfig SYS_SUPPORTS_SH_TMU
486fd3f1270SMagnus Damm        bool
487fd3f1270SMagnus Damm
488fd3f1270SMagnus Dammconfig SYS_SUPPORTS_EM_STI
489fd3f1270SMagnus Damm        bool
490fd3f1270SMagnus Damm
4919995f4f1SRich Felkerconfig CLKSRC_JCORE_PIT
4929995f4f1SRich Felker	bool "J-Core PIT timer driver" if COMPILE_TEST
4939995f4f1SRich Felker	depends on OF
4949995f4f1SRich Felker	depends on GENERIC_CLOCKEVENTS
4959995f4f1SRich Felker	depends on HAS_IOMEM
4969995f4f1SRich Felker	select CLKSRC_MMIO
4979995f4f1SRich Felker	help
4989995f4f1SRich Felker	  This enables build of clocksource and clockevent driver for
4999995f4f1SRich Felker	  the integrated PIT in the J-Core synthesizable, open source SoC.
5009995f4f1SRich Felker
501fd3f1270SMagnus Dammconfig SH_TIMER_CMT
502fd3f1270SMagnus Damm	bool "Renesas CMT timer driver" if COMPILE_TEST
50387291a92SGeert Uytterhoeven	depends on GENERIC_CLOCKEVENTS
50411bc26feSRichard Weinberger	depends on HAS_IOMEM
505fd3f1270SMagnus Damm	default SYS_SUPPORTS_SH_CMT
506fd3f1270SMagnus Damm	help
507fd3f1270SMagnus Damm	  This enables build of a clocksource and clockevent driver for
508fd3f1270SMagnus Damm	  the Compare Match Timer (CMT) hardware available in 16/32/48-bit
509fd3f1270SMagnus Damm	  variants on a wide range of Mobile and Automotive SoCs from Renesas.
510fd3f1270SMagnus Damm
511fd3f1270SMagnus Dammconfig SH_TIMER_MTU2
512fd3f1270SMagnus Damm	bool "Renesas MTU2 timer driver" if COMPILE_TEST
51387291a92SGeert Uytterhoeven	depends on GENERIC_CLOCKEVENTS
51411bc26feSRichard Weinberger	depends on HAS_IOMEM
515fd3f1270SMagnus Damm	default SYS_SUPPORTS_SH_MTU2
516fd3f1270SMagnus Damm	help
517fd3f1270SMagnus Damm	  This enables build of a clockevent driver for the Multi-Function
5187e139187SKuninori Morimoto	  Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
519fd3f1270SMagnus Damm	  This hardware comes with 16 bit-timer registers.
520fd3f1270SMagnus Damm
521fb6002a8SChris Brandtconfig RENESAS_OSTM
522fb6002a8SChris Brandt	bool "Renesas OSTM timer driver" if COMPILE_TEST
523fb6002a8SChris Brandt	depends on GENERIC_CLOCKEVENTS
524fb6002a8SChris Brandt	select CLKSRC_MMIO
525fb6002a8SChris Brandt	help
526fb6002a8SChris Brandt	  Enables the support for the Renesas OSTM.
527fb6002a8SChris Brandt
528fd3f1270SMagnus Dammconfig SH_TIMER_TMU
529fd3f1270SMagnus Damm	bool "Renesas TMU timer driver" if COMPILE_TEST
53087291a92SGeert Uytterhoeven	depends on GENERIC_CLOCKEVENTS
53111bc26feSRichard Weinberger	depends on HAS_IOMEM
532fd3f1270SMagnus Damm	default SYS_SUPPORTS_SH_TMU
533fd3f1270SMagnus Damm	help
534fd3f1270SMagnus Damm	  This enables build of a clocksource and clockevent driver for
535fd3f1270SMagnus Damm	  the 32-bit Timer Unit (TMU) hardware available on a wide range
536fd3f1270SMagnus Damm	  SoCs from Renesas.
537fd3f1270SMagnus Damm
538fd3f1270SMagnus Dammconfig EM_TIMER_STI
539fd3f1270SMagnus Damm	bool "Renesas STI timer driver" if COMPILE_TEST
54040c96312SChen Gang	depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
541fd3f1270SMagnus Damm	default SYS_SUPPORTS_EM_STI
542fd3f1270SMagnus Damm	help
543fd3f1270SMagnus Damm	  This enables build of a clocksource and clockevent driver for
544fd3f1270SMagnus Damm	  the 48-bit System Timer (STI) hardware available on a SoCs
545fd3f1270SMagnus Damm	  such as EMEV2 from former NEC Electronics.
546dfc25e45SLinus Torvalds
5473f8e8ceeSKumar Galaconfig CLKSRC_QCOM
5483dc0e9f6SDaniel Lezcano	bool "Qualcomm MSM timer" if COMPILE_TEST
5493dc0e9f6SDaniel Lezcano	depends on ARM
5503dc0e9f6SDaniel Lezcano	select CLKSRC_OF
5513dc0e9f6SDaniel Lezcano	help
5523dc0e9f6SDaniel Lezcano	  This enables the clocksource and the per CPU clockevent driver for the
5533dc0e9f6SDaniel Lezcano	  Qualcomm SoCs.
554220e2a8dSPawel Moll
555220e2a8dSPawel Mollconfig CLKSRC_VERSATILE
5565cc87a4dSDaniel Lezcano	bool "ARM Versatile (Express) reference platforms clock source" if COMPILE_TEST
5575cc87a4dSDaniel Lezcano	depends on GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET
558220e2a8dSPawel Moll	select CLKSRC_OF
559220e2a8dSPawel Moll	default y if MFD_VEXPRESS_SYSREG
560220e2a8dSPawel Moll	help
561220e2a8dSPawel Moll	  This option enables clock source based on free running
562220e2a8dSPawel Moll	  counter available in the "System Registers" block of
563220e2a8dSPawel Moll	  ARM Versatile, RealView and Versatile Express reference
564220e2a8dSPawel Moll	  platforms.
56558394271SJean Delvare
566fa5635a2SAndrew Brestickerconfig CLKSRC_MIPS_GIC
567fa5635a2SAndrew Bresticker	bool
568fa5635a2SAndrew Bresticker	depends on MIPS_GIC
569e12aa828SAndrew Bresticker	select CLKSRC_OF
570fa5635a2SAndrew Bresticker
571ccd63ce4SMarc Gonzalezconfig CLKSRC_TANGO_XTAL
5725a7351f0SDaniel Lezcano	bool "Clocksource for Tango SoC" if COMPILE_TEST
5735a7351f0SDaniel Lezcano	depends on ARM
574ccd63ce4SMarc Gonzalez	select CLKSRC_OF
5750881841fSDaniel Lezcano	select CLKSRC_MMIO
5765a7351f0SDaniel Lezcano	help
5775a7351f0SDaniel Lezcano	  This enables the clocksource for Tango SoC
578ccd63ce4SMarc Gonzalez
579e074ff86SDmitry Eremin-Solenikovconfig CLKSRC_PXA
5805ae996cbSDaniel Lezcano	bool "Clocksource for PXA or SA-11x0 platform" if COMPILE_TEST
5815ae996cbSDaniel Lezcano	depends on GENERIC_CLOCKEVENTS
582d7023e62SRichard Weinberger	depends on HAS_IOMEM
5835ae996cbSDaniel Lezcano	select CLKSRC_MMIO
584e074ff86SDmitry Eremin-Solenikov	help
585e074ff86SDmitry Eremin-Solenikov	  This enables OST0 support available on PXA and SA-11x0
586e074ff86SDmitry Eremin-Solenikov	  platforms.
587618b902dSYoshinori Sato
58897a23bebSDaniel Lezcanoconfig H8300_TMR8
58946e7c3c6SDaniel Lezcano        bool "Clockevent timer for the H8300 platform" if COMPILE_TEST
590863ee050SRichard Weinberger        depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
59146e7c3c6SDaniel Lezcano	help
59246e7c3c6SDaniel Lezcano	  This enables the 8 bits timer for the H8300 platform.
59397a23bebSDaniel Lezcano
594618b902dSYoshinori Satoconfig H8300_TMR16
59546e7c3c6SDaniel Lezcano        bool "Clockevent timer for the H83069 platform" if COMPILE_TEST
596863ee050SRichard Weinberger        depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
59746e7c3c6SDaniel Lezcano	help
59846e7c3c6SDaniel Lezcano	  This enables the 16 bits timer for the H8300 platform with the
59946e7c3c6SDaniel Lezcano	  H83069 cpu.
600618b902dSYoshinori Sato
601618b902dSYoshinori Satoconfig H8300_TPU
60246e7c3c6SDaniel Lezcano        bool "Clocksource for the H8300 platform" if COMPILE_TEST
603863ee050SRichard Weinberger        depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
60446e7c3c6SDaniel Lezcano	help
60546e7c3c6SDaniel Lezcano	  This enables the clocksource for the H8300 platform with the
60646e7c3c6SDaniel Lezcano	  H8S2678 cpu.
607618b902dSYoshinori Sato
608bea5af41SShawn Guoconfig CLKSRC_IMX_GPT
609bea5af41SShawn Guo	bool "Clocksource using i.MX GPT" if COMPILE_TEST
610bea5af41SShawn Guo	depends on ARM && CLKDEV_LOOKUP
611bea5af41SShawn Guo	select CLKSRC_MMIO
612bea5af41SShawn Guo
61370bef01cSLee Jonesconfig CLKSRC_ST_LPC
614baacaf83SDaniel Lezcano	bool "Low power clocksource found in the LPC" if COMPILE_TEST
61570bef01cSLee Jones	select CLKSRC_OF if OF
616863ee050SRichard Weinberger	depends on HAS_IOMEM
6172be6d9bfSArnd Bergmann	select CLKSRC_MMIO
61870bef01cSLee Jones	help
61970bef01cSLee Jones	  Enable this option to use the Low Power controller timer
62070bef01cSLee Jones	  as clocksource.
62170bef01cSLee Jones
62258394271SJean Delvareendmenu
623