xref: /openbmc/linux/drivers/clocksource/Kconfig (revision 5a7351f0)
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
319b8bb773SBaruch Siach	bool
329b8bb773SBaruch Siach
3306c3df49SJamie Ilesconfig DW_APB_TIMER
3406c3df49SJamie Iles	bool
35489bcceaSMattias Wallin
36cfda5901SDinh Nguyenconfig DW_APB_TIMER_OF
37cfda5901SDinh Nguyen	bool
381b4eca0fSHeiko Stuebner	select DW_APB_TIMER
3910021488SHeiko Stuebner	select CLKSRC_OF
40cfda5901SDinh Nguyen
41468b8c4cSDaniel Lezcanoconfig ROCKCHIP_TIMER
42468b8c4cSDaniel Lezcano	bool
43468b8c4cSDaniel Lezcano	select CLKSRC_OF
44468b8c4cSDaniel Lezcano
456fe9cbd1SGregory CLEMENTconfig ARMADA_370_XP_TIMER
466fe9cbd1SGregory CLEMENT	bool
477b0dd72aSJean Pihet	select CLKSRC_OF
486fe9cbd1SGregory CLEMENT
49e4a6b378SCarlo Caioneconfig MESON6_TIMER
50e4a6b378SCarlo Caione	bool
517b6b0a45SBeniamino Galvani	select CLKSRC_MMIO
52e4a6b378SCarlo Caione
530c1dcfd5SSebastian Hesselbarthconfig ORION_TIMER
540c1dcfd5SSebastian Hesselbarth	select CLKSRC_OF
550c1dcfd5SSebastian Hesselbarth	select CLKSRC_MMIO
560c1dcfd5SSebastian Hesselbarth	bool
570c1dcfd5SSebastian Hesselbarth
58119fd635SMaxime Ripardconfig SUN4I_TIMER
5971c568c0SMaxime Ripard	select CLKSRC_MMIO
60b2ac5d75SMaxime Ripard	bool
61b2ac5d75SMaxime Ripard
6267905540SMaxime Ripardconfig SUN5I_HSTIMER
6367905540SMaxime Ripard	select CLKSRC_MMIO
6467905540SMaxime Ripard	bool
6567905540SMaxime Ripard
66910978e7SThierry Redingconfig TEGRA_TIMER
67910978e7SThierry Reding	bool
68910978e7SThierry Reding
69ff7ec345STony Priskconfig VT8500_TIMER
70ff7ec345STony Prisk	bool
71ff7ec345STony Prisk
724f0f234fSMichal Simekconfig CADENCE_TTC_TIMER
734f0f234fSMichal Simek	bool
744f0f234fSMichal Simek
75a8b1b9fcSDaniel Lezcanoconfig ASM9260_TIMER
76a8b1b9fcSDaniel Lezcano	bool
77a8b1b9fcSDaniel Lezcano	select CLKSRC_MMIO
78a8b1b9fcSDaniel Lezcano	select CLKSRC_OF
79a8b1b9fcSDaniel Lezcano
80694e33a7SLinus Walleijconfig CLKSRC_NOMADIK_MTU
81694e33a7SLinus Walleij	bool
82694e33a7SLinus Walleij	depends on (ARCH_NOMADIK || ARCH_U8500)
83694e33a7SLinus Walleij	select CLKSRC_MMIO
84694e33a7SLinus Walleij	help
85694e33a7SLinus Walleij	  Support for Multi Timer Unit. MTU provides access
86694e33a7SLinus Walleij	  to multiple interrupt generating programmable
87694e33a7SLinus Walleij	  32-bit free running decrementing counters.
88694e33a7SLinus Walleij
89694e33a7SLinus Walleijconfig CLKSRC_NOMADIK_MTU_SCHED_CLOCK
90694e33a7SLinus Walleij	bool
91694e33a7SLinus Walleij	depends on CLKSRC_NOMADIK_MTU
92694e33a7SLinus Walleij	help
93694e33a7SLinus Walleij	  Use the Multi Timer Unit as the sched_clock.
94694e33a7SLinus Walleij
95489bcceaSMattias Wallinconfig CLKSRC_DBX500_PRCMU
96489bcceaSMattias Wallin	bool "Clocksource PRCMU Timer"
9729746f48SLinus Walleij	depends on UX500_SOC_DB8500
98489bcceaSMattias Wallin	default y
99489bcceaSMattias Wallin	help
100489bcceaSMattias Wallin	  Use the always on PRCMU Timer as clocksource
101489bcceaSMattias Wallin
102489bcceaSMattias Wallinconfig CLKSRC_DBX500_PRCMU_SCHED_CLOCK
103489bcceaSMattias Wallin	bool "Clocksource PRCMU Timer sched_clock"
104694e33a7SLinus Walleij	depends on (CLKSRC_DBX500_PRCMU && !CLKSRC_NOMADIK_MTU_SCHED_CLOCK)
105489bcceaSMattias Wallin	default y
106489bcceaSMattias Wallin	help
107489bcceaSMattias Wallin	  Use the always on PRCMU Timer as sched_clock
108985c0679SMarc Zyngier
1099c9b7818SUwe Kleine-Königconfig CLKSRC_EFM32
1109c9b7818SUwe Kleine-König	bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32
1119c9b7818SUwe Kleine-König	depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST)
11209ca2757SAxel Lin	select CLKSRC_MMIO
1139c9b7818SUwe Kleine-König	default ARCH_EFM32
1149c9b7818SUwe Kleine-König	help
1159c9b7818SUwe Kleine-König	  Support to use the timers of EFM32 SoCs as clock source and clock
1169c9b7818SUwe Kleine-König	  event device.
1179c9b7818SUwe Kleine-König
118050dd322SJoachim Eastwoodconfig CLKSRC_LPC32XX
119050dd322SJoachim Eastwood	bool
120050dd322SJoachim Eastwood	select CLKSRC_MMIO
121050dd322SJoachim Eastwood	select CLKSRC_OF
122050dd322SJoachim Eastwood
12384583983SEzequiel Garciaconfig CLKSRC_PISTACHIO
12484583983SEzequiel Garcia	bool
12584583983SEzequiel Garcia	select CLKSRC_OF
12684583983SEzequiel Garcia
127fe851f56SFelipe Balbiconfig CLKSRC_TI_32K
128fe851f56SFelipe Balbi	bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST
129dfedaf10SFelipe Balbi	depends on GENERIC_SCHED_CLOCK
130fe851f56SFelipe Balbi	select CLKSRC_OF if OF
131fe851f56SFelipe Balbi	help
132fe851f56SFelipe Balbi	  This option enables support for Texas Instruments 32.768 Hz clocksource
133fe851f56SFelipe Balbi	  available on many OMAP-like platforms.
134fe851f56SFelipe Balbi
135e37e4593SMaxime Coquelinconfig CLKSRC_STM32
1361cb6c215SPaul Gortmaker	bool "Clocksource for STM32 SoCs" if !ARCH_STM32
1371cb6c215SPaul Gortmaker	depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST)
138e37e4593SMaxime Coquelin	select CLKSRC_MMIO
139e37e4593SMaxime Coquelin
1408a4da6e3SMark Rutlandconfig ARM_ARCH_TIMER
1418a4da6e3SMark Rutland	bool
1420583fe47SRob Herring	select CLKSRC_OF if OF
143ae281cbdSMarc Zyngier	select CLKSRC_ACPI if ACPI
144a2c5d4edSJames Hogan
145037f6377SWill Deaconconfig ARM_ARCH_TIMER_EVTSTREAM
146037f6377SWill Deacon	bool "Support for ARM architected timer event stream generation"
147037f6377SWill Deacon	default y if ARM_ARCH_TIMER
14877f7ce9aSStephen Boyd	depends on ARM_ARCH_TIMER
149037f6377SWill Deacon	help
150037f6377SWill Deacon	  This option enables support for event stream generation based on
151037f6377SWill Deacon	  the ARM architected timer. It is used for waking up CPUs executing
152037f6377SWill Deacon	  the wfe instruction at a frequency represented as a power-of-2
153037f6377SWill Deacon	  divisor of the clock rate.
154037f6377SWill Deacon	  The main use of the event stream is wfe-based timeouts of userspace
155037f6377SWill Deacon	  locking implementations. It might also be useful for imposing timeout
156037f6377SWill Deacon	  on wfe to safeguard against any programming errors in case an expected
157037f6377SWill Deacon	  event is not generated.
158037f6377SWill Deacon	  This must be disabled for hardware validation purposes to detect any
159037f6377SWill Deacon	  hardware anomalies of missing events.
160037f6377SWill Deacon
161c1b40e44SStuart Menefyconfig ARM_GLOBAL_TIMER
162c1b40e44SStuart Menefy	bool
163c1b40e44SStuart Menefy	select CLKSRC_OF if OF
164c1b40e44SStuart Menefy	help
165c1b40e44SStuart Menefy	  This options enables support for the ARM global timer unit
166c1b40e44SStuart Menefy
1670b7402dcSSudeep Hollaconfig ARM_TIMER_SP804
1680b7402dcSSudeep Holla	bool "Support for Dual Timer SP804 module"
169002af195SGuenter Roeck	depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP
1700b7402dcSSudeep Holla	select CLKSRC_MMIO
1710b7402dcSSudeep Holla	select CLKSRC_OF if OF
1720b7402dcSSudeep Holla
173c1b40e44SStuart Menefyconfig CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
174c1b40e44SStuart Menefy	bool
175c1b40e44SStuart Menefy	depends on ARM_GLOBAL_TIMER
176c1b40e44SStuart Menefy	default y
177c1b40e44SStuart Menefy	help
178c1b40e44SStuart Menefy	 Use ARM global timer clock source as sched_clock
179c1b40e44SStuart Menefy
1804958ebb3SMaxime Coquelinconfig ARMV7M_SYSTICK
1814958ebb3SMaxime Coquelin	bool
1824958ebb3SMaxime Coquelin	select CLKSRC_OF if OF
1834958ebb3SMaxime Coquelin	select CLKSRC_MMIO
1844958ebb3SMaxime Coquelin	help
1854958ebb3SMaxime Coquelin	  This options enables support for the ARMv7M system timer unit
1864958ebb3SMaxime Coquelin
187b052ff30SMaxime Ripardconfig ATMEL_PIT
188b052ff30SMaxime Ripard	select CLKSRC_OF if OF
189b052ff30SMaxime Ripard	def_bool SOC_AT91SAM9 || SOC_SAMA5
190b052ff30SMaxime Ripard
191b53cdd03SAlexandre Belloniconfig ATMEL_ST
192b53cdd03SAlexandre Belloni	bool
193b53cdd03SAlexandre Belloni	select CLKSRC_OF
1947ab7ef74SAlexandre Belloni	select MFD_SYSCON
195b53cdd03SAlexandre Belloni
196a2c5d4edSJames Hoganconfig CLKSRC_METAG_GENERIC
197a2c5d4edSJames Hogan	def_bool y if METAG
198a2c5d4edSJames Hogan	help
199a2c5d4edSJames Hogan	  This option enables support for the Meta per-thread timers.
2006938d75aSThomas Abraham
2016938d75aSThomas Abrahamconfig CLKSRC_EXYNOS_MCT
2026938d75aSThomas Abraham	def_bool y if ARCH_EXYNOS
2033252a646SDoug Anderson	depends on !ARM64
2046938d75aSThomas Abraham	help
2056938d75aSThomas Abraham	  Support for Multi Core Timer controller on Exynos SoCs.
206241a9871SArnd Bergmann
207f1189989STomasz Figaconfig CLKSRC_SAMSUNG_PWM
20877d84434STomasz Figa	bool
209f1189989STomasz Figa	help
210f1189989STomasz Figa	  This is a new clocksource driver for the PWM timer found in
211f1189989STomasz Figa	  Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
212f1189989STomasz Figa	  for all devicetree enabled platforms. This driver will be
213f1189989STomasz Figa	  needed only on systems that do not have the Exynos MCT available.
214c1967249SJingchang Lu
2152529c3a3SXiubo Liconfig FSL_FTM_TIMER
2162529c3a3SXiubo Li	bool
2172529c3a3SXiubo Li	help
2182529c3a3SXiubo Li	  Support for Freescale FlexTimer Module (FTM) timer.
2192529c3a3SXiubo Li
220c1967249SJingchang Luconfig VF_PIT_TIMER
221c1967249SJingchang Lu	bool
222c1967249SJingchang Lu	help
223c1967249SJingchang Lu	  Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
224fd3f1270SMagnus Damm
225fd3f1270SMagnus Dammconfig SYS_SUPPORTS_SH_CMT
226fd3f1270SMagnus Damm        bool
227fd3f1270SMagnus Damm
228ecb3530dSMatthias Bruggerconfig MTK_TIMER
229ecb3530dSMatthias Brugger	select CLKSRC_OF
230ecb3530dSMatthias Brugger	select CLKSRC_MMIO
231ecb3530dSMatthias Brugger	bool
232ecb3530dSMatthias Brugger
233fd3f1270SMagnus Dammconfig SYS_SUPPORTS_SH_MTU2
234fd3f1270SMagnus Damm        bool
235fd3f1270SMagnus Damm
236fd3f1270SMagnus Dammconfig SYS_SUPPORTS_SH_TMU
237fd3f1270SMagnus Damm        bool
238fd3f1270SMagnus Damm
239fd3f1270SMagnus Dammconfig SYS_SUPPORTS_EM_STI
240fd3f1270SMagnus Damm        bool
241fd3f1270SMagnus Damm
242fd3f1270SMagnus Dammconfig SH_TIMER_CMT
243fd3f1270SMagnus Damm	bool "Renesas CMT timer driver" if COMPILE_TEST
24487291a92SGeert Uytterhoeven	depends on GENERIC_CLOCKEVENTS
24511bc26feSRichard Weinberger	depends on HAS_IOMEM
246fd3f1270SMagnus Damm	default SYS_SUPPORTS_SH_CMT
247fd3f1270SMagnus Damm	help
248fd3f1270SMagnus Damm	  This enables build of a clocksource and clockevent driver for
249fd3f1270SMagnus Damm	  the Compare Match Timer (CMT) hardware available in 16/32/48-bit
250fd3f1270SMagnus Damm	  variants on a wide range of Mobile and Automotive SoCs from Renesas.
251fd3f1270SMagnus Damm
252fd3f1270SMagnus Dammconfig SH_TIMER_MTU2
253fd3f1270SMagnus Damm	bool "Renesas MTU2 timer driver" if COMPILE_TEST
25487291a92SGeert Uytterhoeven	depends on GENERIC_CLOCKEVENTS
25511bc26feSRichard Weinberger	depends on HAS_IOMEM
256fd3f1270SMagnus Damm	default SYS_SUPPORTS_SH_MTU2
257fd3f1270SMagnus Damm	help
258fd3f1270SMagnus Damm	  This enables build of a clockevent driver for the Multi-Function
2597e139187SKuninori Morimoto	  Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
260fd3f1270SMagnus Damm	  This hardware comes with 16 bit-timer registers.
261fd3f1270SMagnus Damm
262fd3f1270SMagnus Dammconfig SH_TIMER_TMU
263fd3f1270SMagnus Damm	bool "Renesas TMU timer driver" if COMPILE_TEST
26487291a92SGeert Uytterhoeven	depends on GENERIC_CLOCKEVENTS
26511bc26feSRichard Weinberger	depends on HAS_IOMEM
266fd3f1270SMagnus Damm	default SYS_SUPPORTS_SH_TMU
267fd3f1270SMagnus Damm	help
268fd3f1270SMagnus Damm	  This enables build of a clocksource and clockevent driver for
269fd3f1270SMagnus Damm	  the 32-bit Timer Unit (TMU) hardware available on a wide range
270fd3f1270SMagnus Damm	  SoCs from Renesas.
271fd3f1270SMagnus Damm
272fd3f1270SMagnus Dammconfig EM_TIMER_STI
273fd3f1270SMagnus Damm	bool "Renesas STI timer driver" if COMPILE_TEST
27440c96312SChen Gang	depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
275fd3f1270SMagnus Damm	default SYS_SUPPORTS_EM_STI
276fd3f1270SMagnus Damm	help
277fd3f1270SMagnus Damm	  This enables build of a clocksource and clockevent driver for
278fd3f1270SMagnus Damm	  the 48-bit System Timer (STI) hardware available on a SoCs
279fd3f1270SMagnus Damm	  such as EMEV2 from former NEC Electronics.
280dfc25e45SLinus Torvalds
2813f8e8ceeSKumar Galaconfig CLKSRC_QCOM
2823dc0e9f6SDaniel Lezcano	bool "Qualcomm MSM timer" if COMPILE_TEST
2833dc0e9f6SDaniel Lezcano	depends on ARM
2843dc0e9f6SDaniel Lezcano	select CLKSRC_OF
2853dc0e9f6SDaniel Lezcano	help
2863dc0e9f6SDaniel Lezcano	  This enables the clocksource and the per CPU clockevent driver for the
2873dc0e9f6SDaniel Lezcano	  Qualcomm SoCs.
288220e2a8dSPawel Moll
289220e2a8dSPawel Mollconfig CLKSRC_VERSATILE
290220e2a8dSPawel Moll	bool "ARM Versatile (Express) reference platforms clock source"
291ff37015bSDeng-Cheng Zhu	depends on PLAT_VERSATILE && GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET
292220e2a8dSPawel Moll	select CLKSRC_OF
293220e2a8dSPawel Moll	default y if MFD_VEXPRESS_SYSREG
294220e2a8dSPawel Moll	help
295220e2a8dSPawel Moll	  This option enables clock source based on free running
296220e2a8dSPawel Moll	  counter available in the "System Registers" block of
297220e2a8dSPawel Moll	  ARM Versatile, RealView and Versatile Express reference
298220e2a8dSPawel Moll	  platforms.
29958394271SJean Delvare
300fa5635a2SAndrew Brestickerconfig CLKSRC_MIPS_GIC
301fa5635a2SAndrew Bresticker	bool
302fa5635a2SAndrew Bresticker	depends on MIPS_GIC
303e12aa828SAndrew Bresticker	select CLKSRC_OF
304fa5635a2SAndrew Bresticker
305ccd63ce4SMarc Gonzalezconfig CLKSRC_TANGO_XTAL
3065a7351f0SDaniel Lezcano	bool "Clocksource for Tango SoC" if COMPILE_TEST
3075a7351f0SDaniel Lezcano	depends on ARM
308ccd63ce4SMarc Gonzalez	select CLKSRC_OF
3095a7351f0SDaniel Lezcano	help
3105a7351f0SDaniel Lezcano	  This enables the clocksource for Tango SoC
311ccd63ce4SMarc Gonzalez
312e074ff86SDmitry Eremin-Solenikovconfig CLKSRC_PXA
3135ae996cbSDaniel Lezcano	bool "Clocksource for PXA or SA-11x0 platform" if COMPILE_TEST
3145ae996cbSDaniel Lezcano	depends on GENERIC_CLOCKEVENTS
3155ae996cbSDaniel Lezcano	select CLKSRC_MMIO
316e074ff86SDmitry Eremin-Solenikov	help
317e074ff86SDmitry Eremin-Solenikov	  This enables OST0 support available on PXA and SA-11x0
318e074ff86SDmitry Eremin-Solenikov	  platforms.
319618b902dSYoshinori Sato
320618b902dSYoshinori Satoconfig H8300_TMR16
321618b902dSYoshinori Sato        bool
322618b902dSYoshinori Sato
323618b902dSYoshinori Satoconfig H8300_TPU
324618b902dSYoshinori Sato        bool
325618b902dSYoshinori Sato
326bea5af41SShawn Guoconfig CLKSRC_IMX_GPT
327bea5af41SShawn Guo	bool "Clocksource using i.MX GPT" if COMPILE_TEST
328bea5af41SShawn Guo	depends on ARM && CLKDEV_LOOKUP
329bea5af41SShawn Guo	select CLKSRC_MMIO
330bea5af41SShawn Guo
33170bef01cSLee Jonesconfig CLKSRC_ST_LPC
332baacaf83SDaniel Lezcano	bool "Low power clocksource found in the LPC" if COMPILE_TEST
33370bef01cSLee Jones	select CLKSRC_OF if OF
33470bef01cSLee Jones	help
33570bef01cSLee Jones	  Enable this option to use the Low Power controller timer
33670bef01cSLee Jones	  as clocksource.
33770bef01cSLee Jones
33858394271SJean Delvareendmenu
339