xref: /openbmc/linux/drivers/clocksource/Kconfig (revision b4fcd48b)
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
8aad83b15SMarc Zyngierconfig CLKSRC_ACPI
9aad83b15SMarc Zyngier	bool
10aad83b15SMarc Zyngier	select CLKSRC_PROBE
11aad83b15SMarc Zyngier
12aad83b15SMarc Zyngierconfig CLKSRC_PROBE
13aad83b15SMarc Zyngier	bool
14ae278a93SStephen Warren
1589c0b8e2SRussell Kingconfig CLKSRC_I8253
1689c0b8e2SRussell King	bool
17442c8176SRussell King
18e6220bdcSThomas Gleixnerconfig CLKEVT_I8253
19e6220bdcSThomas Gleixner	bool
20e6220bdcSThomas Gleixner
2115f304b6SRalf Baechleconfig I8253_LOCK
2215f304b6SRalf Baechle	bool
2315f304b6SRalf Baechle
2415f304b6SRalf Baechleconfig CLKBLD_I8253
25e6220bdcSThomas Gleixner	def_bool y if CLKSRC_I8253 || CLKEVT_I8253 || I8253_LOCK
2615f304b6SRalf Baechle
27442c8176SRussell Kingconfig CLKSRC_MMIO
28442c8176SRussell King	bool
2906c3df49SJamie Iles
309b8bb773SBaruch Siachconfig DIGICOLOR_TIMER
31e6c1db13SDaniel Lezcano	bool "Digicolor timer driver" if COMPILE_TEST
32e6c1db13SDaniel Lezcano	help
33e6c1db13SDaniel Lezcano	  Enables the support for the digicolor timer driver.
349b8bb773SBaruch Siach
3506c3df49SJamie Ilesconfig DW_APB_TIMER
365b097f6bSDaniel Lezcano	bool "DW APB timer driver" if COMPILE_TEST
375b097f6bSDaniel Lezcano	help
385b097f6bSDaniel Lezcano	  Enables the support for the dw_apb timer.
39489bcceaSMattias Wallin
40cfda5901SDinh Nguyenconfig DW_APB_TIMER_OF
41cfda5901SDinh Nguyen	bool
421b4eca0fSHeiko Stuebner	select DW_APB_TIMER
4310021488SHeiko Stuebner	select CLKSRC_OF
44cfda5901SDinh Nguyen
45468b8c4cSDaniel Lezcanoconfig ROCKCHIP_TIMER
4640ada2aaSDaniel Lezcano	bool "Rockchip timer driver" if COMPILE_TEST
4740ada2aaSDaniel Lezcano	depends on ARM || ARM64
48468b8c4cSDaniel Lezcano	select CLKSRC_OF
4940ada2aaSDaniel Lezcano	help
5040ada2aaSDaniel Lezcano	  Enables the support for the rockchip timer driver.
51468b8c4cSDaniel Lezcano
526fe9cbd1SGregory CLEMENTconfig ARMADA_370_XP_TIMER
539519e80cSDaniel Lezcano	bool "Armada 370 and XP timer driver" if COMPILE_TEST
549519e80cSDaniel Lezcano	depends on ARM
557b0dd72aSJean Pihet	select CLKSRC_OF
569519e80cSDaniel Lezcano	help
579519e80cSDaniel Lezcano	  Enables the support for the Armada 370 and XP timer driver.
586fe9cbd1SGregory CLEMENT
59e4a6b378SCarlo Caioneconfig MESON6_TIMER
600b7a7bb7SDaniel Lezcano	bool "Meson6 timer driver" if COMPILE_TEST
617b6b0a45SBeniamino Galvani	select CLKSRC_MMIO
620b7a7bb7SDaniel Lezcano	help
630b7a7bb7SDaniel Lezcano	  Enables the support for the Meson6 timer driver.
64e4a6b378SCarlo Caione
650c1dcfd5SSebastian Hesselbarthconfig ORION_TIMER
66c9165549SDaniel Lezcano	bool "Orion timer driver" if COMPILE_TEST
67c9165549SDaniel Lezcano	depends on ARM
680c1dcfd5SSebastian Hesselbarth	select CLKSRC_OF
690c1dcfd5SSebastian Hesselbarth	select CLKSRC_MMIO
70c9165549SDaniel Lezcano	help
71c9165549SDaniel Lezcano	  Enables the support for the Orion timer driver
720c1dcfd5SSebastian Hesselbarth
73119fd635SMaxime Ripardconfig SUN4I_TIMER
74b4fcd48bSDaniel Lezcano	bool "Sun4i timer driver" if COMPILE_TEST
7571c568c0SMaxime Ripard	select CLKSRC_MMIO
76b4fcd48bSDaniel Lezcano	help
77b4fcd48bSDaniel Lezcano	  Enables support for the Sun4i timer.
78b2ac5d75SMaxime Ripard
7967905540SMaxime Ripardconfig SUN5I_HSTIMER
8067905540SMaxime Ripard	select CLKSRC_MMIO
8167905540SMaxime Ripard	bool
8267905540SMaxime Ripard
83910978e7SThierry Redingconfig TEGRA_TIMER
84910978e7SThierry Reding	bool
85910978e7SThierry Reding
86ff7ec345STony Priskconfig VT8500_TIMER
87ff7ec345STony Prisk	bool
88ff7ec345STony Prisk
894f0f234fSMichal Simekconfig CADENCE_TTC_TIMER
904f0f234fSMichal Simek	bool
914f0f234fSMichal Simek
92a8b1b9fcSDaniel Lezcanoconfig ASM9260_TIMER
93a8b1b9fcSDaniel Lezcano	bool
94a8b1b9fcSDaniel Lezcano	select CLKSRC_MMIO
95a8b1b9fcSDaniel Lezcano	select CLKSRC_OF
96a8b1b9fcSDaniel Lezcano
97694e33a7SLinus Walleijconfig CLKSRC_NOMADIK_MTU
98694e33a7SLinus Walleij	bool
99694e33a7SLinus Walleij	depends on (ARCH_NOMADIK || ARCH_U8500)
100694e33a7SLinus Walleij	select CLKSRC_MMIO
101694e33a7SLinus Walleij	help
102694e33a7SLinus Walleij	  Support for Multi Timer Unit. MTU provides access
103694e33a7SLinus Walleij	  to multiple interrupt generating programmable
104694e33a7SLinus Walleij	  32-bit free running decrementing counters.
105694e33a7SLinus Walleij
106694e33a7SLinus Walleijconfig CLKSRC_NOMADIK_MTU_SCHED_CLOCK
107694e33a7SLinus Walleij	bool
108694e33a7SLinus Walleij	depends on CLKSRC_NOMADIK_MTU
109694e33a7SLinus Walleij	help
110694e33a7SLinus Walleij	  Use the Multi Timer Unit as the sched_clock.
111694e33a7SLinus Walleij
112489bcceaSMattias Wallinconfig CLKSRC_DBX500_PRCMU
113489bcceaSMattias Wallin	bool "Clocksource PRCMU Timer"
11429746f48SLinus Walleij	depends on UX500_SOC_DB8500
115489bcceaSMattias Wallin	default y
116489bcceaSMattias Wallin	help
117489bcceaSMattias Wallin	  Use the always on PRCMU Timer as clocksource
118489bcceaSMattias Wallin
119489bcceaSMattias Wallinconfig CLKSRC_DBX500_PRCMU_SCHED_CLOCK
120489bcceaSMattias Wallin	bool "Clocksource PRCMU Timer sched_clock"
121694e33a7SLinus Walleij	depends on (CLKSRC_DBX500_PRCMU && !CLKSRC_NOMADIK_MTU_SCHED_CLOCK)
122489bcceaSMattias Wallin	default y
123489bcceaSMattias Wallin	help
124489bcceaSMattias Wallin	  Use the always on PRCMU Timer as sched_clock
125985c0679SMarc Zyngier
1269c9b7818SUwe Kleine-Königconfig CLKSRC_EFM32
1279c9b7818SUwe Kleine-König	bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32
1289c9b7818SUwe Kleine-König	depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST)
12909ca2757SAxel Lin	select CLKSRC_MMIO
1309c9b7818SUwe Kleine-König	default ARCH_EFM32
1319c9b7818SUwe Kleine-König	help
1329c9b7818SUwe Kleine-König	  Support to use the timers of EFM32 SoCs as clock source and clock
1339c9b7818SUwe Kleine-König	  event device.
1349c9b7818SUwe Kleine-König
135050dd322SJoachim Eastwoodconfig CLKSRC_LPC32XX
136050dd322SJoachim Eastwood	bool
137050dd322SJoachim Eastwood	select CLKSRC_MMIO
138050dd322SJoachim Eastwood	select CLKSRC_OF
139050dd322SJoachim Eastwood
14084583983SEzequiel Garciaconfig CLKSRC_PISTACHIO
141dfdb1652SDaniel Lezcano	bool "Clocksource for Pistachio SoC" if COMPILE_TEST
14284583983SEzequiel Garcia	select CLKSRC_OF
143dfdb1652SDaniel Lezcano	help
144dfdb1652SDaniel Lezcano	  Enables the clocksource for the Pistachio SoC.
14584583983SEzequiel Garcia
146fe851f56SFelipe Balbiconfig CLKSRC_TI_32K
147fe851f56SFelipe Balbi	bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST
148dfedaf10SFelipe Balbi	depends on GENERIC_SCHED_CLOCK
149fe851f56SFelipe Balbi	select CLKSRC_OF if OF
150fe851f56SFelipe Balbi	help
151fe851f56SFelipe Balbi	  This option enables support for Texas Instruments 32.768 Hz clocksource
152fe851f56SFelipe Balbi	  available on many OMAP-like platforms.
153fe851f56SFelipe Balbi
154e37e4593SMaxime Coquelinconfig CLKSRC_STM32
1551cb6c215SPaul Gortmaker	bool "Clocksource for STM32 SoCs" if !ARCH_STM32
1561cb6c215SPaul Gortmaker	depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST)
157e37e4593SMaxime Coquelin	select CLKSRC_MMIO
158e37e4593SMaxime Coquelin
1598a4da6e3SMark Rutlandconfig ARM_ARCH_TIMER
1608a4da6e3SMark Rutland	bool
1610583fe47SRob Herring	select CLKSRC_OF if OF
162ae281cbdSMarc Zyngier	select CLKSRC_ACPI if ACPI
163a2c5d4edSJames Hogan
164037f6377SWill Deaconconfig ARM_ARCH_TIMER_EVTSTREAM
165037f6377SWill Deacon	bool "Support for ARM architected timer event stream generation"
166037f6377SWill Deacon	default y if ARM_ARCH_TIMER
16777f7ce9aSStephen Boyd	depends on ARM_ARCH_TIMER
168037f6377SWill Deacon	help
169037f6377SWill Deacon	  This option enables support for event stream generation based on
170037f6377SWill Deacon	  the ARM architected timer. It is used for waking up CPUs executing
171037f6377SWill Deacon	  the wfe instruction at a frequency represented as a power-of-2
172037f6377SWill Deacon	  divisor of the clock rate.
173037f6377SWill Deacon	  The main use of the event stream is wfe-based timeouts of userspace
174037f6377SWill Deacon	  locking implementations. It might also be useful for imposing timeout
175037f6377SWill Deacon	  on wfe to safeguard against any programming errors in case an expected
176037f6377SWill Deacon	  event is not generated.
177037f6377SWill Deacon	  This must be disabled for hardware validation purposes to detect any
178037f6377SWill Deacon	  hardware anomalies of missing events.
179037f6377SWill Deacon
180c1b40e44SStuart Menefyconfig ARM_GLOBAL_TIMER
181c1b40e44SStuart Menefy	bool
182c1b40e44SStuart Menefy	select CLKSRC_OF if OF
183c1b40e44SStuart Menefy	help
184c1b40e44SStuart Menefy	  This options enables support for the ARM global timer unit
185c1b40e44SStuart Menefy
1860b7402dcSSudeep Hollaconfig ARM_TIMER_SP804
1870b7402dcSSudeep Holla	bool "Support for Dual Timer SP804 module"
188002af195SGuenter Roeck	depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP
1890b7402dcSSudeep Holla	select CLKSRC_MMIO
1900b7402dcSSudeep Holla	select CLKSRC_OF if OF
1910b7402dcSSudeep Holla
192c1b40e44SStuart Menefyconfig CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
193c1b40e44SStuart Menefy	bool
194c1b40e44SStuart Menefy	depends on ARM_GLOBAL_TIMER
195c1b40e44SStuart Menefy	default y
196c1b40e44SStuart Menefy	help
197c1b40e44SStuart Menefy	 Use ARM global timer clock source as sched_clock
198c1b40e44SStuart Menefy
1994958ebb3SMaxime Coquelinconfig ARMV7M_SYSTICK
2004958ebb3SMaxime Coquelin	bool
2014958ebb3SMaxime Coquelin	select CLKSRC_OF if OF
2024958ebb3SMaxime Coquelin	select CLKSRC_MMIO
2034958ebb3SMaxime Coquelin	help
2044958ebb3SMaxime Coquelin	  This options enables support for the ARMv7M system timer unit
2054958ebb3SMaxime Coquelin
206b052ff30SMaxime Ripardconfig ATMEL_PIT
207b052ff30SMaxime Ripard	select CLKSRC_OF if OF
208b052ff30SMaxime Ripard	def_bool SOC_AT91SAM9 || SOC_SAMA5
209b052ff30SMaxime Ripard
210b53cdd03SAlexandre Belloniconfig ATMEL_ST
211b53cdd03SAlexandre Belloni	bool
212b53cdd03SAlexandre Belloni	select CLKSRC_OF
2137ab7ef74SAlexandre Belloni	select MFD_SYSCON
214b53cdd03SAlexandre Belloni
215a2c5d4edSJames Hoganconfig CLKSRC_METAG_GENERIC
216a2c5d4edSJames Hogan	def_bool y if METAG
217a2c5d4edSJames Hogan	help
218a2c5d4edSJames Hogan	  This option enables support for the Meta per-thread timers.
2196938d75aSThomas Abraham
2206938d75aSThomas Abrahamconfig CLKSRC_EXYNOS_MCT
2216938d75aSThomas Abraham	def_bool y if ARCH_EXYNOS
2223252a646SDoug Anderson	depends on !ARM64
2236938d75aSThomas Abraham	help
2246938d75aSThomas Abraham	  Support for Multi Core Timer controller on Exynos SoCs.
225241a9871SArnd Bergmann
226f1189989STomasz Figaconfig CLKSRC_SAMSUNG_PWM
22777d84434STomasz Figa	bool
228f1189989STomasz Figa	help
229f1189989STomasz Figa	  This is a new clocksource driver for the PWM timer found in
230f1189989STomasz Figa	  Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
231f1189989STomasz Figa	  for all devicetree enabled platforms. This driver will be
232f1189989STomasz Figa	  needed only on systems that do not have the Exynos MCT available.
233c1967249SJingchang Lu
2342529c3a3SXiubo Liconfig FSL_FTM_TIMER
2352529c3a3SXiubo Li	bool
2362529c3a3SXiubo Li	help
2372529c3a3SXiubo Li	  Support for Freescale FlexTimer Module (FTM) timer.
2382529c3a3SXiubo Li
239c1967249SJingchang Luconfig VF_PIT_TIMER
240c1967249SJingchang Lu	bool
241c1967249SJingchang Lu	help
242c1967249SJingchang Lu	  Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
243fd3f1270SMagnus Damm
244fd3f1270SMagnus Dammconfig SYS_SUPPORTS_SH_CMT
245fd3f1270SMagnus Damm        bool
246fd3f1270SMagnus Damm
247ecb3530dSMatthias Bruggerconfig MTK_TIMER
248fbca9eabSDaniel Lezcano	bool "Mediatek timer driver" if COMPILE_TEST
249ecb3530dSMatthias Brugger	select CLKSRC_OF
250ecb3530dSMatthias Brugger	select CLKSRC_MMIO
251fbca9eabSDaniel Lezcano	help
252fbca9eabSDaniel Lezcano	  Support for Mediatek timer driver.
253ecb3530dSMatthias Brugger
254fd3f1270SMagnus Dammconfig SYS_SUPPORTS_SH_MTU2
255fd3f1270SMagnus Damm        bool
256fd3f1270SMagnus Damm
257fd3f1270SMagnus Dammconfig SYS_SUPPORTS_SH_TMU
258fd3f1270SMagnus Damm        bool
259fd3f1270SMagnus Damm
260fd3f1270SMagnus Dammconfig SYS_SUPPORTS_EM_STI
261fd3f1270SMagnus Damm        bool
262fd3f1270SMagnus Damm
263fd3f1270SMagnus Dammconfig SH_TIMER_CMT
264fd3f1270SMagnus Damm	bool "Renesas CMT timer driver" if COMPILE_TEST
26587291a92SGeert Uytterhoeven	depends on GENERIC_CLOCKEVENTS
26611bc26feSRichard Weinberger	depends on HAS_IOMEM
267fd3f1270SMagnus Damm	default SYS_SUPPORTS_SH_CMT
268fd3f1270SMagnus Damm	help
269fd3f1270SMagnus Damm	  This enables build of a clocksource and clockevent driver for
270fd3f1270SMagnus Damm	  the Compare Match Timer (CMT) hardware available in 16/32/48-bit
271fd3f1270SMagnus Damm	  variants on a wide range of Mobile and Automotive SoCs from Renesas.
272fd3f1270SMagnus Damm
273fd3f1270SMagnus Dammconfig SH_TIMER_MTU2
274fd3f1270SMagnus Damm	bool "Renesas MTU2 timer driver" if COMPILE_TEST
27587291a92SGeert Uytterhoeven	depends on GENERIC_CLOCKEVENTS
27611bc26feSRichard Weinberger	depends on HAS_IOMEM
277fd3f1270SMagnus Damm	default SYS_SUPPORTS_SH_MTU2
278fd3f1270SMagnus Damm	help
279fd3f1270SMagnus Damm	  This enables build of a clockevent driver for the Multi-Function
2807e139187SKuninori Morimoto	  Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
281fd3f1270SMagnus Damm	  This hardware comes with 16 bit-timer registers.
282fd3f1270SMagnus Damm
283fd3f1270SMagnus Dammconfig SH_TIMER_TMU
284fd3f1270SMagnus Damm	bool "Renesas TMU timer driver" if COMPILE_TEST
28587291a92SGeert Uytterhoeven	depends on GENERIC_CLOCKEVENTS
28611bc26feSRichard Weinberger	depends on HAS_IOMEM
287fd3f1270SMagnus Damm	default SYS_SUPPORTS_SH_TMU
288fd3f1270SMagnus Damm	help
289fd3f1270SMagnus Damm	  This enables build of a clocksource and clockevent driver for
290fd3f1270SMagnus Damm	  the 32-bit Timer Unit (TMU) hardware available on a wide range
291fd3f1270SMagnus Damm	  SoCs from Renesas.
292fd3f1270SMagnus Damm
293fd3f1270SMagnus Dammconfig EM_TIMER_STI
294fd3f1270SMagnus Damm	bool "Renesas STI timer driver" if COMPILE_TEST
29540c96312SChen Gang	depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
296fd3f1270SMagnus Damm	default SYS_SUPPORTS_EM_STI
297fd3f1270SMagnus Damm	help
298fd3f1270SMagnus Damm	  This enables build of a clocksource and clockevent driver for
299fd3f1270SMagnus Damm	  the 48-bit System Timer (STI) hardware available on a SoCs
300fd3f1270SMagnus Damm	  such as EMEV2 from former NEC Electronics.
301dfc25e45SLinus Torvalds
3023f8e8ceeSKumar Galaconfig CLKSRC_QCOM
3033dc0e9f6SDaniel Lezcano	bool "Qualcomm MSM timer" if COMPILE_TEST
3043dc0e9f6SDaniel Lezcano	depends on ARM
3053dc0e9f6SDaniel Lezcano	select CLKSRC_OF
3063dc0e9f6SDaniel Lezcano	help
3073dc0e9f6SDaniel Lezcano	  This enables the clocksource and the per CPU clockevent driver for the
3083dc0e9f6SDaniel Lezcano	  Qualcomm SoCs.
309220e2a8dSPawel Moll
310220e2a8dSPawel Mollconfig CLKSRC_VERSATILE
311220e2a8dSPawel Moll	bool "ARM Versatile (Express) reference platforms clock source"
312ff37015bSDeng-Cheng Zhu	depends on PLAT_VERSATILE && GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET
313220e2a8dSPawel Moll	select CLKSRC_OF
314220e2a8dSPawel Moll	default y if MFD_VEXPRESS_SYSREG
315220e2a8dSPawel Moll	help
316220e2a8dSPawel Moll	  This option enables clock source based on free running
317220e2a8dSPawel Moll	  counter available in the "System Registers" block of
318220e2a8dSPawel Moll	  ARM Versatile, RealView and Versatile Express reference
319220e2a8dSPawel Moll	  platforms.
32058394271SJean Delvare
321fa5635a2SAndrew Brestickerconfig CLKSRC_MIPS_GIC
322fa5635a2SAndrew Bresticker	bool
323fa5635a2SAndrew Bresticker	depends on MIPS_GIC
324e12aa828SAndrew Bresticker	select CLKSRC_OF
325fa5635a2SAndrew Bresticker
326ccd63ce4SMarc Gonzalezconfig CLKSRC_TANGO_XTAL
3275a7351f0SDaniel Lezcano	bool "Clocksource for Tango SoC" if COMPILE_TEST
3285a7351f0SDaniel Lezcano	depends on ARM
329ccd63ce4SMarc Gonzalez	select CLKSRC_OF
3305a7351f0SDaniel Lezcano	help
3315a7351f0SDaniel Lezcano	  This enables the clocksource for Tango SoC
332ccd63ce4SMarc Gonzalez
333e074ff86SDmitry Eremin-Solenikovconfig CLKSRC_PXA
3345ae996cbSDaniel Lezcano	bool "Clocksource for PXA or SA-11x0 platform" if COMPILE_TEST
3355ae996cbSDaniel Lezcano	depends on GENERIC_CLOCKEVENTS
3365ae996cbSDaniel Lezcano	select CLKSRC_MMIO
337e074ff86SDmitry Eremin-Solenikov	help
338e074ff86SDmitry Eremin-Solenikov	  This enables OST0 support available on PXA and SA-11x0
339e074ff86SDmitry Eremin-Solenikov	  platforms.
340618b902dSYoshinori Sato
341618b902dSYoshinori Satoconfig H8300_TMR16
342618b902dSYoshinori Sato        bool
343618b902dSYoshinori Sato
344618b902dSYoshinori Satoconfig H8300_TPU
345618b902dSYoshinori Sato        bool
346618b902dSYoshinori Sato
347bea5af41SShawn Guoconfig CLKSRC_IMX_GPT
348bea5af41SShawn Guo	bool "Clocksource using i.MX GPT" if COMPILE_TEST
349bea5af41SShawn Guo	depends on ARM && CLKDEV_LOOKUP
350bea5af41SShawn Guo	select CLKSRC_MMIO
351bea5af41SShawn Guo
35270bef01cSLee Jonesconfig CLKSRC_ST_LPC
353baacaf83SDaniel Lezcano	bool "Low power clocksource found in the LPC" if COMPILE_TEST
35470bef01cSLee Jones	select CLKSRC_OF if OF
35570bef01cSLee Jones	help
35670bef01cSLee Jones	  Enable this option to use the Low Power controller timer
35770bef01cSLee Jones	  as clocksource.
35870bef01cSLee Jones
35958394271SJean Delvareendmenu
360