xref: /openbmc/linux/drivers/clocksource/Kconfig (revision ae281cbd)
158394271SJean Delvaremenu "Clock Source drivers"
258394271SJean Delvare
3ae278a93SStephen Warrenconfig CLKSRC_OF
4ae278a93SStephen Warren	bool
5aad83b15SMarc Zyngier	select CLKSRC_PROBE
6aad83b15SMarc Zyngier
7aad83b15SMarc Zyngierconfig CLKSRC_ACPI
8aad83b15SMarc Zyngier	bool
9aad83b15SMarc Zyngier	select CLKSRC_PROBE
10aad83b15SMarc Zyngier
11aad83b15SMarc Zyngierconfig CLKSRC_PROBE
12aad83b15SMarc Zyngier	bool
13ae278a93SStephen Warren
1489c0b8e2SRussell Kingconfig CLKSRC_I8253
1589c0b8e2SRussell King	bool
16442c8176SRussell King
17e6220bdcSThomas Gleixnerconfig CLKEVT_I8253
18e6220bdcSThomas Gleixner	bool
19e6220bdcSThomas Gleixner
2015f304b6SRalf Baechleconfig I8253_LOCK
2115f304b6SRalf Baechle	bool
2215f304b6SRalf Baechle
2315f304b6SRalf Baechleconfig CLKBLD_I8253
24e6220bdcSThomas Gleixner	def_bool y if CLKSRC_I8253 || CLKEVT_I8253 || I8253_LOCK
2515f304b6SRalf Baechle
26442c8176SRussell Kingconfig CLKSRC_MMIO
27442c8176SRussell King	bool
2806c3df49SJamie Iles
299b8bb773SBaruch Siachconfig DIGICOLOR_TIMER
309b8bb773SBaruch Siach	bool
319b8bb773SBaruch Siach
3206c3df49SJamie Ilesconfig DW_APB_TIMER
3306c3df49SJamie Iles	bool
34489bcceaSMattias Wallin
35cfda5901SDinh Nguyenconfig DW_APB_TIMER_OF
36cfda5901SDinh Nguyen	bool
371b4eca0fSHeiko Stuebner	select DW_APB_TIMER
3810021488SHeiko Stuebner	select CLKSRC_OF
39cfda5901SDinh Nguyen
40468b8c4cSDaniel Lezcanoconfig ROCKCHIP_TIMER
41468b8c4cSDaniel Lezcano	bool
42468b8c4cSDaniel Lezcano	select CLKSRC_OF
43468b8c4cSDaniel Lezcano
446fe9cbd1SGregory CLEMENTconfig ARMADA_370_XP_TIMER
456fe9cbd1SGregory CLEMENT	bool
467b0dd72aSJean Pihet	select CLKSRC_OF
476fe9cbd1SGregory CLEMENT
48e4a6b378SCarlo Caioneconfig MESON6_TIMER
49e4a6b378SCarlo Caione	bool
507b6b0a45SBeniamino Galvani	select CLKSRC_MMIO
51e4a6b378SCarlo Caione
520c1dcfd5SSebastian Hesselbarthconfig ORION_TIMER
530c1dcfd5SSebastian Hesselbarth	select CLKSRC_OF
540c1dcfd5SSebastian Hesselbarth	select CLKSRC_MMIO
550c1dcfd5SSebastian Hesselbarth	bool
560c1dcfd5SSebastian Hesselbarth
57119fd635SMaxime Ripardconfig SUN4I_TIMER
5871c568c0SMaxime Ripard	select CLKSRC_MMIO
59b2ac5d75SMaxime Ripard	bool
60b2ac5d75SMaxime Ripard
6167905540SMaxime Ripardconfig SUN5I_HSTIMER
6267905540SMaxime Ripard	select CLKSRC_MMIO
6367905540SMaxime Ripard	bool
6467905540SMaxime Ripard
65910978e7SThierry Redingconfig TEGRA_TIMER
66910978e7SThierry Reding	bool
67910978e7SThierry Reding
68ff7ec345STony Priskconfig VT8500_TIMER
69ff7ec345STony Prisk	bool
70ff7ec345STony Prisk
714f0f234fSMichal Simekconfig CADENCE_TTC_TIMER
724f0f234fSMichal Simek	bool
734f0f234fSMichal Simek
74a8b1b9fcSDaniel Lezcanoconfig ASM9260_TIMER
75a8b1b9fcSDaniel Lezcano	bool
76a8b1b9fcSDaniel Lezcano	select CLKSRC_MMIO
77a8b1b9fcSDaniel Lezcano	select CLKSRC_OF
78a8b1b9fcSDaniel Lezcano
79694e33a7SLinus Walleijconfig CLKSRC_NOMADIK_MTU
80694e33a7SLinus Walleij	bool
81694e33a7SLinus Walleij	depends on (ARCH_NOMADIK || ARCH_U8500)
82694e33a7SLinus Walleij	select CLKSRC_MMIO
83694e33a7SLinus Walleij	help
84694e33a7SLinus Walleij	  Support for Multi Timer Unit. MTU provides access
85694e33a7SLinus Walleij	  to multiple interrupt generating programmable
86694e33a7SLinus Walleij	  32-bit free running decrementing counters.
87694e33a7SLinus Walleij
88694e33a7SLinus Walleijconfig CLKSRC_NOMADIK_MTU_SCHED_CLOCK
89694e33a7SLinus Walleij	bool
90694e33a7SLinus Walleij	depends on CLKSRC_NOMADIK_MTU
91694e33a7SLinus Walleij	help
92694e33a7SLinus Walleij	  Use the Multi Timer Unit as the sched_clock.
93694e33a7SLinus Walleij
94489bcceaSMattias Wallinconfig CLKSRC_DBX500_PRCMU
95489bcceaSMattias Wallin	bool "Clocksource PRCMU Timer"
9629746f48SLinus Walleij	depends on UX500_SOC_DB8500
97489bcceaSMattias Wallin	default y
98489bcceaSMattias Wallin	help
99489bcceaSMattias Wallin	  Use the always on PRCMU Timer as clocksource
100489bcceaSMattias Wallin
101489bcceaSMattias Wallinconfig CLKSRC_DBX500_PRCMU_SCHED_CLOCK
102489bcceaSMattias Wallin	bool "Clocksource PRCMU Timer sched_clock"
103694e33a7SLinus Walleij	depends on (CLKSRC_DBX500_PRCMU && !CLKSRC_NOMADIK_MTU_SCHED_CLOCK)
104489bcceaSMattias Wallin	default y
105489bcceaSMattias Wallin	help
106489bcceaSMattias Wallin	  Use the always on PRCMU Timer as sched_clock
107985c0679SMarc Zyngier
1089c9b7818SUwe Kleine-Königconfig CLKSRC_EFM32
1099c9b7818SUwe Kleine-König	bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32
1109c9b7818SUwe Kleine-König	depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST)
11109ca2757SAxel Lin	select CLKSRC_MMIO
1129c9b7818SUwe Kleine-König	default ARCH_EFM32
1139c9b7818SUwe Kleine-König	help
1149c9b7818SUwe Kleine-König	  Support to use the timers of EFM32 SoCs as clock source and clock
1159c9b7818SUwe Kleine-König	  event device.
1169c9b7818SUwe Kleine-König
117050dd322SJoachim Eastwoodconfig CLKSRC_LPC32XX
118050dd322SJoachim Eastwood	bool
119050dd322SJoachim Eastwood	select CLKSRC_MMIO
120050dd322SJoachim Eastwood	select CLKSRC_OF
121050dd322SJoachim Eastwood
12284583983SEzequiel Garciaconfig CLKSRC_PISTACHIO
12384583983SEzequiel Garcia	bool
12484583983SEzequiel Garcia	select CLKSRC_OF
12584583983SEzequiel Garcia
126e37e4593SMaxime Coquelinconfig CLKSRC_STM32
1271cb6c215SPaul Gortmaker	bool "Clocksource for STM32 SoCs" if !ARCH_STM32
1281cb6c215SPaul Gortmaker	depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST)
129e37e4593SMaxime Coquelin	select CLKSRC_MMIO
130e37e4593SMaxime Coquelin
1318a4da6e3SMark Rutlandconfig ARM_ARCH_TIMER
1328a4da6e3SMark Rutland	bool
1330583fe47SRob Herring	select CLKSRC_OF if OF
134*ae281cbdSMarc Zyngier	select CLKSRC_ACPI if ACPI
135a2c5d4edSJames Hogan
136037f6377SWill Deaconconfig ARM_ARCH_TIMER_EVTSTREAM
137037f6377SWill Deacon	bool "Support for ARM architected timer event stream generation"
138037f6377SWill Deacon	default y if ARM_ARCH_TIMER
13977f7ce9aSStephen Boyd	depends on ARM_ARCH_TIMER
140037f6377SWill Deacon	help
141037f6377SWill Deacon	  This option enables support for event stream generation based on
142037f6377SWill Deacon	  the ARM architected timer. It is used for waking up CPUs executing
143037f6377SWill Deacon	  the wfe instruction at a frequency represented as a power-of-2
144037f6377SWill Deacon	  divisor of the clock rate.
145037f6377SWill Deacon	  The main use of the event stream is wfe-based timeouts of userspace
146037f6377SWill Deacon	  locking implementations. It might also be useful for imposing timeout
147037f6377SWill Deacon	  on wfe to safeguard against any programming errors in case an expected
148037f6377SWill Deacon	  event is not generated.
149037f6377SWill Deacon	  This must be disabled for hardware validation purposes to detect any
150037f6377SWill Deacon	  hardware anomalies of missing events.
151037f6377SWill Deacon
152c1b40e44SStuart Menefyconfig ARM_GLOBAL_TIMER
153c1b40e44SStuart Menefy	bool
154c1b40e44SStuart Menefy	select CLKSRC_OF if OF
155c1b40e44SStuart Menefy	help
156c1b40e44SStuart Menefy	  This options enables support for the ARM global timer unit
157c1b40e44SStuart Menefy
1580b7402dcSSudeep Hollaconfig ARM_TIMER_SP804
1590b7402dcSSudeep Holla	bool "Support for Dual Timer SP804 module"
160002af195SGuenter Roeck	depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP
1610b7402dcSSudeep Holla	select CLKSRC_MMIO
1620b7402dcSSudeep Holla	select CLKSRC_OF if OF
1630b7402dcSSudeep Holla
164c1b40e44SStuart Menefyconfig CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
165c1b40e44SStuart Menefy	bool
166c1b40e44SStuart Menefy	depends on ARM_GLOBAL_TIMER
167c1b40e44SStuart Menefy	default y
168c1b40e44SStuart Menefy	help
169c1b40e44SStuart Menefy	 Use ARM global timer clock source as sched_clock
170c1b40e44SStuart Menefy
1714958ebb3SMaxime Coquelinconfig ARMV7M_SYSTICK
1724958ebb3SMaxime Coquelin	bool
1734958ebb3SMaxime Coquelin	select CLKSRC_OF if OF
1744958ebb3SMaxime Coquelin	select CLKSRC_MMIO
1754958ebb3SMaxime Coquelin	help
1764958ebb3SMaxime Coquelin	  This options enables support for the ARMv7M system timer unit
1774958ebb3SMaxime Coquelin
178b052ff30SMaxime Ripardconfig ATMEL_PIT
179b052ff30SMaxime Ripard	select CLKSRC_OF if OF
180b052ff30SMaxime Ripard	def_bool SOC_AT91SAM9 || SOC_SAMA5
181b052ff30SMaxime Ripard
182b53cdd03SAlexandre Belloniconfig ATMEL_ST
183b53cdd03SAlexandre Belloni	bool
184b53cdd03SAlexandre Belloni	select CLKSRC_OF
1857ab7ef74SAlexandre Belloni	select MFD_SYSCON
186b53cdd03SAlexandre Belloni
187a2c5d4edSJames Hoganconfig CLKSRC_METAG_GENERIC
188a2c5d4edSJames Hogan	def_bool y if METAG
189a2c5d4edSJames Hogan	help
190a2c5d4edSJames Hogan	  This option enables support for the Meta per-thread timers.
1916938d75aSThomas Abraham
1926938d75aSThomas Abrahamconfig CLKSRC_EXYNOS_MCT
1936938d75aSThomas Abraham	def_bool y if ARCH_EXYNOS
1943252a646SDoug Anderson	depends on !ARM64
1956938d75aSThomas Abraham	help
1966938d75aSThomas Abraham	  Support for Multi Core Timer controller on Exynos SoCs.
197241a9871SArnd Bergmann
198f1189989STomasz Figaconfig CLKSRC_SAMSUNG_PWM
19977d84434STomasz Figa	bool
200f1189989STomasz Figa	help
201f1189989STomasz Figa	  This is a new clocksource driver for the PWM timer found in
202f1189989STomasz Figa	  Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
203f1189989STomasz Figa	  for all devicetree enabled platforms. This driver will be
204f1189989STomasz Figa	  needed only on systems that do not have the Exynos MCT available.
205c1967249SJingchang Lu
2062529c3a3SXiubo Liconfig FSL_FTM_TIMER
2072529c3a3SXiubo Li	bool
2082529c3a3SXiubo Li	help
2092529c3a3SXiubo Li	  Support for Freescale FlexTimer Module (FTM) timer.
2102529c3a3SXiubo Li
211c1967249SJingchang Luconfig VF_PIT_TIMER
212c1967249SJingchang Lu	bool
213c1967249SJingchang Lu	help
214c1967249SJingchang Lu	  Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
215fd3f1270SMagnus Damm
216fd3f1270SMagnus Dammconfig SYS_SUPPORTS_SH_CMT
217fd3f1270SMagnus Damm        bool
218fd3f1270SMagnus Damm
219ecb3530dSMatthias Bruggerconfig MTK_TIMER
220ecb3530dSMatthias Brugger	select CLKSRC_OF
221ecb3530dSMatthias Brugger	select CLKSRC_MMIO
222ecb3530dSMatthias Brugger	bool
223ecb3530dSMatthias Brugger
224fd3f1270SMagnus Dammconfig SYS_SUPPORTS_SH_MTU2
225fd3f1270SMagnus Damm        bool
226fd3f1270SMagnus Damm
227fd3f1270SMagnus Dammconfig SYS_SUPPORTS_SH_TMU
228fd3f1270SMagnus Damm        bool
229fd3f1270SMagnus Damm
230fd3f1270SMagnus Dammconfig SYS_SUPPORTS_EM_STI
231fd3f1270SMagnus Damm        bool
232fd3f1270SMagnus Damm
233fd3f1270SMagnus Dammconfig SH_TIMER_CMT
234fd3f1270SMagnus Damm	bool "Renesas CMT timer driver" if COMPILE_TEST
23587291a92SGeert Uytterhoeven	depends on GENERIC_CLOCKEVENTS
23611bc26feSRichard Weinberger	depends on HAS_IOMEM
237fd3f1270SMagnus Damm	default SYS_SUPPORTS_SH_CMT
238fd3f1270SMagnus Damm	help
239fd3f1270SMagnus Damm	  This enables build of a clocksource and clockevent driver for
240fd3f1270SMagnus Damm	  the Compare Match Timer (CMT) hardware available in 16/32/48-bit
241fd3f1270SMagnus Damm	  variants on a wide range of Mobile and Automotive SoCs from Renesas.
242fd3f1270SMagnus Damm
243fd3f1270SMagnus Dammconfig SH_TIMER_MTU2
244fd3f1270SMagnus Damm	bool "Renesas MTU2 timer driver" if COMPILE_TEST
24587291a92SGeert Uytterhoeven	depends on GENERIC_CLOCKEVENTS
24611bc26feSRichard Weinberger	depends on HAS_IOMEM
247fd3f1270SMagnus Damm	default SYS_SUPPORTS_SH_MTU2
248fd3f1270SMagnus Damm	help
249fd3f1270SMagnus Damm	  This enables build of a clockevent driver for the Multi-Function
2507e139187SKuninori Morimoto	  Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
251fd3f1270SMagnus Damm	  This hardware comes with 16 bit-timer registers.
252fd3f1270SMagnus Damm
253fd3f1270SMagnus Dammconfig SH_TIMER_TMU
254fd3f1270SMagnus Damm	bool "Renesas TMU timer driver" if COMPILE_TEST
25587291a92SGeert Uytterhoeven	depends on GENERIC_CLOCKEVENTS
25611bc26feSRichard Weinberger	depends on HAS_IOMEM
257fd3f1270SMagnus Damm	default SYS_SUPPORTS_SH_TMU
258fd3f1270SMagnus Damm	help
259fd3f1270SMagnus Damm	  This enables build of a clocksource and clockevent driver for
260fd3f1270SMagnus Damm	  the 32-bit Timer Unit (TMU) hardware available on a wide range
261fd3f1270SMagnus Damm	  SoCs from Renesas.
262fd3f1270SMagnus Damm
263fd3f1270SMagnus Dammconfig EM_TIMER_STI
264fd3f1270SMagnus Damm	bool "Renesas STI timer driver" if COMPILE_TEST
26540c96312SChen Gang	depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
266fd3f1270SMagnus Damm	default SYS_SUPPORTS_EM_STI
267fd3f1270SMagnus Damm	help
268fd3f1270SMagnus Damm	  This enables build of a clocksource and clockevent driver for
269fd3f1270SMagnus Damm	  the 48-bit System Timer (STI) hardware available on a SoCs
270fd3f1270SMagnus Damm	  such as EMEV2 from former NEC Electronics.
271dfc25e45SLinus Torvalds
2723f8e8ceeSKumar Galaconfig CLKSRC_QCOM
2733f8e8ceeSKumar Gala	bool
274220e2a8dSPawel Moll
275220e2a8dSPawel Mollconfig CLKSRC_VERSATILE
276220e2a8dSPawel Moll	bool "ARM Versatile (Express) reference platforms clock source"
277ff37015bSDeng-Cheng Zhu	depends on PLAT_VERSATILE && GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET
278220e2a8dSPawel Moll	select CLKSRC_OF
279220e2a8dSPawel Moll	default y if MFD_VEXPRESS_SYSREG
280220e2a8dSPawel Moll	help
281220e2a8dSPawel Moll	  This option enables clock source based on free running
282220e2a8dSPawel Moll	  counter available in the "System Registers" block of
283220e2a8dSPawel Moll	  ARM Versatile, RealView and Versatile Express reference
284220e2a8dSPawel Moll	  platforms.
28558394271SJean Delvare
286fa5635a2SAndrew Brestickerconfig CLKSRC_MIPS_GIC
287fa5635a2SAndrew Bresticker	bool
288fa5635a2SAndrew Bresticker	depends on MIPS_GIC
289e12aa828SAndrew Bresticker	select CLKSRC_OF
290fa5635a2SAndrew Bresticker
291e074ff86SDmitry Eremin-Solenikovconfig CLKSRC_PXA
292e074ff86SDmitry Eremin-Solenikov	def_bool y if ARCH_PXA || ARCH_SA1100
29302760b11SAntonio Borneo	select CLKSRC_OF if OF
294e074ff86SDmitry Eremin-Solenikov	help
295e074ff86SDmitry Eremin-Solenikov	  This enables OST0 support available on PXA and SA-11x0
296e074ff86SDmitry Eremin-Solenikov	  platforms.
297618b902dSYoshinori Sato
298618b902dSYoshinori Satoconfig H8300_TMR16
299618b902dSYoshinori Sato        bool
300618b902dSYoshinori Sato
301618b902dSYoshinori Satoconfig H8300_TPU
302618b902dSYoshinori Sato        bool
303618b902dSYoshinori Sato
304bea5af41SShawn Guoconfig CLKSRC_IMX_GPT
305bea5af41SShawn Guo	bool "Clocksource using i.MX GPT" if COMPILE_TEST
306bea5af41SShawn Guo	depends on ARM && CLKDEV_LOOKUP
307bea5af41SShawn Guo	select CLKSRC_MMIO
308bea5af41SShawn Guo
30970bef01cSLee Jonesconfig CLKSRC_ST_LPC
31070bef01cSLee Jones	bool
31170bef01cSLee Jones	depends on ARCH_STI
31270bef01cSLee Jones	select CLKSRC_OF if OF
31370bef01cSLee Jones	help
31470bef01cSLee Jones	  Enable this option to use the Low Power controller timer
31570bef01cSLee Jones	  as clocksource.
31670bef01cSLee Jones
31758394271SJean Delvareendmenu
318