xref: /openbmc/linux/drivers/clocksource/Kconfig (revision 9b8bb773)
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
21*9b8bb773SBaruch Siachconfig DIGICOLOR_TIMER
22*9b8bb773SBaruch Siach	bool
23*9b8bb773SBaruch 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
57ff7ec345STony Priskconfig VT8500_TIMER
58ff7ec345STony Prisk	bool
59ff7ec345STony Prisk
604f0f234fSMichal Simekconfig CADENCE_TTC_TIMER
614f0f234fSMichal Simek	bool
624f0f234fSMichal Simek
63694e33a7SLinus Walleijconfig CLKSRC_NOMADIK_MTU
64694e33a7SLinus Walleij	bool
65694e33a7SLinus Walleij	depends on (ARCH_NOMADIK || ARCH_U8500)
66694e33a7SLinus Walleij	select CLKSRC_MMIO
67694e33a7SLinus Walleij	help
68694e33a7SLinus Walleij	  Support for Multi Timer Unit. MTU provides access
69694e33a7SLinus Walleij	  to multiple interrupt generating programmable
70694e33a7SLinus Walleij	  32-bit free running decrementing counters.
71694e33a7SLinus Walleij
72694e33a7SLinus Walleijconfig CLKSRC_NOMADIK_MTU_SCHED_CLOCK
73694e33a7SLinus Walleij	bool
74694e33a7SLinus Walleij	depends on CLKSRC_NOMADIK_MTU
75694e33a7SLinus Walleij	help
76694e33a7SLinus Walleij	  Use the Multi Timer Unit as the sched_clock.
77694e33a7SLinus Walleij
78489bcceaSMattias Wallinconfig CLKSRC_DBX500_PRCMU
79489bcceaSMattias Wallin	bool "Clocksource PRCMU Timer"
8029746f48SLinus Walleij	depends on UX500_SOC_DB8500
81489bcceaSMattias Wallin	default y
82489bcceaSMattias Wallin	help
83489bcceaSMattias Wallin	  Use the always on PRCMU Timer as clocksource
84489bcceaSMattias Wallin
85489bcceaSMattias Wallinconfig CLKSRC_DBX500_PRCMU_SCHED_CLOCK
86489bcceaSMattias Wallin	bool "Clocksource PRCMU Timer sched_clock"
87694e33a7SLinus Walleij	depends on (CLKSRC_DBX500_PRCMU && !CLKSRC_NOMADIK_MTU_SCHED_CLOCK)
88489bcceaSMattias Wallin	default y
89489bcceaSMattias Wallin	help
90489bcceaSMattias Wallin	  Use the always on PRCMU Timer as sched_clock
91985c0679SMarc Zyngier
929c9b7818SUwe Kleine-Königconfig CLKSRC_EFM32
939c9b7818SUwe Kleine-König	bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32
949c9b7818SUwe Kleine-König	depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST)
9509ca2757SAxel Lin	select CLKSRC_MMIO
969c9b7818SUwe Kleine-König	default ARCH_EFM32
979c9b7818SUwe Kleine-König	help
989c9b7818SUwe Kleine-König	  Support to use the timers of EFM32 SoCs as clock source and clock
999c9b7818SUwe Kleine-König	  event device.
1009c9b7818SUwe Kleine-König
1018a4da6e3SMark Rutlandconfig ARM_ARCH_TIMER
1028a4da6e3SMark Rutland	bool
1030583fe47SRob Herring	select CLKSRC_OF if OF
104a2c5d4edSJames Hogan
105037f6377SWill Deaconconfig ARM_ARCH_TIMER_EVTSTREAM
106037f6377SWill Deacon	bool "Support for ARM architected timer event stream generation"
107037f6377SWill Deacon	default y if ARM_ARCH_TIMER
10877f7ce9aSStephen Boyd	depends on ARM_ARCH_TIMER
109037f6377SWill Deacon	help
110037f6377SWill Deacon	  This option enables support for event stream generation based on
111037f6377SWill Deacon	  the ARM architected timer. It is used for waking up CPUs executing
112037f6377SWill Deacon	  the wfe instruction at a frequency represented as a power-of-2
113037f6377SWill Deacon	  divisor of the clock rate.
114037f6377SWill Deacon	  The main use of the event stream is wfe-based timeouts of userspace
115037f6377SWill Deacon	  locking implementations. It might also be useful for imposing timeout
116037f6377SWill Deacon	  on wfe to safeguard against any programming errors in case an expected
117037f6377SWill Deacon	  event is not generated.
118037f6377SWill Deacon	  This must be disabled for hardware validation purposes to detect any
119037f6377SWill Deacon	  hardware anomalies of missing events.
120037f6377SWill Deacon
121c1b40e44SStuart Menefyconfig ARM_GLOBAL_TIMER
122c1b40e44SStuart Menefy	bool
123c1b40e44SStuart Menefy	select CLKSRC_OF if OF
124c1b40e44SStuart Menefy	help
125c1b40e44SStuart Menefy	  This options enables support for the ARM global timer unit
126c1b40e44SStuart Menefy
127c1b40e44SStuart Menefyconfig CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
128c1b40e44SStuart Menefy	bool
129c1b40e44SStuart Menefy	depends on ARM_GLOBAL_TIMER
130c1b40e44SStuart Menefy	default y
131c1b40e44SStuart Menefy	help
132c1b40e44SStuart Menefy	 Use ARM global timer clock source as sched_clock
133c1b40e44SStuart Menefy
134b052ff30SMaxime Ripardconfig ATMEL_PIT
135b052ff30SMaxime Ripard	select CLKSRC_OF if OF
136b052ff30SMaxime Ripard	def_bool SOC_AT91SAM9 || SOC_SAMA5
137b052ff30SMaxime Ripard
138a2c5d4edSJames Hoganconfig CLKSRC_METAG_GENERIC
139a2c5d4edSJames Hogan	def_bool y if METAG
140a2c5d4edSJames Hogan	help
141a2c5d4edSJames Hogan	  This option enables support for the Meta per-thread timers.
1426938d75aSThomas Abraham
1436938d75aSThomas Abrahamconfig CLKSRC_EXYNOS_MCT
1446938d75aSThomas Abraham	def_bool y if ARCH_EXYNOS
1453252a646SDoug Anderson	depends on !ARM64
1466938d75aSThomas Abraham	help
1476938d75aSThomas Abraham	  Support for Multi Core Timer controller on Exynos SoCs.
148241a9871SArnd Bergmann
149f1189989STomasz Figaconfig CLKSRC_SAMSUNG_PWM
15077d84434STomasz Figa	bool
151f1189989STomasz Figa	help
152f1189989STomasz Figa	  This is a new clocksource driver for the PWM timer found in
153f1189989STomasz Figa	  Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
154f1189989STomasz Figa	  for all devicetree enabled platforms. This driver will be
155f1189989STomasz Figa	  needed only on systems that do not have the Exynos MCT available.
156c1967249SJingchang Lu
1572529c3a3SXiubo Liconfig FSL_FTM_TIMER
1582529c3a3SXiubo Li	bool
1592529c3a3SXiubo Li	help
1602529c3a3SXiubo Li	  Support for Freescale FlexTimer Module (FTM) timer.
1612529c3a3SXiubo Li
162c1967249SJingchang Luconfig VF_PIT_TIMER
163c1967249SJingchang Lu	bool
164c1967249SJingchang Lu	help
165c1967249SJingchang Lu	  Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
166fd3f1270SMagnus Damm
167fd3f1270SMagnus Dammconfig SYS_SUPPORTS_SH_CMT
168fd3f1270SMagnus Damm        bool
169fd3f1270SMagnus Damm
170ecb3530dSMatthias Bruggerconfig MTK_TIMER
171ecb3530dSMatthias Brugger	select CLKSRC_OF
172ecb3530dSMatthias Brugger	select CLKSRC_MMIO
173ecb3530dSMatthias Brugger	bool
174ecb3530dSMatthias Brugger
175fd3f1270SMagnus Dammconfig SYS_SUPPORTS_SH_MTU2
176fd3f1270SMagnus Damm        bool
177fd3f1270SMagnus Damm
178fd3f1270SMagnus Dammconfig SYS_SUPPORTS_SH_TMU
179fd3f1270SMagnus Damm        bool
180fd3f1270SMagnus Damm
181fd3f1270SMagnus Dammconfig SYS_SUPPORTS_EM_STI
182fd3f1270SMagnus Damm        bool
183fd3f1270SMagnus Damm
184fd3f1270SMagnus Dammconfig SH_TIMER_CMT
185fd3f1270SMagnus Damm	bool "Renesas CMT timer driver" if COMPILE_TEST
18687291a92SGeert Uytterhoeven	depends on GENERIC_CLOCKEVENTS
187fd3f1270SMagnus Damm	default SYS_SUPPORTS_SH_CMT
188fd3f1270SMagnus Damm	help
189fd3f1270SMagnus Damm	  This enables build of a clocksource and clockevent driver for
190fd3f1270SMagnus Damm	  the Compare Match Timer (CMT) hardware available in 16/32/48-bit
191fd3f1270SMagnus Damm	  variants on a wide range of Mobile and Automotive SoCs from Renesas.
192fd3f1270SMagnus Damm
193fd3f1270SMagnus Dammconfig SH_TIMER_MTU2
194fd3f1270SMagnus Damm	bool "Renesas MTU2 timer driver" if COMPILE_TEST
19587291a92SGeert Uytterhoeven	depends on GENERIC_CLOCKEVENTS
196fd3f1270SMagnus Damm	default SYS_SUPPORTS_SH_MTU2
197fd3f1270SMagnus Damm	help
198fd3f1270SMagnus Damm	  This enables build of a clockevent driver for the Multi-Function
1997e139187SKuninori Morimoto	  Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
200fd3f1270SMagnus Damm	  This hardware comes with 16 bit-timer registers.
201fd3f1270SMagnus Damm
202fd3f1270SMagnus Dammconfig SH_TIMER_TMU
203fd3f1270SMagnus Damm	bool "Renesas TMU timer driver" if COMPILE_TEST
20487291a92SGeert Uytterhoeven	depends on GENERIC_CLOCKEVENTS
205fd3f1270SMagnus Damm	default SYS_SUPPORTS_SH_TMU
206fd3f1270SMagnus Damm	help
207fd3f1270SMagnus Damm	  This enables build of a clocksource and clockevent driver for
208fd3f1270SMagnus Damm	  the 32-bit Timer Unit (TMU) hardware available on a wide range
209fd3f1270SMagnus Damm	  SoCs from Renesas.
210fd3f1270SMagnus Damm
211fd3f1270SMagnus Dammconfig EM_TIMER_STI
212fd3f1270SMagnus Damm	bool "Renesas STI timer driver" if COMPILE_TEST
21340c96312SChen Gang	depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
214fd3f1270SMagnus Damm	default SYS_SUPPORTS_EM_STI
215fd3f1270SMagnus Damm	help
216fd3f1270SMagnus Damm	  This enables build of a clocksource and clockevent driver for
217fd3f1270SMagnus Damm	  the 48-bit System Timer (STI) hardware available on a SoCs
218fd3f1270SMagnus Damm	  such as EMEV2 from former NEC Electronics.
219dfc25e45SLinus Torvalds
2203f8e8ceeSKumar Galaconfig CLKSRC_QCOM
2213f8e8ceeSKumar Gala	bool
222220e2a8dSPawel Moll
223220e2a8dSPawel Mollconfig CLKSRC_VERSATILE
224220e2a8dSPawel Moll	bool "ARM Versatile (Express) reference platforms clock source"
225b33cdd28SArnd Bergmann	depends on GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET
226220e2a8dSPawel Moll	select CLKSRC_OF
227220e2a8dSPawel Moll	default y if MFD_VEXPRESS_SYSREG
228220e2a8dSPawel Moll	help
229220e2a8dSPawel Moll	  This option enables clock source based on free running
230220e2a8dSPawel Moll	  counter available in the "System Registers" block of
231220e2a8dSPawel Moll	  ARM Versatile, RealView and Versatile Express reference
232220e2a8dSPawel Moll	  platforms.
23358394271SJean Delvare
234fa5635a2SAndrew Brestickerconfig CLKSRC_MIPS_GIC
235fa5635a2SAndrew Bresticker	bool
236fa5635a2SAndrew Bresticker	depends on MIPS_GIC
237e12aa828SAndrew Bresticker	select CLKSRC_OF
238fa5635a2SAndrew Bresticker
2398d8bd7beSOleksij Rempelconfig ASM9260_TIMER
2408d8bd7beSOleksij Rempel	bool "Alphascale ASM9260 timer driver"
2418d8bd7beSOleksij Rempel	depends on GENERIC_CLOCKEVENTS
2428d8bd7beSOleksij Rempel	select CLKSRC_MMIO
2438d8bd7beSOleksij Rempel	select CLKSRC_OF
2448d8bd7beSOleksij Rempel	default y if MACH_ASM9260
2458d8bd7beSOleksij Rempel	help
2468d8bd7beSOleksij Rempel	  This enables build of a clocksource and clockevent driver for
2478d8bd7beSOleksij Rempel	  the 32-bit System Timer hardware available on a Alphascale ASM9260.
2488d8bd7beSOleksij Rempel
24958394271SJean Delvareendmenu
250