blob: 0c06103769a665b8ae5e1a48e2f17e41854bbaa9 [file] [log] [blame]
Jean Delvare58394272014-06-16 11:48:45 +02001menu "Clock Source drivers"
Arnd Bergmann3da6d492015-11-16 17:51:17 +01002 depends on !ARCH_USES_GETTIMEOFFSET
Jean Delvare58394272014-06-16 11:48:45 +02003
Stephen Warrenae278a92012-11-19 16:41:20 -07004config CLKSRC_OF
5 bool
Marc Zyngieraad83b152015-09-28 15:49:16 +01006 select CLKSRC_PROBE
7
8config CLKSRC_ACPI
9 bool
10 select CLKSRC_PROBE
11
12config CLKSRC_PROBE
13 bool
Stephen Warrenae278a92012-11-19 16:41:20 -070014
Russell King89c0b8e2011-05-08 18:47:58 +010015config CLKSRC_I8253
16 bool
Russell King442c8172011-05-08 14:06:52 +010017
Thomas Gleixnere6220bd2011-06-09 13:08:25 +000018config CLKEVT_I8253
19 bool
20
Ralf Baechle15f304b2011-06-01 19:04:59 +010021config I8253_LOCK
22 bool
23
24config CLKBLD_I8253
Thomas Gleixnere6220bd2011-06-09 13:08:25 +000025 def_bool y if CLKSRC_I8253 || CLKEVT_I8253 || I8253_LOCK
Ralf Baechle15f304b2011-06-01 19:04:59 +010026
Russell King442c8172011-05-08 14:06:52 +010027config CLKSRC_MMIO
28 bool
Jamie Iles06c3df42011-06-06 12:43:07 +010029
Baruch Siach9b8bb772015-01-26 20:35:18 +020030config DIGICOLOR_TIMER
31 bool
32
Jamie Iles06c3df42011-06-06 12:43:07 +010033config DW_APB_TIMER
34 bool
Mattias Wallin489bcce2011-05-27 10:30:12 +020035
Dinh Nguyencfda5902012-07-11 15:13:16 -050036config DW_APB_TIMER_OF
37 bool
Heiko Stuebner1b4eca02013-06-04 11:38:11 +020038 select DW_APB_TIMER
Heiko Stuebner10021482013-06-04 11:38:42 +020039 select CLKSRC_OF
Dinh Nguyencfda5902012-07-11 15:13:16 -050040
Daniel Lezcano468b8c42015-01-25 22:06:02 +010041config ROCKCHIP_TIMER
Daniel Lezcano40ada2a2015-10-30 17:58:47 +010042 bool "Rockchip timer driver" if COMPILE_TEST
43 depends on ARM || ARM64
Daniel Lezcano468b8c42015-01-25 22:06:02 +010044 select CLKSRC_OF
Daniel Lezcano40ada2a2015-10-30 17:58:47 +010045 help
46 Enables the support for the rockchip timer driver.
Daniel Lezcano468b8c42015-01-25 22:06:02 +010047
Gregory CLEMENT6fe9cbd2012-06-13 18:58:09 +020048config ARMADA_370_XP_TIMER
49 bool
Jean Pihet7b0dd722013-09-18 20:55:09 +020050 select CLKSRC_OF
Gregory CLEMENT6fe9cbd2012-06-13 18:58:09 +020051
Carlo Caionee4a6b372014-09-29 01:50:05 +020052config MESON6_TIMER
53 bool
Beniamino Galvani7b6b0a42014-11-18 16:41:20 +010054 select CLKSRC_MMIO
Carlo Caionee4a6b372014-09-29 01:50:05 +020055
Sebastian Hesselbarth0c1dcfd2013-06-11 08:38:50 +020056config ORION_TIMER
57 select CLKSRC_OF
58 select CLKSRC_MMIO
59 bool
60
Maxime Ripard119fd632013-03-24 11:49:25 +010061config SUN4I_TIMER
Maxime Ripard71c568c2013-10-14 21:07:46 +020062 select CLKSRC_MMIO
Maxime Ripardb2ac5d72012-11-12 15:07:50 +010063 bool
64
Maxime Ripard67905542013-11-07 12:01:48 +010065config SUN5I_HSTIMER
66 select CLKSRC_MMIO
67 bool
68
Thierry Reding910978e72014-07-07 15:26:30 +020069config TEGRA_TIMER
70 bool
71
Tony Priskff7ec342013-01-14 17:58:21 +130072config VT8500_TIMER
73 bool
74
Michal Simek4f0f2342013-03-20 10:46:01 +010075config CADENCE_TTC_TIMER
76 bool
77
Daniel Lezcanoa8b1b9f2015-02-23 19:54:16 +010078config ASM9260_TIMER
79 bool
80 select CLKSRC_MMIO
81 select CLKSRC_OF
82
Linus Walleij694e33a2012-10-18 14:01:25 +020083config CLKSRC_NOMADIK_MTU
84 bool
85 depends on (ARCH_NOMADIK || ARCH_U8500)
86 select CLKSRC_MMIO
87 help
88 Support for Multi Timer Unit. MTU provides access
89 to multiple interrupt generating programmable
90 32-bit free running decrementing counters.
91
92config CLKSRC_NOMADIK_MTU_SCHED_CLOCK
93 bool
94 depends on CLKSRC_NOMADIK_MTU
95 help
96 Use the Multi Timer Unit as the sched_clock.
97
Mattias Wallin489bcce2011-05-27 10:30:12 +020098config CLKSRC_DBX500_PRCMU
99 bool "Clocksource PRCMU Timer"
Linus Walleij29746f42012-04-13 13:16:31 +0200100 depends on UX500_SOC_DB8500
Mattias Wallin489bcce2011-05-27 10:30:12 +0200101 default y
102 help
103 Use the always on PRCMU Timer as clocksource
104
105config CLKSRC_DBX500_PRCMU_SCHED_CLOCK
106 bool "Clocksource PRCMU Timer sched_clock"
Linus Walleij694e33a2012-10-18 14:01:25 +0200107 depends on (CLKSRC_DBX500_PRCMU && !CLKSRC_NOMADIK_MTU_SCHED_CLOCK)
Mattias Wallin489bcce2011-05-27 10:30:12 +0200108 default y
109 help
110 Use the always on PRCMU Timer as sched_clock
Marc Zyngier985c0672012-03-05 11:49:30 +0000111
Uwe Kleine-König9c9b7812013-10-03 21:56:29 +0200112config CLKSRC_EFM32
113 bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32
114 depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST)
Axel Lin09ca2752013-11-20 10:15:11 +0800115 select CLKSRC_MMIO
Uwe Kleine-König9c9b7812013-10-03 21:56:29 +0200116 default ARCH_EFM32
117 help
118 Support to use the timers of EFM32 SoCs as clock source and clock
119 event device.
120
Joachim Eastwood050dd322015-05-12 00:00:48 +0200121config CLKSRC_LPC32XX
122 bool
123 select CLKSRC_MMIO
124 select CLKSRC_OF
125
Ezequiel Garcia84583982015-08-07 16:39:31 +0100126config CLKSRC_PISTACHIO
Daniel Lezcanodfdb1652015-10-30 17:28:13 +0100127 bool "Clocksource for Pistachio SoC" if COMPILE_TEST
Ezequiel Garcia84583982015-08-07 16:39:31 +0100128 select CLKSRC_OF
Daniel Lezcanodfdb1652015-10-30 17:28:13 +0100129 help
130 Enables the clocksource for the Pistachio SoC.
Ezequiel Garcia84583982015-08-07 16:39:31 +0100131
Felipe Balbife851f52015-09-29 13:55:33 -0500132config CLKSRC_TI_32K
133 bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST
Felipe Balbidfedaf12015-10-16 16:10:05 -0500134 depends on GENERIC_SCHED_CLOCK
Felipe Balbife851f52015-09-29 13:55:33 -0500135 select CLKSRC_OF if OF
136 help
137 This option enables support for Texas Instruments 32.768 Hz clocksource
138 available on many OMAP-like platforms.
139
Maxime Coqueline37e4592015-05-22 23:03:33 +0200140config CLKSRC_STM32
Paul Gortmaker1cb6c212015-06-20 19:02:32 -0400141 bool "Clocksource for STM32 SoCs" if !ARCH_STM32
142 depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST)
Maxime Coqueline37e4592015-05-22 23:03:33 +0200143 select CLKSRC_MMIO
144
Mark Rutland8a4da6e2012-11-12 14:33:44 +0000145config ARM_ARCH_TIMER
146 bool
Rob Herring0583fe42013-04-10 18:27:51 -0500147 select CLKSRC_OF if OF
Marc Zyngierae281cb2015-09-28 15:49:17 +0100148 select CLKSRC_ACPI if ACPI
James Hogana2c5d4e2012-10-09 10:54:39 +0100149
Will Deacon037f6372013-08-23 15:32:29 +0100150config ARM_ARCH_TIMER_EVTSTREAM
151 bool "Support for ARM architected timer event stream generation"
152 default y if ARM_ARCH_TIMER
Stephen Boyd77f7ce92013-11-20 12:02:03 -0800153 depends on ARM_ARCH_TIMER
Will Deacon037f6372013-08-23 15:32:29 +0100154 help
155 This option enables support for event stream generation based on
156 the ARM architected timer. It is used for waking up CPUs executing
157 the wfe instruction at a frequency represented as a power-of-2
158 divisor of the clock rate.
159 The main use of the event stream is wfe-based timeouts of userspace
160 locking implementations. It might also be useful for imposing timeout
161 on wfe to safeguard against any programming errors in case an expected
162 event is not generated.
163 This must be disabled for hardware validation purposes to detect any
164 hardware anomalies of missing events.
165
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100166config ARM_GLOBAL_TIMER
167 bool
168 select CLKSRC_OF if OF
169 help
170 This options enables support for the ARM global timer unit
171
Sudeep Holla0b7402d2015-05-18 16:29:40 +0100172config ARM_TIMER_SP804
173 bool "Support for Dual Timer SP804 module"
Guenter Roeck002af192015-06-23 20:49:05 -0700174 depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP
Sudeep Holla0b7402d2015-05-18 16:29:40 +0100175 select CLKSRC_MMIO
176 select CLKSRC_OF if OF
177
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100178config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
179 bool
180 depends on ARM_GLOBAL_TIMER
181 default y
182 help
183 Use ARM global timer clock source as sched_clock
184
Maxime Coquelin4958ebb2015-05-09 09:53:46 +0200185config ARMV7M_SYSTICK
186 bool
187 select CLKSRC_OF if OF
188 select CLKSRC_MMIO
189 help
190 This options enables support for the ARMv7M system timer unit
191
Maxime Ripardb052ff32014-09-02 18:12:35 +0200192config ATMEL_PIT
193 select CLKSRC_OF if OF
194 def_bool SOC_AT91SAM9 || SOC_SAMA5
195
Alexandre Bellonib53cdd02015-03-12 13:07:31 +0100196config ATMEL_ST
197 bool
198 select CLKSRC_OF
Alexandre Belloni7ab7ef72015-03-19 14:17:48 +0100199 select MFD_SYSCON
Alexandre Bellonib53cdd02015-03-12 13:07:31 +0100200
James Hogana2c5d4e2012-10-09 10:54:39 +0100201config CLKSRC_METAG_GENERIC
202 def_bool y if METAG
203 help
204 This option enables support for the Meta per-thread timers.
Thomas Abraham6938d75a2013-03-09 16:16:13 +0900205
206config CLKSRC_EXYNOS_MCT
207 def_bool y if ARCH_EXYNOS
Doug Anderson3252a642014-07-05 06:43:26 +0900208 depends on !ARM64
Thomas Abraham6938d75a2013-03-09 16:16:13 +0900209 help
210 Support for Multi Core Timer controller on Exynos SoCs.
Arnd Bergmann241a9872013-05-06 23:49:09 +0200211
Tomasz Figaf1189982013-04-20 23:22:13 +0200212config CLKSRC_SAMSUNG_PWM
Tomasz Figa77d84432013-04-23 17:46:23 +0200213 bool
Tomasz Figaf1189982013-04-20 23:22:13 +0200214 help
215 This is a new clocksource driver for the PWM timer found in
216 Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
217 for all devicetree enabled platforms. This driver will be
218 needed only on systems that do not have the Exynos MCT available.
Jingchang Luc1967242013-05-29 10:12:17 +0200219
Xiubo Li2529c3a2014-05-23 10:12:04 +0200220config FSL_FTM_TIMER
221 bool
222 help
223 Support for Freescale FlexTimer Module (FTM) timer.
224
Jingchang Luc1967242013-05-29 10:12:17 +0200225config VF_PIT_TIMER
226 bool
227 help
228 Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
Magnus Dammfd3f1272014-02-20 12:54:45 +0100229
230config SYS_SUPPORTS_SH_CMT
231 bool
232
Matthias Bruggerecb35302014-07-18 11:36:43 +0200233config MTK_TIMER
Daniel Lezcanofbca9ea2015-10-30 17:53:27 +0100234 bool "Mediatek timer driver" if COMPILE_TEST
Matthias Bruggerecb35302014-07-18 11:36:43 +0200235 select CLKSRC_OF
236 select CLKSRC_MMIO
Daniel Lezcanofbca9ea2015-10-30 17:53:27 +0100237 help
238 Support for Mediatek timer driver.
Matthias Bruggerecb35302014-07-18 11:36:43 +0200239
Magnus Dammfd3f1272014-02-20 12:54:45 +0100240config SYS_SUPPORTS_SH_MTU2
241 bool
242
243config SYS_SUPPORTS_SH_TMU
244 bool
245
246config SYS_SUPPORTS_EM_STI
247 bool
248
249config SH_TIMER_CMT
250 bool "Renesas CMT timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100251 depends on GENERIC_CLOCKEVENTS
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100252 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100253 default SYS_SUPPORTS_SH_CMT
254 help
255 This enables build of a clocksource and clockevent driver for
256 the Compare Match Timer (CMT) hardware available in 16/32/48-bit
257 variants on a wide range of Mobile and Automotive SoCs from Renesas.
258
259config SH_TIMER_MTU2
260 bool "Renesas MTU2 timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100261 depends on GENERIC_CLOCKEVENTS
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100262 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100263 default SYS_SUPPORTS_SH_MTU2
264 help
265 This enables build of a clockevent driver for the Multi-Function
Kuninori Morimoto7e139182014-07-18 11:36:36 +0200266 Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
Magnus Dammfd3f1272014-02-20 12:54:45 +0100267 This hardware comes with 16 bit-timer registers.
268
269config SH_TIMER_TMU
270 bool "Renesas TMU timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100271 depends on GENERIC_CLOCKEVENTS
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100272 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100273 default SYS_SUPPORTS_SH_TMU
274 help
275 This enables build of a clocksource and clockevent driver for
276 the 32-bit Timer Unit (TMU) hardware available on a wide range
277 SoCs from Renesas.
278
279config EM_TIMER_STI
280 bool "Renesas STI timer driver" if COMPILE_TEST
Chen Gang40c96312014-07-08 20:39:40 +0800281 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100282 default SYS_SUPPORTS_EM_STI
283 help
284 This enables build of a clocksource and clockevent driver for
285 the 48-bit System Timer (STI) hardware available on a SoCs
286 such as EMEV2 from former NEC Electronics.
Linus Torvaldsdfc25e42014-04-05 13:51:19 -0700287
Kumar Gala3f8e8ce2014-01-29 16:17:30 -0600288config CLKSRC_QCOM
Daniel Lezcano3dc0e9f2015-10-09 11:10:43 +0200289 bool "Qualcomm MSM timer" if COMPILE_TEST
290 depends on ARM
291 select CLKSRC_OF
292 help
293 This enables the clocksource and the per CPU clockevent driver for the
294 Qualcomm SoCs.
Pawel Moll220e2a82014-04-16 18:22:59 +0100295
296config CLKSRC_VERSATILE
297 bool "ARM Versatile (Express) reference platforms clock source"
Deng-Cheng Zhuff370152015-03-07 10:30:22 -0800298 depends on PLAT_VERSATILE && GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET
Pawel Moll220e2a82014-04-16 18:22:59 +0100299 select CLKSRC_OF
300 default y if MFD_VEXPRESS_SYSREG
301 help
302 This option enables clock source based on free running
303 counter available in the "System Registers" block of
304 ARM Versatile, RealView and Versatile Express reference
305 platforms.
Jean Delvare58394272014-06-16 11:48:45 +0200306
Andrew Brestickerfa5635a2014-10-20 12:03:58 -0700307config CLKSRC_MIPS_GIC
308 bool
309 depends on MIPS_GIC
Andrew Brestickere12aa822014-11-12 11:43:39 -0800310 select CLKSRC_OF
Andrew Brestickerfa5635a2014-10-20 12:03:58 -0700311
Marc Gonzalezccd63ce2015-10-09 16:59:18 +0200312config CLKSRC_TANGO_XTAL
Daniel Lezcano5a7351f2015-10-29 20:54:19 +0100313 bool "Clocksource for Tango SoC" if COMPILE_TEST
314 depends on ARM
Marc Gonzalezccd63ce2015-10-09 16:59:18 +0200315 select CLKSRC_OF
Daniel Lezcano5a7351f2015-10-29 20:54:19 +0100316 help
317 This enables the clocksource for Tango SoC
Marc Gonzalezccd63ce2015-10-09 16:59:18 +0200318
Dmitry Eremin-Solenikove074ff82014-12-21 16:07:09 +0100319config CLKSRC_PXA
Daniel Lezcano5ae996c2015-10-09 17:47:32 +0200320 bool "Clocksource for PXA or SA-11x0 platform" if COMPILE_TEST
321 depends on GENERIC_CLOCKEVENTS
322 select CLKSRC_MMIO
Dmitry Eremin-Solenikove074ff82014-12-21 16:07:09 +0100323 help
324 This enables OST0 support available on PXA and SA-11x0
325 platforms.
Yoshinori Sato618b9022015-01-28 02:52:42 +0900326
327config H8300_TMR16
328 bool
329
330config H8300_TPU
331 bool
332
Shawn Guobea5af42015-05-15 15:41:00 +0800333config CLKSRC_IMX_GPT
334 bool "Clocksource using i.MX GPT" if COMPILE_TEST
335 depends on ARM && CLKDEV_LOOKUP
336 select CLKSRC_MMIO
337
Lee Jones70bef012015-05-26 13:39:43 +0100338config CLKSRC_ST_LPC
Daniel Lezcanobaacaf82015-10-09 15:36:28 +0200339 bool "Low power clocksource found in the LPC" if COMPILE_TEST
Lee Jones70bef012015-05-26 13:39:43 +0100340 select CLKSRC_OF if OF
341 help
342 Enable this option to use the Low Power controller timer
343 as clocksource.
344
Jean Delvare58394272014-06-16 11:48:45 +0200345endmenu