xref: /openbmc/linux/drivers/clocksource/Kconfig (revision fe851f56)
158394271SJean Delvaremenu "Clock Source drivers"
258394271SJean Delvare
3ae278a93SStephen Warrenconfig CLKSRC_OF
4ae278a93SStephen Warren	bool
5ae278a93SStephen Warren
689c0b8e2SRussell Kingconfig CLKSRC_I8253
789c0b8e2SRussell King	bool
8442c8176SRussell King
9e6220bdcSThomas Gleixnerconfig CLKEVT_I8253
10e6220bdcSThomas Gleixner	bool
11e6220bdcSThomas Gleixner
1215f304b6SRalf Baechleconfig I8253_LOCK
1315f304b6SRalf Baechle	bool
1415f304b6SRalf Baechle
1515f304b6SRalf Baechleconfig CLKBLD_I8253
16e6220bdcSThomas Gleixner	def_bool y if CLKSRC_I8253 || CLKEVT_I8253 || I8253_LOCK
1715f304b6SRalf Baechle
18442c8176SRussell Kingconfig CLKSRC_MMIO
19442c8176SRussell King	bool
2006c3df49SJamie Iles
219b8bb773SBaruch Siachconfig DIGICOLOR_TIMER
229b8bb773SBaruch Siach	bool
239b8bb773SBaruch Siach
2406c3df49SJamie Ilesconfig DW_APB_TIMER
2506c3df49SJamie Iles	bool
26489bcceaSMattias Wallin
27cfda5901SDinh Nguyenconfig DW_APB_TIMER_OF
28cfda5901SDinh Nguyen	bool
291b4eca0fSHeiko Stuebner	select DW_APB_TIMER
3010021488SHeiko Stuebner	select CLKSRC_OF
31cfda5901SDinh Nguyen
32468b8c4cSDaniel Lezcanoconfig ROCKCHIP_TIMER
33468b8c4cSDaniel Lezcano	bool
34468b8c4cSDaniel Lezcano	select CLKSRC_OF
35468b8c4cSDaniel Lezcano
366fe9cbd1SGregory CLEMENTconfig ARMADA_370_XP_TIMER
376fe9cbd1SGregory CLEMENT	bool
387b0dd72aSJean Pihet	select CLKSRC_OF
396fe9cbd1SGregory CLEMENT
40e4a6b378SCarlo Caioneconfig MESON6_TIMER
41e4a6b378SCarlo Caione	bool
427b6b0a45SBeniamino Galvani	select CLKSRC_MMIO
43e4a6b378SCarlo Caione
440c1dcfd5SSebastian Hesselbarthconfig ORION_TIMER
450c1dcfd5SSebastian Hesselbarth	select CLKSRC_OF
460c1dcfd5SSebastian Hesselbarth	select CLKSRC_MMIO
470c1dcfd5SSebastian Hesselbarth	bool
480c1dcfd5SSebastian Hesselbarth
49119fd635SMaxime Ripardconfig SUN4I_TIMER
5071c568c0SMaxime Ripard	select CLKSRC_MMIO
51b2ac5d75SMaxime Ripard	bool
52b2ac5d75SMaxime Ripard
5367905540SMaxime Ripardconfig SUN5I_HSTIMER
5467905540SMaxime Ripard	select CLKSRC_MMIO
5567905540SMaxime Ripard	bool
5667905540SMaxime Ripard
57910978e7SThierry Redingconfig TEGRA_TIMER
58910978e7SThierry Reding	bool
59910978e7SThierry Reding
60ff7ec345STony Priskconfig VT8500_TIMER
61ff7ec345STony Prisk	bool
62ff7ec345STony Prisk
634f0f234fSMichal Simekconfig CADENCE_TTC_TIMER
644f0f234fSMichal Simek	bool
654f0f234fSMichal Simek
66a8b1b9fcSDaniel Lezcanoconfig ASM9260_TIMER
67a8b1b9fcSDaniel Lezcano	bool
68a8b1b9fcSDaniel Lezcano	select CLKSRC_MMIO
69a8b1b9fcSDaniel Lezcano	select CLKSRC_OF
70a8b1b9fcSDaniel Lezcano
71694e33a7SLinus Walleijconfig CLKSRC_NOMADIK_MTU
72694e33a7SLinus Walleij	bool
73694e33a7SLinus Walleij	depends on (ARCH_NOMADIK || ARCH_U8500)
74694e33a7SLinus Walleij	select CLKSRC_MMIO
75694e33a7SLinus Walleij	help
76694e33a7SLinus Walleij	  Support for Multi Timer Unit. MTU provides access
77694e33a7SLinus Walleij	  to multiple interrupt generating programmable
78694e33a7SLinus Walleij	  32-bit free running decrementing counters.
79694e33a7SLinus Walleij
80694e33a7SLinus Walleijconfig CLKSRC_NOMADIK_MTU_SCHED_CLOCK
81694e33a7SLinus Walleij	bool
82694e33a7SLinus Walleij	depends on CLKSRC_NOMADIK_MTU
83694e33a7SLinus Walleij	help
84694e33a7SLinus Walleij	  Use the Multi Timer Unit as the sched_clock.
85694e33a7SLinus Walleij
86489bcceaSMattias Wallinconfig CLKSRC_DBX500_PRCMU
87489bcceaSMattias Wallin	bool "Clocksource PRCMU Timer"
8829746f48SLinus Walleij	depends on UX500_SOC_DB8500
89489bcceaSMattias Wallin	default y
90489bcceaSMattias Wallin	help
91489bcceaSMattias Wallin	  Use the always on PRCMU Timer as clocksource
92489bcceaSMattias Wallin
93489bcceaSMattias Wallinconfig CLKSRC_DBX500_PRCMU_SCHED_CLOCK
94489bcceaSMattias Wallin	bool "Clocksource PRCMU Timer sched_clock"
95694e33a7SLinus Walleij	depends on (CLKSRC_DBX500_PRCMU && !CLKSRC_NOMADIK_MTU_SCHED_CLOCK)
96489bcceaSMattias Wallin	default y
97489bcceaSMattias Wallin	help
98489bcceaSMattias Wallin	  Use the always on PRCMU Timer as sched_clock
99985c0679SMarc Zyngier
1009c9b7818SUwe Kleine-Königconfig CLKSRC_EFM32
1019c9b7818SUwe Kleine-König	bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32
1029c9b7818SUwe Kleine-König	depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST)
10309ca2757SAxel Lin	select CLKSRC_MMIO
1049c9b7818SUwe Kleine-König	default ARCH_EFM32
1059c9b7818SUwe Kleine-König	help
1069c9b7818SUwe Kleine-König	  Support to use the timers of EFM32 SoCs as clock source and clock
1079c9b7818SUwe Kleine-König	  event device.
1089c9b7818SUwe Kleine-König
109050dd322SJoachim Eastwoodconfig CLKSRC_LPC32XX
110050dd322SJoachim Eastwood	bool
111050dd322SJoachim Eastwood	select CLKSRC_MMIO
112050dd322SJoachim Eastwood	select CLKSRC_OF
113050dd322SJoachim Eastwood
11484583983SEzequiel Garciaconfig CLKSRC_PISTACHIO
11584583983SEzequiel Garcia	bool
11684583983SEzequiel Garcia	select CLKSRC_OF
11784583983SEzequiel Garcia
118*fe851f56SFelipe Balbiconfig CLKSRC_TI_32K
119*fe851f56SFelipe Balbi	bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST
120*fe851f56SFelipe Balbi	select CLKSRC_OF if OF
121*fe851f56SFelipe Balbi	help
122*fe851f56SFelipe Balbi	  This option enables support for Texas Instruments 32.768 Hz clocksource
123*fe851f56SFelipe Balbi	  available on many OMAP-like platforms.
124*fe851f56SFelipe Balbi
125e37e4593SMaxime Coquelinconfig CLKSRC_STM32
1261cb6c215SPaul Gortmaker	bool "Clocksource for STM32 SoCs" if !ARCH_STM32
1271cb6c215SPaul Gortmaker	depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST)
128e37e4593SMaxime Coquelin	select CLKSRC_MMIO
129e37e4593SMaxime Coquelin
1308a4da6e3SMark Rutlandconfig ARM_ARCH_TIMER
1318a4da6e3SMark Rutland	bool
1320583fe47SRob Herring	select CLKSRC_OF if OF
133a2c5d4edSJames Hogan
134037f6377SWill Deaconconfig ARM_ARCH_TIMER_EVTSTREAM
135037f6377SWill Deacon	bool "Support for ARM architected timer event stream generation"
136037f6377SWill Deacon	default y if ARM_ARCH_TIMER
13777f7ce9aSStephen Boyd	depends on ARM_ARCH_TIMER
138037f6377SWill Deacon	help
139037f6377SWill Deacon	  This option enables support for event stream generation based on
140037f6377SWill Deacon	  the ARM architected timer. It is used for waking up CPUs executing
141037f6377SWill Deacon	  the wfe instruction at a frequency represented as a power-of-2
142037f6377SWill Deacon	  divisor of the clock rate.
143037f6377SWill Deacon	  The main use of the event stream is wfe-based timeouts of userspace
144037f6377SWill Deacon	  locking implementations. It might also be useful for imposing timeout
145037f6377SWill Deacon	  on wfe to safeguard against any programming errors in case an expected
146037f6377SWill Deacon	  event is not generated.
147037f6377SWill Deacon	  This must be disabled for hardware validation purposes to detect any
148037f6377SWill Deacon	  hardware anomalies of missing events.
149037f6377SWill Deacon
150c1b40e44SStuart Menefyconfig ARM_GLOBAL_TIMER
151c1b40e44SStuart Menefy	bool
152c1b40e44SStuart Menefy	select CLKSRC_OF if OF
153c1b40e44SStuart Menefy	help
154c1b40e44SStuart Menefy	  This options enables support for the ARM global timer unit
155c1b40e44SStuart Menefy
1560b7402dcSSudeep Hollaconfig ARM_TIMER_SP804
1570b7402dcSSudeep Holla	bool "Support for Dual Timer SP804 module"
158002af195SGuenter Roeck	depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP
1590b7402dcSSudeep Holla	select CLKSRC_MMIO
1600b7402dcSSudeep Holla	select CLKSRC_OF if OF
1610b7402dcSSudeep Holla
162c1b40e44SStuart Menefyconfig CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
163c1b40e44SStuart Menefy	bool
164c1b40e44SStuart Menefy	depends on ARM_GLOBAL_TIMER
165c1b40e44SStuart Menefy	default y
166c1b40e44SStuart Menefy	help
167c1b40e44SStuart Menefy	 Use ARM global timer clock source as sched_clock
168c1b40e44SStuart Menefy
1694958ebb3SMaxime Coquelinconfig ARMV7M_SYSTICK
1704958ebb3SMaxime Coquelin	bool
1714958ebb3SMaxime Coquelin	select CLKSRC_OF if OF
1724958ebb3SMaxime Coquelin	select CLKSRC_MMIO
1734958ebb3SMaxime Coquelin	help
1744958ebb3SMaxime Coquelin	  This options enables support for the ARMv7M system timer unit
1754958ebb3SMaxime Coquelin
176b052ff30SMaxime Ripardconfig ATMEL_PIT
177b052ff30SMaxime Ripard	select CLKSRC_OF if OF
178b052ff30SMaxime Ripard	def_bool SOC_AT91SAM9 || SOC_SAMA5
179b052ff30SMaxime Ripard
180b53cdd03SAlexandre Belloniconfig ATMEL_ST
181b53cdd03SAlexandre Belloni	bool
182b53cdd03SAlexandre Belloni	select CLKSRC_OF
1837ab7ef74SAlexandre Belloni	select MFD_SYSCON
184b53cdd03SAlexandre Belloni
185a2c5d4edSJames Hoganconfig CLKSRC_METAG_GENERIC
186a2c5d4edSJames Hogan	def_bool y if METAG
187a2c5d4edSJames Hogan	help
188a2c5d4edSJames Hogan	  This option enables support for the Meta per-thread timers.
1896938d75aSThomas Abraham
1906938d75aSThomas Abrahamconfig CLKSRC_EXYNOS_MCT
1916938d75aSThomas Abraham	def_bool y if ARCH_EXYNOS
1923252a646SDoug Anderson	depends on !ARM64
1936938d75aSThomas Abraham	help
1946938d75aSThomas Abraham	  Support for Multi Core Timer controller on Exynos SoCs.
195241a9871SArnd Bergmann
196f1189989STomasz Figaconfig CLKSRC_SAMSUNG_PWM
19777d84434STomasz Figa	bool
198f1189989STomasz Figa	help
199f1189989STomasz Figa	  This is a new clocksource driver for the PWM timer found in
200f1189989STomasz Figa	  Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
201f1189989STomasz Figa	  for all devicetree enabled platforms. This driver will be
202f1189989STomasz Figa	  needed only on systems that do not have the Exynos MCT available.
203c1967249SJingchang Lu
2042529c3a3SXiubo Liconfig FSL_FTM_TIMER
2052529c3a3SXiubo Li	bool
2062529c3a3SXiubo Li	help
2072529c3a3SXiubo Li	  Support for Freescale FlexTimer Module (FTM) timer.
2082529c3a3SXiubo Li
209c1967249SJingchang Luconfig VF_PIT_TIMER
210c1967249SJingchang Lu	bool
211c1967249SJingchang Lu	help
212c1967249SJingchang Lu	  Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
213fd3f1270SMagnus Damm
214fd3f1270SMagnus Dammconfig SYS_SUPPORTS_SH_CMT
215fd3f1270SMagnus Damm        bool
216fd3f1270SMagnus Damm
217ecb3530dSMatthias Bruggerconfig MTK_TIMER
218ecb3530dSMatthias Brugger	select CLKSRC_OF
219ecb3530dSMatthias Brugger	select CLKSRC_MMIO
220ecb3530dSMatthias Brugger	bool
221ecb3530dSMatthias Brugger
222fd3f1270SMagnus Dammconfig SYS_SUPPORTS_SH_MTU2
223fd3f1270SMagnus Damm        bool
224fd3f1270SMagnus Damm
225fd3f1270SMagnus Dammconfig SYS_SUPPORTS_SH_TMU
226fd3f1270SMagnus Damm        bool
227fd3f1270SMagnus Damm
228fd3f1270SMagnus Dammconfig SYS_SUPPORTS_EM_STI
229fd3f1270SMagnus Damm        bool
230fd3f1270SMagnus Damm
231fd3f1270SMagnus Dammconfig SH_TIMER_CMT
232fd3f1270SMagnus Damm	bool "Renesas CMT timer driver" if COMPILE_TEST
23387291a92SGeert Uytterhoeven	depends on GENERIC_CLOCKEVENTS
23411bc26feSRichard Weinberger	depends on HAS_IOMEM
235fd3f1270SMagnus Damm	default SYS_SUPPORTS_SH_CMT
236fd3f1270SMagnus Damm	help
237fd3f1270SMagnus Damm	  This enables build of a clocksource and clockevent driver for
238fd3f1270SMagnus Damm	  the Compare Match Timer (CMT) hardware available in 16/32/48-bit
239fd3f1270SMagnus Damm	  variants on a wide range of Mobile and Automotive SoCs from Renesas.
240fd3f1270SMagnus Damm
241fd3f1270SMagnus Dammconfig SH_TIMER_MTU2
242fd3f1270SMagnus Damm	bool "Renesas MTU2 timer driver" if COMPILE_TEST
24387291a92SGeert Uytterhoeven	depends on GENERIC_CLOCKEVENTS
24411bc26feSRichard Weinberger	depends on HAS_IOMEM
245fd3f1270SMagnus Damm	default SYS_SUPPORTS_SH_MTU2
246fd3f1270SMagnus Damm	help
247fd3f1270SMagnus Damm	  This enables build of a clockevent driver for the Multi-Function
2487e139187SKuninori Morimoto	  Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
249fd3f1270SMagnus Damm	  This hardware comes with 16 bit-timer registers.
250fd3f1270SMagnus Damm
251fd3f1270SMagnus Dammconfig SH_TIMER_TMU
252fd3f1270SMagnus Damm	bool "Renesas TMU timer driver" if COMPILE_TEST
25387291a92SGeert Uytterhoeven	depends on GENERIC_CLOCKEVENTS
25411bc26feSRichard Weinberger	depends on HAS_IOMEM
255fd3f1270SMagnus Damm	default SYS_SUPPORTS_SH_TMU
256fd3f1270SMagnus Damm	help
257fd3f1270SMagnus Damm	  This enables build of a clocksource and clockevent driver for
258fd3f1270SMagnus Damm	  the 32-bit Timer Unit (TMU) hardware available on a wide range
259fd3f1270SMagnus Damm	  SoCs from Renesas.
260fd3f1270SMagnus Damm
261fd3f1270SMagnus Dammconfig EM_TIMER_STI
262fd3f1270SMagnus Damm	bool "Renesas STI timer driver" if COMPILE_TEST
26340c96312SChen Gang	depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
264fd3f1270SMagnus Damm	default SYS_SUPPORTS_EM_STI
265fd3f1270SMagnus Damm	help
266fd3f1270SMagnus Damm	  This enables build of a clocksource and clockevent driver for
267fd3f1270SMagnus Damm	  the 48-bit System Timer (STI) hardware available on a SoCs
268fd3f1270SMagnus Damm	  such as EMEV2 from former NEC Electronics.
269dfc25e45SLinus Torvalds
2703f8e8ceeSKumar Galaconfig CLKSRC_QCOM
2713f8e8ceeSKumar Gala	bool
272220e2a8dSPawel Moll
273220e2a8dSPawel Mollconfig CLKSRC_VERSATILE
274220e2a8dSPawel Moll	bool "ARM Versatile (Express) reference platforms clock source"
275ff37015bSDeng-Cheng Zhu	depends on PLAT_VERSATILE && GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET
276220e2a8dSPawel Moll	select CLKSRC_OF
277220e2a8dSPawel Moll	default y if MFD_VEXPRESS_SYSREG
278220e2a8dSPawel Moll	help
279220e2a8dSPawel Moll	  This option enables clock source based on free running
280220e2a8dSPawel Moll	  counter available in the "System Registers" block of
281220e2a8dSPawel Moll	  ARM Versatile, RealView and Versatile Express reference
282220e2a8dSPawel Moll	  platforms.
28358394271SJean Delvare
284fa5635a2SAndrew Brestickerconfig CLKSRC_MIPS_GIC
285fa5635a2SAndrew Bresticker	bool
286fa5635a2SAndrew Bresticker	depends on MIPS_GIC
287e12aa828SAndrew Bresticker	select CLKSRC_OF
288fa5635a2SAndrew Bresticker
289e074ff86SDmitry Eremin-Solenikovconfig CLKSRC_PXA
290e074ff86SDmitry Eremin-Solenikov	def_bool y if ARCH_PXA || ARCH_SA1100
29102760b11SAntonio Borneo	select CLKSRC_OF if OF
292e074ff86SDmitry Eremin-Solenikov	help
293e074ff86SDmitry Eremin-Solenikov	  This enables OST0 support available on PXA and SA-11x0
294e074ff86SDmitry Eremin-Solenikov	  platforms.
295618b902dSYoshinori Sato
296618b902dSYoshinori Satoconfig H8300_TMR16
297618b902dSYoshinori Sato        bool
298618b902dSYoshinori Sato
299618b902dSYoshinori Satoconfig H8300_TPU
300618b902dSYoshinori Sato        bool
301618b902dSYoshinori Sato
302bea5af41SShawn Guoconfig CLKSRC_IMX_GPT
303bea5af41SShawn Guo	bool "Clocksource using i.MX GPT" if COMPILE_TEST
304bea5af41SShawn Guo	depends on ARM && CLKDEV_LOOKUP
305bea5af41SShawn Guo	select CLKSRC_MMIO
306bea5af41SShawn Guo
30770bef01cSLee Jonesconfig CLKSRC_ST_LPC
30870bef01cSLee Jones	bool
30970bef01cSLee Jones	depends on ARCH_STI
31070bef01cSLee Jones	select CLKSRC_OF if OF
31170bef01cSLee Jones	help
31270bef01cSLee Jones	  Enable this option to use the Low Power controller timer
31370bef01cSLee Jones	  as clocksource.
31470bef01cSLee Jones
31558394271SJean Delvareendmenu
316