xref: /openbmc/linux/drivers/clocksource/Kconfig (revision 0b7a7bb7)
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
4240ada2aaSDaniel Lezcano	bool "Rockchip timer driver" if COMPILE_TEST
4340ada2aaSDaniel Lezcano	depends on ARM || ARM64
44468b8c4cSDaniel Lezcano	select CLKSRC_OF
4540ada2aaSDaniel Lezcano	help
4640ada2aaSDaniel Lezcano	  Enables the support for the rockchip timer driver.
47468b8c4cSDaniel Lezcano
486fe9cbd1SGregory CLEMENTconfig ARMADA_370_XP_TIMER
499519e80cSDaniel Lezcano	bool "Armada 370 and XP timer driver" if COMPILE_TEST
509519e80cSDaniel Lezcano	depends on ARM
517b0dd72aSJean Pihet	select CLKSRC_OF
529519e80cSDaniel Lezcano	help
539519e80cSDaniel Lezcano	  Enables the support for the Armada 370 and XP timer driver.
546fe9cbd1SGregory CLEMENT
55e4a6b378SCarlo Caioneconfig MESON6_TIMER
560b7a7bb7SDaniel Lezcano	bool "Meson6 timer driver" if COMPILE_TEST
577b6b0a45SBeniamino Galvani	select CLKSRC_MMIO
580b7a7bb7SDaniel Lezcano	help
590b7a7bb7SDaniel Lezcano	  Enables the support for the Meson6 timer driver.
60e4a6b378SCarlo Caione
610c1dcfd5SSebastian Hesselbarthconfig ORION_TIMER
620c1dcfd5SSebastian Hesselbarth	select CLKSRC_OF
630c1dcfd5SSebastian Hesselbarth	select CLKSRC_MMIO
640c1dcfd5SSebastian Hesselbarth	bool
650c1dcfd5SSebastian Hesselbarth
66119fd635SMaxime Ripardconfig SUN4I_TIMER
6771c568c0SMaxime Ripard	select CLKSRC_MMIO
68b2ac5d75SMaxime Ripard	bool
69b2ac5d75SMaxime Ripard
7067905540SMaxime Ripardconfig SUN5I_HSTIMER
7167905540SMaxime Ripard	select CLKSRC_MMIO
7267905540SMaxime Ripard	bool
7367905540SMaxime Ripard
74910978e7SThierry Redingconfig TEGRA_TIMER
75910978e7SThierry Reding	bool
76910978e7SThierry Reding
77ff7ec345STony Priskconfig VT8500_TIMER
78ff7ec345STony Prisk	bool
79ff7ec345STony Prisk
804f0f234fSMichal Simekconfig CADENCE_TTC_TIMER
814f0f234fSMichal Simek	bool
824f0f234fSMichal Simek
83a8b1b9fcSDaniel Lezcanoconfig ASM9260_TIMER
84a8b1b9fcSDaniel Lezcano	bool
85a8b1b9fcSDaniel Lezcano	select CLKSRC_MMIO
86a8b1b9fcSDaniel Lezcano	select CLKSRC_OF
87a8b1b9fcSDaniel Lezcano
88694e33a7SLinus Walleijconfig CLKSRC_NOMADIK_MTU
89694e33a7SLinus Walleij	bool
90694e33a7SLinus Walleij	depends on (ARCH_NOMADIK || ARCH_U8500)
91694e33a7SLinus Walleij	select CLKSRC_MMIO
92694e33a7SLinus Walleij	help
93694e33a7SLinus Walleij	  Support for Multi Timer Unit. MTU provides access
94694e33a7SLinus Walleij	  to multiple interrupt generating programmable
95694e33a7SLinus Walleij	  32-bit free running decrementing counters.
96694e33a7SLinus Walleij
97694e33a7SLinus Walleijconfig CLKSRC_NOMADIK_MTU_SCHED_CLOCK
98694e33a7SLinus Walleij	bool
99694e33a7SLinus Walleij	depends on CLKSRC_NOMADIK_MTU
100694e33a7SLinus Walleij	help
101694e33a7SLinus Walleij	  Use the Multi Timer Unit as the sched_clock.
102694e33a7SLinus Walleij
103489bcceaSMattias Wallinconfig CLKSRC_DBX500_PRCMU
104489bcceaSMattias Wallin	bool "Clocksource PRCMU Timer"
10529746f48SLinus Walleij	depends on UX500_SOC_DB8500
106489bcceaSMattias Wallin	default y
107489bcceaSMattias Wallin	help
108489bcceaSMattias Wallin	  Use the always on PRCMU Timer as clocksource
109489bcceaSMattias Wallin
110489bcceaSMattias Wallinconfig CLKSRC_DBX500_PRCMU_SCHED_CLOCK
111489bcceaSMattias Wallin	bool "Clocksource PRCMU Timer sched_clock"
112694e33a7SLinus Walleij	depends on (CLKSRC_DBX500_PRCMU && !CLKSRC_NOMADIK_MTU_SCHED_CLOCK)
113489bcceaSMattias Wallin	default y
114489bcceaSMattias Wallin	help
115489bcceaSMattias Wallin	  Use the always on PRCMU Timer as sched_clock
116985c0679SMarc Zyngier
1179c9b7818SUwe Kleine-Königconfig CLKSRC_EFM32
1189c9b7818SUwe Kleine-König	bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32
1199c9b7818SUwe Kleine-König	depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST)
12009ca2757SAxel Lin	select CLKSRC_MMIO
1219c9b7818SUwe Kleine-König	default ARCH_EFM32
1229c9b7818SUwe Kleine-König	help
1239c9b7818SUwe Kleine-König	  Support to use the timers of EFM32 SoCs as clock source and clock
1249c9b7818SUwe Kleine-König	  event device.
1259c9b7818SUwe Kleine-König
126050dd322SJoachim Eastwoodconfig CLKSRC_LPC32XX
127050dd322SJoachim Eastwood	bool
128050dd322SJoachim Eastwood	select CLKSRC_MMIO
129050dd322SJoachim Eastwood	select CLKSRC_OF
130050dd322SJoachim Eastwood
13184583983SEzequiel Garciaconfig CLKSRC_PISTACHIO
132dfdb1652SDaniel Lezcano	bool "Clocksource for Pistachio SoC" if COMPILE_TEST
13384583983SEzequiel Garcia	select CLKSRC_OF
134dfdb1652SDaniel Lezcano	help
135dfdb1652SDaniel Lezcano	  Enables the clocksource for the Pistachio SoC.
13684583983SEzequiel Garcia
137fe851f56SFelipe Balbiconfig CLKSRC_TI_32K
138fe851f56SFelipe Balbi	bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST
139dfedaf10SFelipe Balbi	depends on GENERIC_SCHED_CLOCK
140fe851f56SFelipe Balbi	select CLKSRC_OF if OF
141fe851f56SFelipe Balbi	help
142fe851f56SFelipe Balbi	  This option enables support for Texas Instruments 32.768 Hz clocksource
143fe851f56SFelipe Balbi	  available on many OMAP-like platforms.
144fe851f56SFelipe Balbi
145e37e4593SMaxime Coquelinconfig CLKSRC_STM32
1461cb6c215SPaul Gortmaker	bool "Clocksource for STM32 SoCs" if !ARCH_STM32
1471cb6c215SPaul Gortmaker	depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST)
148e37e4593SMaxime Coquelin	select CLKSRC_MMIO
149e37e4593SMaxime Coquelin
1508a4da6e3SMark Rutlandconfig ARM_ARCH_TIMER
1518a4da6e3SMark Rutland	bool
1520583fe47SRob Herring	select CLKSRC_OF if OF
153ae281cbdSMarc Zyngier	select CLKSRC_ACPI if ACPI
154a2c5d4edSJames Hogan
155037f6377SWill Deaconconfig ARM_ARCH_TIMER_EVTSTREAM
156037f6377SWill Deacon	bool "Support for ARM architected timer event stream generation"
157037f6377SWill Deacon	default y if ARM_ARCH_TIMER
15877f7ce9aSStephen Boyd	depends on ARM_ARCH_TIMER
159037f6377SWill Deacon	help
160037f6377SWill Deacon	  This option enables support for event stream generation based on
161037f6377SWill Deacon	  the ARM architected timer. It is used for waking up CPUs executing
162037f6377SWill Deacon	  the wfe instruction at a frequency represented as a power-of-2
163037f6377SWill Deacon	  divisor of the clock rate.
164037f6377SWill Deacon	  The main use of the event stream is wfe-based timeouts of userspace
165037f6377SWill Deacon	  locking implementations. It might also be useful for imposing timeout
166037f6377SWill Deacon	  on wfe to safeguard against any programming errors in case an expected
167037f6377SWill Deacon	  event is not generated.
168037f6377SWill Deacon	  This must be disabled for hardware validation purposes to detect any
169037f6377SWill Deacon	  hardware anomalies of missing events.
170037f6377SWill Deacon
171c1b40e44SStuart Menefyconfig ARM_GLOBAL_TIMER
172c1b40e44SStuart Menefy	bool
173c1b40e44SStuart Menefy	select CLKSRC_OF if OF
174c1b40e44SStuart Menefy	help
175c1b40e44SStuart Menefy	  This options enables support for the ARM global timer unit
176c1b40e44SStuart Menefy
1770b7402dcSSudeep Hollaconfig ARM_TIMER_SP804
1780b7402dcSSudeep Holla	bool "Support for Dual Timer SP804 module"
179002af195SGuenter Roeck	depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP
1800b7402dcSSudeep Holla	select CLKSRC_MMIO
1810b7402dcSSudeep Holla	select CLKSRC_OF if OF
1820b7402dcSSudeep Holla
183c1b40e44SStuart Menefyconfig CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
184c1b40e44SStuart Menefy	bool
185c1b40e44SStuart Menefy	depends on ARM_GLOBAL_TIMER
186c1b40e44SStuart Menefy	default y
187c1b40e44SStuart Menefy	help
188c1b40e44SStuart Menefy	 Use ARM global timer clock source as sched_clock
189c1b40e44SStuart Menefy
1904958ebb3SMaxime Coquelinconfig ARMV7M_SYSTICK
1914958ebb3SMaxime Coquelin	bool
1924958ebb3SMaxime Coquelin	select CLKSRC_OF if OF
1934958ebb3SMaxime Coquelin	select CLKSRC_MMIO
1944958ebb3SMaxime Coquelin	help
1954958ebb3SMaxime Coquelin	  This options enables support for the ARMv7M system timer unit
1964958ebb3SMaxime Coquelin
197b052ff30SMaxime Ripardconfig ATMEL_PIT
198b052ff30SMaxime Ripard	select CLKSRC_OF if OF
199b052ff30SMaxime Ripard	def_bool SOC_AT91SAM9 || SOC_SAMA5
200b052ff30SMaxime Ripard
201b53cdd03SAlexandre Belloniconfig ATMEL_ST
202b53cdd03SAlexandre Belloni	bool
203b53cdd03SAlexandre Belloni	select CLKSRC_OF
2047ab7ef74SAlexandre Belloni	select MFD_SYSCON
205b53cdd03SAlexandre Belloni
206a2c5d4edSJames Hoganconfig CLKSRC_METAG_GENERIC
207a2c5d4edSJames Hogan	def_bool y if METAG
208a2c5d4edSJames Hogan	help
209a2c5d4edSJames Hogan	  This option enables support for the Meta per-thread timers.
2106938d75aSThomas Abraham
2116938d75aSThomas Abrahamconfig CLKSRC_EXYNOS_MCT
2126938d75aSThomas Abraham	def_bool y if ARCH_EXYNOS
2133252a646SDoug Anderson	depends on !ARM64
2146938d75aSThomas Abraham	help
2156938d75aSThomas Abraham	  Support for Multi Core Timer controller on Exynos SoCs.
216241a9871SArnd Bergmann
217f1189989STomasz Figaconfig CLKSRC_SAMSUNG_PWM
21877d84434STomasz Figa	bool
219f1189989STomasz Figa	help
220f1189989STomasz Figa	  This is a new clocksource driver for the PWM timer found in
221f1189989STomasz Figa	  Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
222f1189989STomasz Figa	  for all devicetree enabled platforms. This driver will be
223f1189989STomasz Figa	  needed only on systems that do not have the Exynos MCT available.
224c1967249SJingchang Lu
2252529c3a3SXiubo Liconfig FSL_FTM_TIMER
2262529c3a3SXiubo Li	bool
2272529c3a3SXiubo Li	help
2282529c3a3SXiubo Li	  Support for Freescale FlexTimer Module (FTM) timer.
2292529c3a3SXiubo Li
230c1967249SJingchang Luconfig VF_PIT_TIMER
231c1967249SJingchang Lu	bool
232c1967249SJingchang Lu	help
233c1967249SJingchang Lu	  Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
234fd3f1270SMagnus Damm
235fd3f1270SMagnus Dammconfig SYS_SUPPORTS_SH_CMT
236fd3f1270SMagnus Damm        bool
237fd3f1270SMagnus Damm
238ecb3530dSMatthias Bruggerconfig MTK_TIMER
239fbca9eabSDaniel Lezcano	bool "Mediatek timer driver" if COMPILE_TEST
240ecb3530dSMatthias Brugger	select CLKSRC_OF
241ecb3530dSMatthias Brugger	select CLKSRC_MMIO
242fbca9eabSDaniel Lezcano	help
243fbca9eabSDaniel Lezcano	  Support for Mediatek timer driver.
244ecb3530dSMatthias Brugger
245fd3f1270SMagnus Dammconfig SYS_SUPPORTS_SH_MTU2
246fd3f1270SMagnus Damm        bool
247fd3f1270SMagnus Damm
248fd3f1270SMagnus Dammconfig SYS_SUPPORTS_SH_TMU
249fd3f1270SMagnus Damm        bool
250fd3f1270SMagnus Damm
251fd3f1270SMagnus Dammconfig SYS_SUPPORTS_EM_STI
252fd3f1270SMagnus Damm        bool
253fd3f1270SMagnus Damm
254fd3f1270SMagnus Dammconfig SH_TIMER_CMT
255fd3f1270SMagnus Damm	bool "Renesas CMT timer driver" if COMPILE_TEST
25687291a92SGeert Uytterhoeven	depends on GENERIC_CLOCKEVENTS
25711bc26feSRichard Weinberger	depends on HAS_IOMEM
258fd3f1270SMagnus Damm	default SYS_SUPPORTS_SH_CMT
259fd3f1270SMagnus Damm	help
260fd3f1270SMagnus Damm	  This enables build of a clocksource and clockevent driver for
261fd3f1270SMagnus Damm	  the Compare Match Timer (CMT) hardware available in 16/32/48-bit
262fd3f1270SMagnus Damm	  variants on a wide range of Mobile and Automotive SoCs from Renesas.
263fd3f1270SMagnus Damm
264fd3f1270SMagnus Dammconfig SH_TIMER_MTU2
265fd3f1270SMagnus Damm	bool "Renesas MTU2 timer driver" if COMPILE_TEST
26687291a92SGeert Uytterhoeven	depends on GENERIC_CLOCKEVENTS
26711bc26feSRichard Weinberger	depends on HAS_IOMEM
268fd3f1270SMagnus Damm	default SYS_SUPPORTS_SH_MTU2
269fd3f1270SMagnus Damm	help
270fd3f1270SMagnus Damm	  This enables build of a clockevent driver for the Multi-Function
2717e139187SKuninori Morimoto	  Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
272fd3f1270SMagnus Damm	  This hardware comes with 16 bit-timer registers.
273fd3f1270SMagnus Damm
274fd3f1270SMagnus Dammconfig SH_TIMER_TMU
275fd3f1270SMagnus Damm	bool "Renesas TMU timer driver" if COMPILE_TEST
27687291a92SGeert Uytterhoeven	depends on GENERIC_CLOCKEVENTS
27711bc26feSRichard Weinberger	depends on HAS_IOMEM
278fd3f1270SMagnus Damm	default SYS_SUPPORTS_SH_TMU
279fd3f1270SMagnus Damm	help
280fd3f1270SMagnus Damm	  This enables build of a clocksource and clockevent driver for
281fd3f1270SMagnus Damm	  the 32-bit Timer Unit (TMU) hardware available on a wide range
282fd3f1270SMagnus Damm	  SoCs from Renesas.
283fd3f1270SMagnus Damm
284fd3f1270SMagnus Dammconfig EM_TIMER_STI
285fd3f1270SMagnus Damm	bool "Renesas STI timer driver" if COMPILE_TEST
28640c96312SChen Gang	depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
287fd3f1270SMagnus Damm	default SYS_SUPPORTS_EM_STI
288fd3f1270SMagnus Damm	help
289fd3f1270SMagnus Damm	  This enables build of a clocksource and clockevent driver for
290fd3f1270SMagnus Damm	  the 48-bit System Timer (STI) hardware available on a SoCs
291fd3f1270SMagnus Damm	  such as EMEV2 from former NEC Electronics.
292dfc25e45SLinus Torvalds
2933f8e8ceeSKumar Galaconfig CLKSRC_QCOM
2943dc0e9f6SDaniel Lezcano	bool "Qualcomm MSM timer" if COMPILE_TEST
2953dc0e9f6SDaniel Lezcano	depends on ARM
2963dc0e9f6SDaniel Lezcano	select CLKSRC_OF
2973dc0e9f6SDaniel Lezcano	help
2983dc0e9f6SDaniel Lezcano	  This enables the clocksource and the per CPU clockevent driver for the
2993dc0e9f6SDaniel Lezcano	  Qualcomm SoCs.
300220e2a8dSPawel Moll
301220e2a8dSPawel Mollconfig CLKSRC_VERSATILE
302220e2a8dSPawel Moll	bool "ARM Versatile (Express) reference platforms clock source"
303ff37015bSDeng-Cheng Zhu	depends on PLAT_VERSATILE && GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET
304220e2a8dSPawel Moll	select CLKSRC_OF
305220e2a8dSPawel Moll	default y if MFD_VEXPRESS_SYSREG
306220e2a8dSPawel Moll	help
307220e2a8dSPawel Moll	  This option enables clock source based on free running
308220e2a8dSPawel Moll	  counter available in the "System Registers" block of
309220e2a8dSPawel Moll	  ARM Versatile, RealView and Versatile Express reference
310220e2a8dSPawel Moll	  platforms.
31158394271SJean Delvare
312fa5635a2SAndrew Brestickerconfig CLKSRC_MIPS_GIC
313fa5635a2SAndrew Bresticker	bool
314fa5635a2SAndrew Bresticker	depends on MIPS_GIC
315e12aa828SAndrew Bresticker	select CLKSRC_OF
316fa5635a2SAndrew Bresticker
317ccd63ce4SMarc Gonzalezconfig CLKSRC_TANGO_XTAL
3185a7351f0SDaniel Lezcano	bool "Clocksource for Tango SoC" if COMPILE_TEST
3195a7351f0SDaniel Lezcano	depends on ARM
320ccd63ce4SMarc Gonzalez	select CLKSRC_OF
3215a7351f0SDaniel Lezcano	help
3225a7351f0SDaniel Lezcano	  This enables the clocksource for Tango SoC
323ccd63ce4SMarc Gonzalez
324e074ff86SDmitry Eremin-Solenikovconfig CLKSRC_PXA
3255ae996cbSDaniel Lezcano	bool "Clocksource for PXA or SA-11x0 platform" if COMPILE_TEST
3265ae996cbSDaniel Lezcano	depends on GENERIC_CLOCKEVENTS
3275ae996cbSDaniel Lezcano	select CLKSRC_MMIO
328e074ff86SDmitry Eremin-Solenikov	help
329e074ff86SDmitry Eremin-Solenikov	  This enables OST0 support available on PXA and SA-11x0
330e074ff86SDmitry Eremin-Solenikov	  platforms.
331618b902dSYoshinori Sato
332618b902dSYoshinori Satoconfig H8300_TMR16
333618b902dSYoshinori Sato        bool
334618b902dSYoshinori Sato
335618b902dSYoshinori Satoconfig H8300_TPU
336618b902dSYoshinori Sato        bool
337618b902dSYoshinori Sato
338bea5af41SShawn Guoconfig CLKSRC_IMX_GPT
339bea5af41SShawn Guo	bool "Clocksource using i.MX GPT" if COMPILE_TEST
340bea5af41SShawn Guo	depends on ARM && CLKDEV_LOOKUP
341bea5af41SShawn Guo	select CLKSRC_MMIO
342bea5af41SShawn Guo
34370bef01cSLee Jonesconfig CLKSRC_ST_LPC
344baacaf83SDaniel Lezcano	bool "Low power clocksource found in the LPC" if COMPILE_TEST
34570bef01cSLee Jones	select CLKSRC_OF if OF
34670bef01cSLee Jones	help
34770bef01cSLee Jones	  Enable this option to use the Low Power controller timer
34870bef01cSLee Jones	  as clocksource.
34970bef01cSLee Jones
35058394271SJean Delvareendmenu
351