blob: 3ba43f63e1a29a31962fddee2ed58d3a012e7eec [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
42 bool
43 select CLKSRC_OF
44
Gregory CLEMENT6fe9cbd2012-06-13 18:58:09 +020045config ARMADA_370_XP_TIMER
46 bool
Jean Pihet7b0dd722013-09-18 20:55:09 +020047 select CLKSRC_OF
Gregory CLEMENT6fe9cbd2012-06-13 18:58:09 +020048
Carlo Caionee4a6b372014-09-29 01:50:05 +020049config MESON6_TIMER
50 bool
Beniamino Galvani7b6b0a42014-11-18 16:41:20 +010051 select CLKSRC_MMIO
Carlo Caionee4a6b372014-09-29 01:50:05 +020052
Sebastian Hesselbarth0c1dcfd2013-06-11 08:38:50 +020053config ORION_TIMER
54 select CLKSRC_OF
55 select CLKSRC_MMIO
56 bool
57
Maxime Ripard119fd632013-03-24 11:49:25 +010058config SUN4I_TIMER
Maxime Ripard71c568c2013-10-14 21:07:46 +020059 select CLKSRC_MMIO
Maxime Ripardb2ac5d72012-11-12 15:07:50 +010060 bool
61
Maxime Ripard67905542013-11-07 12:01:48 +010062config SUN5I_HSTIMER
63 select CLKSRC_MMIO
64 bool
65
Thierry Reding910978e72014-07-07 15:26:30 +020066config TEGRA_TIMER
67 bool
68
Tony Priskff7ec342013-01-14 17:58:21 +130069config VT8500_TIMER
70 bool
71
Michal Simek4f0f2342013-03-20 10:46:01 +010072config CADENCE_TTC_TIMER
73 bool
74
Daniel Lezcanoa8b1b9f2015-02-23 19:54:16 +010075config ASM9260_TIMER
76 bool
77 select CLKSRC_MMIO
78 select CLKSRC_OF
79
Linus Walleij694e33a2012-10-18 14:01:25 +020080config CLKSRC_NOMADIK_MTU
81 bool
82 depends on (ARCH_NOMADIK || ARCH_U8500)
83 select CLKSRC_MMIO
84 help
85 Support for Multi Timer Unit. MTU provides access
86 to multiple interrupt generating programmable
87 32-bit free running decrementing counters.
88
89config CLKSRC_NOMADIK_MTU_SCHED_CLOCK
90 bool
91 depends on CLKSRC_NOMADIK_MTU
92 help
93 Use the Multi Timer Unit as the sched_clock.
94
Mattias Wallin489bcce2011-05-27 10:30:12 +020095config CLKSRC_DBX500_PRCMU
96 bool "Clocksource PRCMU Timer"
Linus Walleij29746f42012-04-13 13:16:31 +020097 depends on UX500_SOC_DB8500
Mattias Wallin489bcce2011-05-27 10:30:12 +020098 default y
99 help
100 Use the always on PRCMU Timer as clocksource
101
102config CLKSRC_DBX500_PRCMU_SCHED_CLOCK
103 bool "Clocksource PRCMU Timer sched_clock"
Linus Walleij694e33a2012-10-18 14:01:25 +0200104 depends on (CLKSRC_DBX500_PRCMU && !CLKSRC_NOMADIK_MTU_SCHED_CLOCK)
Mattias Wallin489bcce2011-05-27 10:30:12 +0200105 default y
106 help
107 Use the always on PRCMU Timer as sched_clock
Marc Zyngier985c0672012-03-05 11:49:30 +0000108
Uwe Kleine-König9c9b7812013-10-03 21:56:29 +0200109config CLKSRC_EFM32
110 bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32
111 depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST)
Axel Lin09ca2752013-11-20 10:15:11 +0800112 select CLKSRC_MMIO
Uwe Kleine-König9c9b7812013-10-03 21:56:29 +0200113 default ARCH_EFM32
114 help
115 Support to use the timers of EFM32 SoCs as clock source and clock
116 event device.
117
Joachim Eastwood050dd322015-05-12 00:00:48 +0200118config CLKSRC_LPC32XX
119 bool
120 select CLKSRC_MMIO
121 select CLKSRC_OF
122
Ezequiel Garcia84583982015-08-07 16:39:31 +0100123config CLKSRC_PISTACHIO
Daniel Lezcanodfdb1652015-10-30 17:28:13 +0100124 bool "Clocksource for Pistachio SoC" if COMPILE_TEST
Ezequiel Garcia84583982015-08-07 16:39:31 +0100125 select CLKSRC_OF
Daniel Lezcanodfdb1652015-10-30 17:28:13 +0100126 help
127 Enables the clocksource for the Pistachio SoC.
Ezequiel Garcia84583982015-08-07 16:39:31 +0100128
Felipe Balbife851f52015-09-29 13:55:33 -0500129config CLKSRC_TI_32K
130 bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST
Felipe Balbidfedaf12015-10-16 16:10:05 -0500131 depends on GENERIC_SCHED_CLOCK
Felipe Balbife851f52015-09-29 13:55:33 -0500132 select CLKSRC_OF if OF
133 help
134 This option enables support for Texas Instruments 32.768 Hz clocksource
135 available on many OMAP-like platforms.
136
Maxime Coqueline37e4592015-05-22 23:03:33 +0200137config CLKSRC_STM32
Paul Gortmaker1cb6c212015-06-20 19:02:32 -0400138 bool "Clocksource for STM32 SoCs" if !ARCH_STM32
139 depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST)
Maxime Coqueline37e4592015-05-22 23:03:33 +0200140 select CLKSRC_MMIO
141
Mark Rutland8a4da6e2012-11-12 14:33:44 +0000142config ARM_ARCH_TIMER
143 bool
Rob Herring0583fe42013-04-10 18:27:51 -0500144 select CLKSRC_OF if OF
Marc Zyngierae281cb2015-09-28 15:49:17 +0100145 select CLKSRC_ACPI if ACPI
James Hogana2c5d4e2012-10-09 10:54:39 +0100146
Will Deacon037f6372013-08-23 15:32:29 +0100147config ARM_ARCH_TIMER_EVTSTREAM
148 bool "Support for ARM architected timer event stream generation"
149 default y if ARM_ARCH_TIMER
Stephen Boyd77f7ce92013-11-20 12:02:03 -0800150 depends on ARM_ARCH_TIMER
Will Deacon037f6372013-08-23 15:32:29 +0100151 help
152 This option enables support for event stream generation based on
153 the ARM architected timer. It is used for waking up CPUs executing
154 the wfe instruction at a frequency represented as a power-of-2
155 divisor of the clock rate.
156 The main use of the event stream is wfe-based timeouts of userspace
157 locking implementations. It might also be useful for imposing timeout
158 on wfe to safeguard against any programming errors in case an expected
159 event is not generated.
160 This must be disabled for hardware validation purposes to detect any
161 hardware anomalies of missing events.
162
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100163config ARM_GLOBAL_TIMER
164 bool
165 select CLKSRC_OF if OF
166 help
167 This options enables support for the ARM global timer unit
168
Sudeep Holla0b7402d2015-05-18 16:29:40 +0100169config ARM_TIMER_SP804
170 bool "Support for Dual Timer SP804 module"
Guenter Roeck002af192015-06-23 20:49:05 -0700171 depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP
Sudeep Holla0b7402d2015-05-18 16:29:40 +0100172 select CLKSRC_MMIO
173 select CLKSRC_OF if OF
174
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100175config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
176 bool
177 depends on ARM_GLOBAL_TIMER
178 default y
179 help
180 Use ARM global timer clock source as sched_clock
181
Maxime Coquelin4958ebb2015-05-09 09:53:46 +0200182config ARMV7M_SYSTICK
183 bool
184 select CLKSRC_OF if OF
185 select CLKSRC_MMIO
186 help
187 This options enables support for the ARMv7M system timer unit
188
Maxime Ripardb052ff32014-09-02 18:12:35 +0200189config ATMEL_PIT
190 select CLKSRC_OF if OF
191 def_bool SOC_AT91SAM9 || SOC_SAMA5
192
Alexandre Bellonib53cdd02015-03-12 13:07:31 +0100193config ATMEL_ST
194 bool
195 select CLKSRC_OF
Alexandre Belloni7ab7ef72015-03-19 14:17:48 +0100196 select MFD_SYSCON
Alexandre Bellonib53cdd02015-03-12 13:07:31 +0100197
James Hogana2c5d4e2012-10-09 10:54:39 +0100198config CLKSRC_METAG_GENERIC
199 def_bool y if METAG
200 help
201 This option enables support for the Meta per-thread timers.
Thomas Abraham6938d75a2013-03-09 16:16:13 +0900202
203config CLKSRC_EXYNOS_MCT
204 def_bool y if ARCH_EXYNOS
Doug Anderson3252a642014-07-05 06:43:26 +0900205 depends on !ARM64
Thomas Abraham6938d75a2013-03-09 16:16:13 +0900206 help
207 Support for Multi Core Timer controller on Exynos SoCs.
Arnd Bergmann241a9872013-05-06 23:49:09 +0200208
Tomasz Figaf1189982013-04-20 23:22:13 +0200209config CLKSRC_SAMSUNG_PWM
Tomasz Figa77d84432013-04-23 17:46:23 +0200210 bool
Tomasz Figaf1189982013-04-20 23:22:13 +0200211 help
212 This is a new clocksource driver for the PWM timer found in
213 Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
214 for all devicetree enabled platforms. This driver will be
215 needed only on systems that do not have the Exynos MCT available.
Jingchang Luc1967242013-05-29 10:12:17 +0200216
Xiubo Li2529c3a2014-05-23 10:12:04 +0200217config FSL_FTM_TIMER
218 bool
219 help
220 Support for Freescale FlexTimer Module (FTM) timer.
221
Jingchang Luc1967242013-05-29 10:12:17 +0200222config VF_PIT_TIMER
223 bool
224 help
225 Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
Magnus Dammfd3f1272014-02-20 12:54:45 +0100226
227config SYS_SUPPORTS_SH_CMT
228 bool
229
Matthias Bruggerecb35302014-07-18 11:36:43 +0200230config MTK_TIMER
Daniel Lezcanofbca9ea2015-10-30 17:53:27 +0100231 bool "Mediatek timer driver" if COMPILE_TEST
Matthias Bruggerecb35302014-07-18 11:36:43 +0200232 select CLKSRC_OF
233 select CLKSRC_MMIO
Daniel Lezcanofbca9ea2015-10-30 17:53:27 +0100234 help
235 Support for Mediatek timer driver.
Matthias Bruggerecb35302014-07-18 11:36:43 +0200236
Magnus Dammfd3f1272014-02-20 12:54:45 +0100237config SYS_SUPPORTS_SH_MTU2
238 bool
239
240config SYS_SUPPORTS_SH_TMU
241 bool
242
243config SYS_SUPPORTS_EM_STI
244 bool
245
246config SH_TIMER_CMT
247 bool "Renesas CMT timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100248 depends on GENERIC_CLOCKEVENTS
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100249 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100250 default SYS_SUPPORTS_SH_CMT
251 help
252 This enables build of a clocksource and clockevent driver for
253 the Compare Match Timer (CMT) hardware available in 16/32/48-bit
254 variants on a wide range of Mobile and Automotive SoCs from Renesas.
255
256config SH_TIMER_MTU2
257 bool "Renesas MTU2 timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100258 depends on GENERIC_CLOCKEVENTS
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100259 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100260 default SYS_SUPPORTS_SH_MTU2
261 help
262 This enables build of a clockevent driver for the Multi-Function
Kuninori Morimoto7e139182014-07-18 11:36:36 +0200263 Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
Magnus Dammfd3f1272014-02-20 12:54:45 +0100264 This hardware comes with 16 bit-timer registers.
265
266config SH_TIMER_TMU
267 bool "Renesas TMU timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100268 depends on GENERIC_CLOCKEVENTS
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100269 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100270 default SYS_SUPPORTS_SH_TMU
271 help
272 This enables build of a clocksource and clockevent driver for
273 the 32-bit Timer Unit (TMU) hardware available on a wide range
274 SoCs from Renesas.
275
276config EM_TIMER_STI
277 bool "Renesas STI timer driver" if COMPILE_TEST
Chen Gang40c96312014-07-08 20:39:40 +0800278 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100279 default SYS_SUPPORTS_EM_STI
280 help
281 This enables build of a clocksource and clockevent driver for
282 the 48-bit System Timer (STI) hardware available on a SoCs
283 such as EMEV2 from former NEC Electronics.
Linus Torvaldsdfc25e42014-04-05 13:51:19 -0700284
Kumar Gala3f8e8ce2014-01-29 16:17:30 -0600285config CLKSRC_QCOM
Daniel Lezcano3dc0e9f2015-10-09 11:10:43 +0200286 bool "Qualcomm MSM timer" if COMPILE_TEST
287 depends on ARM
288 select CLKSRC_OF
289 help
290 This enables the clocksource and the per CPU clockevent driver for the
291 Qualcomm SoCs.
Pawel Moll220e2a82014-04-16 18:22:59 +0100292
293config CLKSRC_VERSATILE
294 bool "ARM Versatile (Express) reference platforms clock source"
Deng-Cheng Zhuff370152015-03-07 10:30:22 -0800295 depends on PLAT_VERSATILE && GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET
Pawel Moll220e2a82014-04-16 18:22:59 +0100296 select CLKSRC_OF
297 default y if MFD_VEXPRESS_SYSREG
298 help
299 This option enables clock source based on free running
300 counter available in the "System Registers" block of
301 ARM Versatile, RealView and Versatile Express reference
302 platforms.
Jean Delvare58394272014-06-16 11:48:45 +0200303
Andrew Brestickerfa5635a2014-10-20 12:03:58 -0700304config CLKSRC_MIPS_GIC
305 bool
306 depends on MIPS_GIC
Andrew Brestickere12aa822014-11-12 11:43:39 -0800307 select CLKSRC_OF
Andrew Brestickerfa5635a2014-10-20 12:03:58 -0700308
Marc Gonzalezccd63ce2015-10-09 16:59:18 +0200309config CLKSRC_TANGO_XTAL
Daniel Lezcano5a7351f2015-10-29 20:54:19 +0100310 bool "Clocksource for Tango SoC" if COMPILE_TEST
311 depends on ARM
Marc Gonzalezccd63ce2015-10-09 16:59:18 +0200312 select CLKSRC_OF
Daniel Lezcano5a7351f2015-10-29 20:54:19 +0100313 help
314 This enables the clocksource for Tango SoC
Marc Gonzalezccd63ce2015-10-09 16:59:18 +0200315
Dmitry Eremin-Solenikove074ff82014-12-21 16:07:09 +0100316config CLKSRC_PXA
Daniel Lezcano5ae996c2015-10-09 17:47:32 +0200317 bool "Clocksource for PXA or SA-11x0 platform" if COMPILE_TEST
318 depends on GENERIC_CLOCKEVENTS
319 select CLKSRC_MMIO
Dmitry Eremin-Solenikove074ff82014-12-21 16:07:09 +0100320 help
321 This enables OST0 support available on PXA and SA-11x0
322 platforms.
Yoshinori Sato618b9022015-01-28 02:52:42 +0900323
324config H8300_TMR16
325 bool
326
327config H8300_TPU
328 bool
329
Shawn Guobea5af42015-05-15 15:41:00 +0800330config CLKSRC_IMX_GPT
331 bool "Clocksource using i.MX GPT" if COMPILE_TEST
332 depends on ARM && CLKDEV_LOOKUP
333 select CLKSRC_MMIO
334
Lee Jones70bef012015-05-26 13:39:43 +0100335config CLKSRC_ST_LPC
Daniel Lezcanobaacaf82015-10-09 15:36:28 +0200336 bool "Low power clocksource found in the LPC" if COMPILE_TEST
Lee Jones70bef012015-05-26 13:39:43 +0100337 select CLKSRC_OF if OF
338 help
339 Enable this option to use the Low Power controller timer
340 as clocksource.
341
Jean Delvare58394272014-06-16 11:48:45 +0200342endmenu