blob: f6e71b74405fbc4cd466c3f05e055d00d0512318 [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
Daniel Lezcano9519e802015-10-30 20:30:34 +010049 bool "Armada 370 and XP timer driver" if COMPILE_TEST
50 depends on ARM
Jean Pihet7b0dd722013-09-18 20:55:09 +020051 select CLKSRC_OF
Daniel Lezcano9519e802015-10-30 20:30:34 +010052 help
53 Enables the support for the Armada 370 and XP timer driver.
Gregory CLEMENT6fe9cbd2012-06-13 18:58:09 +020054
Carlo Caionee4a6b372014-09-29 01:50:05 +020055config MESON6_TIMER
Daniel Lezcano0b7a7bb2015-10-30 22:07:39 +010056 bool "Meson6 timer driver" if COMPILE_TEST
Beniamino Galvani7b6b0a42014-11-18 16:41:20 +010057 select CLKSRC_MMIO
Daniel Lezcano0b7a7bb2015-10-30 22:07:39 +010058 help
59 Enables the support for the Meson6 timer driver.
Carlo Caionee4a6b372014-09-29 01:50:05 +020060
Sebastian Hesselbarth0c1dcfd2013-06-11 08:38:50 +020061config ORION_TIMER
62 select CLKSRC_OF
63 select CLKSRC_MMIO
64 bool
65
Maxime Ripard119fd632013-03-24 11:49:25 +010066config SUN4I_TIMER
Maxime Ripard71c568c2013-10-14 21:07:46 +020067 select CLKSRC_MMIO
Maxime Ripardb2ac5d72012-11-12 15:07:50 +010068 bool
69
Maxime Ripard67905542013-11-07 12:01:48 +010070config SUN5I_HSTIMER
71 select CLKSRC_MMIO
72 bool
73
Thierry Reding910978e72014-07-07 15:26:30 +020074config TEGRA_TIMER
75 bool
76
Tony Priskff7ec342013-01-14 17:58:21 +130077config VT8500_TIMER
78 bool
79
Michal Simek4f0f2342013-03-20 10:46:01 +010080config CADENCE_TTC_TIMER
81 bool
82
Daniel Lezcanoa8b1b9f2015-02-23 19:54:16 +010083config ASM9260_TIMER
84 bool
85 select CLKSRC_MMIO
86 select CLKSRC_OF
87
Linus Walleij694e33a2012-10-18 14:01:25 +020088config CLKSRC_NOMADIK_MTU
89 bool
90 depends on (ARCH_NOMADIK || ARCH_U8500)
91 select CLKSRC_MMIO
92 help
93 Support for Multi Timer Unit. MTU provides access
94 to multiple interrupt generating programmable
95 32-bit free running decrementing counters.
96
97config CLKSRC_NOMADIK_MTU_SCHED_CLOCK
98 bool
99 depends on CLKSRC_NOMADIK_MTU
100 help
101 Use the Multi Timer Unit as the sched_clock.
102
Mattias Wallin489bcce2011-05-27 10:30:12 +0200103config CLKSRC_DBX500_PRCMU
104 bool "Clocksource PRCMU Timer"
Linus Walleij29746f42012-04-13 13:16:31 +0200105 depends on UX500_SOC_DB8500
Mattias Wallin489bcce2011-05-27 10:30:12 +0200106 default y
107 help
108 Use the always on PRCMU Timer as clocksource
109
110config CLKSRC_DBX500_PRCMU_SCHED_CLOCK
111 bool "Clocksource PRCMU Timer sched_clock"
Linus Walleij694e33a2012-10-18 14:01:25 +0200112 depends on (CLKSRC_DBX500_PRCMU && !CLKSRC_NOMADIK_MTU_SCHED_CLOCK)
Mattias Wallin489bcce2011-05-27 10:30:12 +0200113 default y
114 help
115 Use the always on PRCMU Timer as sched_clock
Marc Zyngier985c0672012-03-05 11:49:30 +0000116
Uwe Kleine-König9c9b7812013-10-03 21:56:29 +0200117config CLKSRC_EFM32
118 bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32
119 depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST)
Axel Lin09ca2752013-11-20 10:15:11 +0800120 select CLKSRC_MMIO
Uwe Kleine-König9c9b7812013-10-03 21:56:29 +0200121 default ARCH_EFM32
122 help
123 Support to use the timers of EFM32 SoCs as clock source and clock
124 event device.
125
Joachim Eastwood050dd322015-05-12 00:00:48 +0200126config CLKSRC_LPC32XX
127 bool
128 select CLKSRC_MMIO
129 select CLKSRC_OF
130
Ezequiel Garcia84583982015-08-07 16:39:31 +0100131config CLKSRC_PISTACHIO
Daniel Lezcanodfdb1652015-10-30 17:28:13 +0100132 bool "Clocksource for Pistachio SoC" if COMPILE_TEST
Ezequiel Garcia84583982015-08-07 16:39:31 +0100133 select CLKSRC_OF
Daniel Lezcanodfdb1652015-10-30 17:28:13 +0100134 help
135 Enables the clocksource for the Pistachio SoC.
Ezequiel Garcia84583982015-08-07 16:39:31 +0100136
Felipe Balbife851f52015-09-29 13:55:33 -0500137config CLKSRC_TI_32K
138 bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST
Felipe Balbidfedaf12015-10-16 16:10:05 -0500139 depends on GENERIC_SCHED_CLOCK
Felipe Balbife851f52015-09-29 13:55:33 -0500140 select CLKSRC_OF if OF
141 help
142 This option enables support for Texas Instruments 32.768 Hz clocksource
143 available on many OMAP-like platforms.
144
Maxime Coqueline37e4592015-05-22 23:03:33 +0200145config CLKSRC_STM32
Paul Gortmaker1cb6c212015-06-20 19:02:32 -0400146 bool "Clocksource for STM32 SoCs" if !ARCH_STM32
147 depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST)
Maxime Coqueline37e4592015-05-22 23:03:33 +0200148 select CLKSRC_MMIO
149
Mark Rutland8a4da6e2012-11-12 14:33:44 +0000150config ARM_ARCH_TIMER
151 bool
Rob Herring0583fe42013-04-10 18:27:51 -0500152 select CLKSRC_OF if OF
Marc Zyngierae281cb2015-09-28 15:49:17 +0100153 select CLKSRC_ACPI if ACPI
James Hogana2c5d4e2012-10-09 10:54:39 +0100154
Will Deacon037f6372013-08-23 15:32:29 +0100155config ARM_ARCH_TIMER_EVTSTREAM
156 bool "Support for ARM architected timer event stream generation"
157 default y if ARM_ARCH_TIMER
Stephen Boyd77f7ce92013-11-20 12:02:03 -0800158 depends on ARM_ARCH_TIMER
Will Deacon037f6372013-08-23 15:32:29 +0100159 help
160 This option enables support for event stream generation based on
161 the ARM architected timer. It is used for waking up CPUs executing
162 the wfe instruction at a frequency represented as a power-of-2
163 divisor of the clock rate.
164 The main use of the event stream is wfe-based timeouts of userspace
165 locking implementations. It might also be useful for imposing timeout
166 on wfe to safeguard against any programming errors in case an expected
167 event is not generated.
168 This must be disabled for hardware validation purposes to detect any
169 hardware anomalies of missing events.
170
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100171config ARM_GLOBAL_TIMER
172 bool
173 select CLKSRC_OF if OF
174 help
175 This options enables support for the ARM global timer unit
176
Sudeep Holla0b7402d2015-05-18 16:29:40 +0100177config ARM_TIMER_SP804
178 bool "Support for Dual Timer SP804 module"
Guenter Roeck002af192015-06-23 20:49:05 -0700179 depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP
Sudeep Holla0b7402d2015-05-18 16:29:40 +0100180 select CLKSRC_MMIO
181 select CLKSRC_OF if OF
182
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100183config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
184 bool
185 depends on ARM_GLOBAL_TIMER
186 default y
187 help
188 Use ARM global timer clock source as sched_clock
189
Maxime Coquelin4958ebb2015-05-09 09:53:46 +0200190config ARMV7M_SYSTICK
191 bool
192 select CLKSRC_OF if OF
193 select CLKSRC_MMIO
194 help
195 This options enables support for the ARMv7M system timer unit
196
Maxime Ripardb052ff32014-09-02 18:12:35 +0200197config ATMEL_PIT
198 select CLKSRC_OF if OF
199 def_bool SOC_AT91SAM9 || SOC_SAMA5
200
Alexandre Bellonib53cdd02015-03-12 13:07:31 +0100201config ATMEL_ST
202 bool
203 select CLKSRC_OF
Alexandre Belloni7ab7ef72015-03-19 14:17:48 +0100204 select MFD_SYSCON
Alexandre Bellonib53cdd02015-03-12 13:07:31 +0100205
James Hogana2c5d4e2012-10-09 10:54:39 +0100206config CLKSRC_METAG_GENERIC
207 def_bool y if METAG
208 help
209 This option enables support for the Meta per-thread timers.
Thomas Abraham6938d75a2013-03-09 16:16:13 +0900210
211config CLKSRC_EXYNOS_MCT
212 def_bool y if ARCH_EXYNOS
Doug Anderson3252a642014-07-05 06:43:26 +0900213 depends on !ARM64
Thomas Abraham6938d75a2013-03-09 16:16:13 +0900214 help
215 Support for Multi Core Timer controller on Exynos SoCs.
Arnd Bergmann241a9872013-05-06 23:49:09 +0200216
Tomasz Figaf1189982013-04-20 23:22:13 +0200217config CLKSRC_SAMSUNG_PWM
Tomasz Figa77d84432013-04-23 17:46:23 +0200218 bool
Tomasz Figaf1189982013-04-20 23:22:13 +0200219 help
220 This is a new clocksource driver for the PWM timer found in
221 Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
222 for all devicetree enabled platforms. This driver will be
223 needed only on systems that do not have the Exynos MCT available.
Jingchang Luc1967242013-05-29 10:12:17 +0200224
Xiubo Li2529c3a2014-05-23 10:12:04 +0200225config FSL_FTM_TIMER
226 bool
227 help
228 Support for Freescale FlexTimer Module (FTM) timer.
229
Jingchang Luc1967242013-05-29 10:12:17 +0200230config VF_PIT_TIMER
231 bool
232 help
233 Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
Magnus Dammfd3f1272014-02-20 12:54:45 +0100234
235config SYS_SUPPORTS_SH_CMT
236 bool
237
Matthias Bruggerecb35302014-07-18 11:36:43 +0200238config MTK_TIMER
Daniel Lezcanofbca9ea2015-10-30 17:53:27 +0100239 bool "Mediatek timer driver" if COMPILE_TEST
Matthias Bruggerecb35302014-07-18 11:36:43 +0200240 select CLKSRC_OF
241 select CLKSRC_MMIO
Daniel Lezcanofbca9ea2015-10-30 17:53:27 +0100242 help
243 Support for Mediatek timer driver.
Matthias Bruggerecb35302014-07-18 11:36:43 +0200244
Magnus Dammfd3f1272014-02-20 12:54:45 +0100245config SYS_SUPPORTS_SH_MTU2
246 bool
247
248config SYS_SUPPORTS_SH_TMU
249 bool
250
251config SYS_SUPPORTS_EM_STI
252 bool
253
254config SH_TIMER_CMT
255 bool "Renesas CMT timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100256 depends on GENERIC_CLOCKEVENTS
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100257 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100258 default SYS_SUPPORTS_SH_CMT
259 help
260 This enables build of a clocksource and clockevent driver for
261 the Compare Match Timer (CMT) hardware available in 16/32/48-bit
262 variants on a wide range of Mobile and Automotive SoCs from Renesas.
263
264config SH_TIMER_MTU2
265 bool "Renesas MTU2 timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100266 depends on GENERIC_CLOCKEVENTS
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100267 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100268 default SYS_SUPPORTS_SH_MTU2
269 help
270 This enables build of a clockevent driver for the Multi-Function
Kuninori Morimoto7e139182014-07-18 11:36:36 +0200271 Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
Magnus Dammfd3f1272014-02-20 12:54:45 +0100272 This hardware comes with 16 bit-timer registers.
273
274config SH_TIMER_TMU
275 bool "Renesas TMU timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100276 depends on GENERIC_CLOCKEVENTS
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100277 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100278 default SYS_SUPPORTS_SH_TMU
279 help
280 This enables build of a clocksource and clockevent driver for
281 the 32-bit Timer Unit (TMU) hardware available on a wide range
282 SoCs from Renesas.
283
284config EM_TIMER_STI
285 bool "Renesas STI timer driver" if COMPILE_TEST
Chen Gang40c96312014-07-08 20:39:40 +0800286 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100287 default SYS_SUPPORTS_EM_STI
288 help
289 This enables build of a clocksource and clockevent driver for
290 the 48-bit System Timer (STI) hardware available on a SoCs
291 such as EMEV2 from former NEC Electronics.
Linus Torvaldsdfc25e42014-04-05 13:51:19 -0700292
Kumar Gala3f8e8ce2014-01-29 16:17:30 -0600293config CLKSRC_QCOM
Daniel Lezcano3dc0e9f2015-10-09 11:10:43 +0200294 bool "Qualcomm MSM timer" if COMPILE_TEST
295 depends on ARM
296 select CLKSRC_OF
297 help
298 This enables the clocksource and the per CPU clockevent driver for the
299 Qualcomm SoCs.
Pawel Moll220e2a82014-04-16 18:22:59 +0100300
301config CLKSRC_VERSATILE
302 bool "ARM Versatile (Express) reference platforms clock source"
Deng-Cheng Zhuff370152015-03-07 10:30:22 -0800303 depends on PLAT_VERSATILE && GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET
Pawel Moll220e2a82014-04-16 18:22:59 +0100304 select CLKSRC_OF
305 default y if MFD_VEXPRESS_SYSREG
306 help
307 This option enables clock source based on free running
308 counter available in the "System Registers" block of
309 ARM Versatile, RealView and Versatile Express reference
310 platforms.
Jean Delvare58394272014-06-16 11:48:45 +0200311
Andrew Brestickerfa5635a2014-10-20 12:03:58 -0700312config CLKSRC_MIPS_GIC
313 bool
314 depends on MIPS_GIC
Andrew Brestickere12aa822014-11-12 11:43:39 -0800315 select CLKSRC_OF
Andrew Brestickerfa5635a2014-10-20 12:03:58 -0700316
Marc Gonzalezccd63ce2015-10-09 16:59:18 +0200317config CLKSRC_TANGO_XTAL
Daniel Lezcano5a7351f2015-10-29 20:54:19 +0100318 bool "Clocksource for Tango SoC" if COMPILE_TEST
319 depends on ARM
Marc Gonzalezccd63ce2015-10-09 16:59:18 +0200320 select CLKSRC_OF
Daniel Lezcano5a7351f2015-10-29 20:54:19 +0100321 help
322 This enables the clocksource for Tango SoC
Marc Gonzalezccd63ce2015-10-09 16:59:18 +0200323
Dmitry Eremin-Solenikove074ff82014-12-21 16:07:09 +0100324config CLKSRC_PXA
Daniel Lezcano5ae996c2015-10-09 17:47:32 +0200325 bool "Clocksource for PXA or SA-11x0 platform" if COMPILE_TEST
326 depends on GENERIC_CLOCKEVENTS
327 select CLKSRC_MMIO
Dmitry Eremin-Solenikove074ff82014-12-21 16:07:09 +0100328 help
329 This enables OST0 support available on PXA and SA-11x0
330 platforms.
Yoshinori Sato618b9022015-01-28 02:52:42 +0900331
332config H8300_TMR16
333 bool
334
335config H8300_TPU
336 bool
337
Shawn Guobea5af42015-05-15 15:41:00 +0800338config CLKSRC_IMX_GPT
339 bool "Clocksource using i.MX GPT" if COMPILE_TEST
340 depends on ARM && CLKDEV_LOOKUP
341 select CLKSRC_MMIO
342
Lee Jones70bef012015-05-26 13:39:43 +0100343config CLKSRC_ST_LPC
Daniel Lezcanobaacaf82015-10-09 15:36:28 +0200344 bool "Low power clocksource found in the LPC" if COMPILE_TEST
Lee Jones70bef012015-05-26 13:39:43 +0100345 select CLKSRC_OF if OF
346 help
347 Enable this option to use the Low Power controller timer
348 as clocksource.
349
Jean Delvare58394272014-06-16 11:48:45 +0200350endmenu