blob: 9ceaef7eb81d6522f2bcf6c9973023e29c568cf2 [file] [log] [blame]
Jean Delvare58394272014-06-16 11:48:45 +02001menu "Clock Source drivers"
2
Stephen Warrenae278a92012-11-19 16:41:20 -07003config CLKSRC_OF
4 bool
Marc Zyngieraad83b152015-09-28 15:49:16 +01005 select CLKSRC_PROBE
6
7config CLKSRC_ACPI
8 bool
9 select CLKSRC_PROBE
10
11config CLKSRC_PROBE
12 bool
Stephen Warrenae278a92012-11-19 16:41:20 -070013
Russell King89c0b8e2011-05-08 18:47:58 +010014config CLKSRC_I8253
15 bool
Russell King442c8172011-05-08 14:06:52 +010016
Thomas Gleixnere6220bd2011-06-09 13:08:25 +000017config CLKEVT_I8253
18 bool
19
Ralf Baechle15f304b2011-06-01 19:04:59 +010020config I8253_LOCK
21 bool
22
23config CLKBLD_I8253
Thomas Gleixnere6220bd2011-06-09 13:08:25 +000024 def_bool y if CLKSRC_I8253 || CLKEVT_I8253 || I8253_LOCK
Ralf Baechle15f304b2011-06-01 19:04:59 +010025
Russell King442c8172011-05-08 14:06:52 +010026config CLKSRC_MMIO
27 bool
Jamie Iles06c3df42011-06-06 12:43:07 +010028
Baruch Siach9b8bb772015-01-26 20:35:18 +020029config DIGICOLOR_TIMER
30 bool
31
Jamie Iles06c3df42011-06-06 12:43:07 +010032config DW_APB_TIMER
33 bool
Mattias Wallin489bcce2011-05-27 10:30:12 +020034
Dinh Nguyencfda5902012-07-11 15:13:16 -050035config DW_APB_TIMER_OF
36 bool
Heiko Stuebner1b4eca02013-06-04 11:38:11 +020037 select DW_APB_TIMER
Heiko Stuebner10021482013-06-04 11:38:42 +020038 select CLKSRC_OF
Dinh Nguyencfda5902012-07-11 15:13:16 -050039
Daniel Lezcano468b8c42015-01-25 22:06:02 +010040config ROCKCHIP_TIMER
41 bool
42 select CLKSRC_OF
43
Gregory CLEMENT6fe9cbd2012-06-13 18:58:09 +020044config ARMADA_370_XP_TIMER
45 bool
Jean Pihet7b0dd722013-09-18 20:55:09 +020046 select CLKSRC_OF
Gregory CLEMENT6fe9cbd2012-06-13 18:58:09 +020047
Carlo Caionee4a6b372014-09-29 01:50:05 +020048config MESON6_TIMER
49 bool
Beniamino Galvani7b6b0a42014-11-18 16:41:20 +010050 select CLKSRC_MMIO
Carlo Caionee4a6b372014-09-29 01:50:05 +020051
Sebastian Hesselbarth0c1dcfd2013-06-11 08:38:50 +020052config ORION_TIMER
53 select CLKSRC_OF
54 select CLKSRC_MMIO
55 bool
56
Maxime Ripard119fd632013-03-24 11:49:25 +010057config SUN4I_TIMER
Maxime Ripard71c568c2013-10-14 21:07:46 +020058 select CLKSRC_MMIO
Maxime Ripardb2ac5d72012-11-12 15:07:50 +010059 bool
60
Maxime Ripard67905542013-11-07 12:01:48 +010061config SUN5I_HSTIMER
62 select CLKSRC_MMIO
63 bool
64
Thierry Reding910978e72014-07-07 15:26:30 +020065config TEGRA_TIMER
66 bool
67
Tony Priskff7ec342013-01-14 17:58:21 +130068config VT8500_TIMER
69 bool
70
Michal Simek4f0f2342013-03-20 10:46:01 +010071config CADENCE_TTC_TIMER
72 bool
73
Daniel Lezcanoa8b1b9f2015-02-23 19:54:16 +010074config ASM9260_TIMER
75 bool
76 select CLKSRC_MMIO
77 select CLKSRC_OF
78
Linus Walleij694e33a2012-10-18 14:01:25 +020079config CLKSRC_NOMADIK_MTU
80 bool
81 depends on (ARCH_NOMADIK || ARCH_U8500)
82 select CLKSRC_MMIO
83 help
84 Support for Multi Timer Unit. MTU provides access
85 to multiple interrupt generating programmable
86 32-bit free running decrementing counters.
87
88config CLKSRC_NOMADIK_MTU_SCHED_CLOCK
89 bool
90 depends on CLKSRC_NOMADIK_MTU
91 help
92 Use the Multi Timer Unit as the sched_clock.
93
Mattias Wallin489bcce2011-05-27 10:30:12 +020094config CLKSRC_DBX500_PRCMU
95 bool "Clocksource PRCMU Timer"
Linus Walleij29746f42012-04-13 13:16:31 +020096 depends on UX500_SOC_DB8500
Mattias Wallin489bcce2011-05-27 10:30:12 +020097 default y
98 help
99 Use the always on PRCMU Timer as clocksource
100
101config CLKSRC_DBX500_PRCMU_SCHED_CLOCK
102 bool "Clocksource PRCMU Timer sched_clock"
Linus Walleij694e33a2012-10-18 14:01:25 +0200103 depends on (CLKSRC_DBX500_PRCMU && !CLKSRC_NOMADIK_MTU_SCHED_CLOCK)
Mattias Wallin489bcce2011-05-27 10:30:12 +0200104 default y
105 help
106 Use the always on PRCMU Timer as sched_clock
Marc Zyngier985c0672012-03-05 11:49:30 +0000107
Uwe Kleine-König9c9b7812013-10-03 21:56:29 +0200108config CLKSRC_EFM32
109 bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32
110 depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST)
Axel Lin09ca2752013-11-20 10:15:11 +0800111 select CLKSRC_MMIO
Uwe Kleine-König9c9b7812013-10-03 21:56:29 +0200112 default ARCH_EFM32
113 help
114 Support to use the timers of EFM32 SoCs as clock source and clock
115 event device.
116
Joachim Eastwood050dd322015-05-12 00:00:48 +0200117config CLKSRC_LPC32XX
118 bool
119 select CLKSRC_MMIO
120 select CLKSRC_OF
121
Ezequiel Garcia84583982015-08-07 16:39:31 +0100122config CLKSRC_PISTACHIO
123 bool
124 select CLKSRC_OF
125
Maxime Coqueline37e4592015-05-22 23:03:33 +0200126config CLKSRC_STM32
Paul Gortmaker1cb6c212015-06-20 19:02:32 -0400127 bool "Clocksource for STM32 SoCs" if !ARCH_STM32
128 depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST)
Maxime Coqueline37e4592015-05-22 23:03:33 +0200129 select CLKSRC_MMIO
130
Mark Rutland8a4da6e2012-11-12 14:33:44 +0000131config ARM_ARCH_TIMER
132 bool
Rob Herring0583fe42013-04-10 18:27:51 -0500133 select CLKSRC_OF if OF
Marc Zyngierae281cb2015-09-28 15:49:17 +0100134 select CLKSRC_ACPI if ACPI
James Hogana2c5d4e2012-10-09 10:54:39 +0100135
Will Deacon037f6372013-08-23 15:32:29 +0100136config ARM_ARCH_TIMER_EVTSTREAM
137 bool "Support for ARM architected timer event stream generation"
138 default y if ARM_ARCH_TIMER
Stephen Boyd77f7ce92013-11-20 12:02:03 -0800139 depends on ARM_ARCH_TIMER
Will Deacon037f6372013-08-23 15:32:29 +0100140 help
141 This option enables support for event stream generation based on
142 the ARM architected timer. It is used for waking up CPUs executing
143 the wfe instruction at a frequency represented as a power-of-2
144 divisor of the clock rate.
145 The main use of the event stream is wfe-based timeouts of userspace
146 locking implementations. It might also be useful for imposing timeout
147 on wfe to safeguard against any programming errors in case an expected
148 event is not generated.
149 This must be disabled for hardware validation purposes to detect any
150 hardware anomalies of missing events.
151
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100152config ARM_GLOBAL_TIMER
153 bool
154 select CLKSRC_OF if OF
155 help
156 This options enables support for the ARM global timer unit
157
Sudeep Holla0b7402d2015-05-18 16:29:40 +0100158config ARM_TIMER_SP804
159 bool "Support for Dual Timer SP804 module"
Guenter Roeck002af192015-06-23 20:49:05 -0700160 depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP
Sudeep Holla0b7402d2015-05-18 16:29:40 +0100161 select CLKSRC_MMIO
162 select CLKSRC_OF if OF
163
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100164config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
165 bool
166 depends on ARM_GLOBAL_TIMER
167 default y
168 help
169 Use ARM global timer clock source as sched_clock
170
Maxime Coquelin4958ebb2015-05-09 09:53:46 +0200171config ARMV7M_SYSTICK
172 bool
173 select CLKSRC_OF if OF
174 select CLKSRC_MMIO
175 help
176 This options enables support for the ARMv7M system timer unit
177
Maxime Ripardb052ff32014-09-02 18:12:35 +0200178config ATMEL_PIT
179 select CLKSRC_OF if OF
180 def_bool SOC_AT91SAM9 || SOC_SAMA5
181
Alexandre Bellonib53cdd02015-03-12 13:07:31 +0100182config ATMEL_ST
183 bool
184 select CLKSRC_OF
Alexandre Belloni7ab7ef72015-03-19 14:17:48 +0100185 select MFD_SYSCON
Alexandre Bellonib53cdd02015-03-12 13:07:31 +0100186
James Hogana2c5d4e2012-10-09 10:54:39 +0100187config CLKSRC_METAG_GENERIC
188 def_bool y if METAG
189 help
190 This option enables support for the Meta per-thread timers.
Thomas Abraham6938d75a2013-03-09 16:16:13 +0900191
192config CLKSRC_EXYNOS_MCT
193 def_bool y if ARCH_EXYNOS
Doug Anderson3252a642014-07-05 06:43:26 +0900194 depends on !ARM64
Thomas Abraham6938d75a2013-03-09 16:16:13 +0900195 help
196 Support for Multi Core Timer controller on Exynos SoCs.
Arnd Bergmann241a9872013-05-06 23:49:09 +0200197
Tomasz Figaf1189982013-04-20 23:22:13 +0200198config CLKSRC_SAMSUNG_PWM
Tomasz Figa77d84432013-04-23 17:46:23 +0200199 bool
Tomasz Figaf1189982013-04-20 23:22:13 +0200200 help
201 This is a new clocksource driver for the PWM timer found in
202 Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
203 for all devicetree enabled platforms. This driver will be
204 needed only on systems that do not have the Exynos MCT available.
Jingchang Luc1967242013-05-29 10:12:17 +0200205
Xiubo Li2529c3a2014-05-23 10:12:04 +0200206config FSL_FTM_TIMER
207 bool
208 help
209 Support for Freescale FlexTimer Module (FTM) timer.
210
Jingchang Luc1967242013-05-29 10:12:17 +0200211config VF_PIT_TIMER
212 bool
213 help
214 Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
Magnus Dammfd3f1272014-02-20 12:54:45 +0100215
216config SYS_SUPPORTS_SH_CMT
217 bool
218
Matthias Bruggerecb35302014-07-18 11:36:43 +0200219config MTK_TIMER
220 select CLKSRC_OF
221 select CLKSRC_MMIO
222 bool
223
Magnus Dammfd3f1272014-02-20 12:54:45 +0100224config SYS_SUPPORTS_SH_MTU2
225 bool
226
227config SYS_SUPPORTS_SH_TMU
228 bool
229
230config SYS_SUPPORTS_EM_STI
231 bool
232
233config SH_TIMER_CMT
234 bool "Renesas CMT timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100235 depends on GENERIC_CLOCKEVENTS
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100236 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100237 default SYS_SUPPORTS_SH_CMT
238 help
239 This enables build of a clocksource and clockevent driver for
240 the Compare Match Timer (CMT) hardware available in 16/32/48-bit
241 variants on a wide range of Mobile and Automotive SoCs from Renesas.
242
243config SH_TIMER_MTU2
244 bool "Renesas MTU2 timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100245 depends on GENERIC_CLOCKEVENTS
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100246 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100247 default SYS_SUPPORTS_SH_MTU2
248 help
249 This enables build of a clockevent driver for the Multi-Function
Kuninori Morimoto7e139182014-07-18 11:36:36 +0200250 Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
Magnus Dammfd3f1272014-02-20 12:54:45 +0100251 This hardware comes with 16 bit-timer registers.
252
253config SH_TIMER_TMU
254 bool "Renesas TMU timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100255 depends on GENERIC_CLOCKEVENTS
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100256 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100257 default SYS_SUPPORTS_SH_TMU
258 help
259 This enables build of a clocksource and clockevent driver for
260 the 32-bit Timer Unit (TMU) hardware available on a wide range
261 SoCs from Renesas.
262
263config EM_TIMER_STI
264 bool "Renesas STI timer driver" if COMPILE_TEST
Chen Gang40c96312014-07-08 20:39:40 +0800265 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100266 default SYS_SUPPORTS_EM_STI
267 help
268 This enables build of a clocksource and clockevent driver for
269 the 48-bit System Timer (STI) hardware available on a SoCs
270 such as EMEV2 from former NEC Electronics.
Linus Torvaldsdfc25e42014-04-05 13:51:19 -0700271
Kumar Gala3f8e8ce2014-01-29 16:17:30 -0600272config CLKSRC_QCOM
273 bool
Pawel Moll220e2a82014-04-16 18:22:59 +0100274
275config CLKSRC_VERSATILE
276 bool "ARM Versatile (Express) reference platforms clock source"
Deng-Cheng Zhuff370152015-03-07 10:30:22 -0800277 depends on PLAT_VERSATILE && GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET
Pawel Moll220e2a82014-04-16 18:22:59 +0100278 select CLKSRC_OF
279 default y if MFD_VEXPRESS_SYSREG
280 help
281 This option enables clock source based on free running
282 counter available in the "System Registers" block of
283 ARM Versatile, RealView and Versatile Express reference
284 platforms.
Jean Delvare58394272014-06-16 11:48:45 +0200285
Andrew Brestickerfa5635a2014-10-20 12:03:58 -0700286config CLKSRC_MIPS_GIC
287 bool
288 depends on MIPS_GIC
Andrew Brestickere12aa822014-11-12 11:43:39 -0800289 select CLKSRC_OF
Andrew Brestickerfa5635a2014-10-20 12:03:58 -0700290
Marc Gonzalezccd63ce2015-10-09 16:59:18 +0200291config CLKSRC_TANGO_XTAL
292 bool
293 select CLKSRC_OF
294
Dmitry Eremin-Solenikove074ff82014-12-21 16:07:09 +0100295config CLKSRC_PXA
296 def_bool y if ARCH_PXA || ARCH_SA1100
Antonio Borneo02760b12015-06-17 19:42:30 +0800297 select CLKSRC_OF if OF
Dmitry Eremin-Solenikove074ff82014-12-21 16:07:09 +0100298 help
299 This enables OST0 support available on PXA and SA-11x0
300 platforms.
Yoshinori Sato618b9022015-01-28 02:52:42 +0900301
302config H8300_TMR16
303 bool
304
305config H8300_TPU
306 bool
307
Shawn Guobea5af42015-05-15 15:41:00 +0800308config CLKSRC_IMX_GPT
309 bool "Clocksource using i.MX GPT" if COMPILE_TEST
310 depends on ARM && CLKDEV_LOOKUP
311 select CLKSRC_MMIO
312
Lee Jones70bef012015-05-26 13:39:43 +0100313config CLKSRC_ST_LPC
314 bool
315 depends on ARCH_STI
316 select CLKSRC_OF if OF
317 help
318 Enable this option to use the Low Power controller timer
319 as clocksource.
320
Jean Delvare58394272014-06-16 11:48:45 +0200321endmenu