blob: 68a63b2447c5a9aad3fe591d2117c49e704a64d8 [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
Daniel Lezcanoc9165542015-10-30 22:28:31 +010062 bool "Orion timer driver" if COMPILE_TEST
63 depends on ARM
Sebastian Hesselbarth0c1dcfd2013-06-11 08:38:50 +020064 select CLKSRC_OF
65 select CLKSRC_MMIO
Daniel Lezcanoc9165542015-10-30 22:28:31 +010066 help
67 Enables the support for the Orion timer driver
Sebastian Hesselbarth0c1dcfd2013-06-11 08:38:50 +020068
Maxime Ripard119fd632013-03-24 11:49:25 +010069config SUN4I_TIMER
Maxime Ripard71c568c2013-10-14 21:07:46 +020070 select CLKSRC_MMIO
Maxime Ripardb2ac5d72012-11-12 15:07:50 +010071 bool
72
Maxime Ripard67905542013-11-07 12:01:48 +010073config SUN5I_HSTIMER
74 select CLKSRC_MMIO
75 bool
76
Thierry Reding910978e72014-07-07 15:26:30 +020077config TEGRA_TIMER
78 bool
79
Tony Priskff7ec342013-01-14 17:58:21 +130080config VT8500_TIMER
81 bool
82
Michal Simek4f0f2342013-03-20 10:46:01 +010083config CADENCE_TTC_TIMER
84 bool
85
Daniel Lezcanoa8b1b9f2015-02-23 19:54:16 +010086config ASM9260_TIMER
87 bool
88 select CLKSRC_MMIO
89 select CLKSRC_OF
90
Linus Walleij694e33a2012-10-18 14:01:25 +020091config CLKSRC_NOMADIK_MTU
92 bool
93 depends on (ARCH_NOMADIK || ARCH_U8500)
94 select CLKSRC_MMIO
95 help
96 Support for Multi Timer Unit. MTU provides access
97 to multiple interrupt generating programmable
98 32-bit free running decrementing counters.
99
100config CLKSRC_NOMADIK_MTU_SCHED_CLOCK
101 bool
102 depends on CLKSRC_NOMADIK_MTU
103 help
104 Use the Multi Timer Unit as the sched_clock.
105
Mattias Wallin489bcce2011-05-27 10:30:12 +0200106config CLKSRC_DBX500_PRCMU
107 bool "Clocksource PRCMU Timer"
Linus Walleij29746f42012-04-13 13:16:31 +0200108 depends on UX500_SOC_DB8500
Mattias Wallin489bcce2011-05-27 10:30:12 +0200109 default y
110 help
111 Use the always on PRCMU Timer as clocksource
112
113config CLKSRC_DBX500_PRCMU_SCHED_CLOCK
114 bool "Clocksource PRCMU Timer sched_clock"
Linus Walleij694e33a2012-10-18 14:01:25 +0200115 depends on (CLKSRC_DBX500_PRCMU && !CLKSRC_NOMADIK_MTU_SCHED_CLOCK)
Mattias Wallin489bcce2011-05-27 10:30:12 +0200116 default y
117 help
118 Use the always on PRCMU Timer as sched_clock
Marc Zyngier985c0672012-03-05 11:49:30 +0000119
Uwe Kleine-König9c9b7812013-10-03 21:56:29 +0200120config CLKSRC_EFM32
121 bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32
122 depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST)
Axel Lin09ca2752013-11-20 10:15:11 +0800123 select CLKSRC_MMIO
Uwe Kleine-König9c9b7812013-10-03 21:56:29 +0200124 default ARCH_EFM32
125 help
126 Support to use the timers of EFM32 SoCs as clock source and clock
127 event device.
128
Joachim Eastwood050dd322015-05-12 00:00:48 +0200129config CLKSRC_LPC32XX
130 bool
131 select CLKSRC_MMIO
132 select CLKSRC_OF
133
Ezequiel Garcia84583982015-08-07 16:39:31 +0100134config CLKSRC_PISTACHIO
Daniel Lezcanodfdb1652015-10-30 17:28:13 +0100135 bool "Clocksource for Pistachio SoC" if COMPILE_TEST
Ezequiel Garcia84583982015-08-07 16:39:31 +0100136 select CLKSRC_OF
Daniel Lezcanodfdb1652015-10-30 17:28:13 +0100137 help
138 Enables the clocksource for the Pistachio SoC.
Ezequiel Garcia84583982015-08-07 16:39:31 +0100139
Felipe Balbife851f52015-09-29 13:55:33 -0500140config CLKSRC_TI_32K
141 bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST
Felipe Balbidfedaf12015-10-16 16:10:05 -0500142 depends on GENERIC_SCHED_CLOCK
Felipe Balbife851f52015-09-29 13:55:33 -0500143 select CLKSRC_OF if OF
144 help
145 This option enables support for Texas Instruments 32.768 Hz clocksource
146 available on many OMAP-like platforms.
147
Maxime Coqueline37e4592015-05-22 23:03:33 +0200148config CLKSRC_STM32
Paul Gortmaker1cb6c212015-06-20 19:02:32 -0400149 bool "Clocksource for STM32 SoCs" if !ARCH_STM32
150 depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST)
Maxime Coqueline37e4592015-05-22 23:03:33 +0200151 select CLKSRC_MMIO
152
Mark Rutland8a4da6e2012-11-12 14:33:44 +0000153config ARM_ARCH_TIMER
154 bool
Rob Herring0583fe42013-04-10 18:27:51 -0500155 select CLKSRC_OF if OF
Marc Zyngierae281cb2015-09-28 15:49:17 +0100156 select CLKSRC_ACPI if ACPI
James Hogana2c5d4e2012-10-09 10:54:39 +0100157
Will Deacon037f6372013-08-23 15:32:29 +0100158config ARM_ARCH_TIMER_EVTSTREAM
159 bool "Support for ARM architected timer event stream generation"
160 default y if ARM_ARCH_TIMER
Stephen Boyd77f7ce92013-11-20 12:02:03 -0800161 depends on ARM_ARCH_TIMER
Will Deacon037f6372013-08-23 15:32:29 +0100162 help
163 This option enables support for event stream generation based on
164 the ARM architected timer. It is used for waking up CPUs executing
165 the wfe instruction at a frequency represented as a power-of-2
166 divisor of the clock rate.
167 The main use of the event stream is wfe-based timeouts of userspace
168 locking implementations. It might also be useful for imposing timeout
169 on wfe to safeguard against any programming errors in case an expected
170 event is not generated.
171 This must be disabled for hardware validation purposes to detect any
172 hardware anomalies of missing events.
173
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100174config ARM_GLOBAL_TIMER
175 bool
176 select CLKSRC_OF if OF
177 help
178 This options enables support for the ARM global timer unit
179
Sudeep Holla0b7402d2015-05-18 16:29:40 +0100180config ARM_TIMER_SP804
181 bool "Support for Dual Timer SP804 module"
Guenter Roeck002af192015-06-23 20:49:05 -0700182 depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP
Sudeep Holla0b7402d2015-05-18 16:29:40 +0100183 select CLKSRC_MMIO
184 select CLKSRC_OF if OF
185
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100186config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
187 bool
188 depends on ARM_GLOBAL_TIMER
189 default y
190 help
191 Use ARM global timer clock source as sched_clock
192
Maxime Coquelin4958ebb2015-05-09 09:53:46 +0200193config ARMV7M_SYSTICK
194 bool
195 select CLKSRC_OF if OF
196 select CLKSRC_MMIO
197 help
198 This options enables support for the ARMv7M system timer unit
199
Maxime Ripardb052ff32014-09-02 18:12:35 +0200200config ATMEL_PIT
201 select CLKSRC_OF if OF
202 def_bool SOC_AT91SAM9 || SOC_SAMA5
203
Alexandre Bellonib53cdd02015-03-12 13:07:31 +0100204config ATMEL_ST
205 bool
206 select CLKSRC_OF
Alexandre Belloni7ab7ef72015-03-19 14:17:48 +0100207 select MFD_SYSCON
Alexandre Bellonib53cdd02015-03-12 13:07:31 +0100208
James Hogana2c5d4e2012-10-09 10:54:39 +0100209config CLKSRC_METAG_GENERIC
210 def_bool y if METAG
211 help
212 This option enables support for the Meta per-thread timers.
Thomas Abraham6938d75a2013-03-09 16:16:13 +0900213
214config CLKSRC_EXYNOS_MCT
215 def_bool y if ARCH_EXYNOS
Doug Anderson3252a642014-07-05 06:43:26 +0900216 depends on !ARM64
Thomas Abraham6938d75a2013-03-09 16:16:13 +0900217 help
218 Support for Multi Core Timer controller on Exynos SoCs.
Arnd Bergmann241a9872013-05-06 23:49:09 +0200219
Tomasz Figaf1189982013-04-20 23:22:13 +0200220config CLKSRC_SAMSUNG_PWM
Tomasz Figa77d84432013-04-23 17:46:23 +0200221 bool
Tomasz Figaf1189982013-04-20 23:22:13 +0200222 help
223 This is a new clocksource driver for the PWM timer found in
224 Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
225 for all devicetree enabled platforms. This driver will be
226 needed only on systems that do not have the Exynos MCT available.
Jingchang Luc1967242013-05-29 10:12:17 +0200227
Xiubo Li2529c3a2014-05-23 10:12:04 +0200228config FSL_FTM_TIMER
229 bool
230 help
231 Support for Freescale FlexTimer Module (FTM) timer.
232
Jingchang Luc1967242013-05-29 10:12:17 +0200233config VF_PIT_TIMER
234 bool
235 help
236 Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
Magnus Dammfd3f1272014-02-20 12:54:45 +0100237
238config SYS_SUPPORTS_SH_CMT
239 bool
240
Matthias Bruggerecb35302014-07-18 11:36:43 +0200241config MTK_TIMER
Daniel Lezcanofbca9ea2015-10-30 17:53:27 +0100242 bool "Mediatek timer driver" if COMPILE_TEST
Matthias Bruggerecb35302014-07-18 11:36:43 +0200243 select CLKSRC_OF
244 select CLKSRC_MMIO
Daniel Lezcanofbca9ea2015-10-30 17:53:27 +0100245 help
246 Support for Mediatek timer driver.
Matthias Bruggerecb35302014-07-18 11:36:43 +0200247
Magnus Dammfd3f1272014-02-20 12:54:45 +0100248config SYS_SUPPORTS_SH_MTU2
249 bool
250
251config SYS_SUPPORTS_SH_TMU
252 bool
253
254config SYS_SUPPORTS_EM_STI
255 bool
256
257config SH_TIMER_CMT
258 bool "Renesas CMT timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100259 depends on GENERIC_CLOCKEVENTS
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100260 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100261 default SYS_SUPPORTS_SH_CMT
262 help
263 This enables build of a clocksource and clockevent driver for
264 the Compare Match Timer (CMT) hardware available in 16/32/48-bit
265 variants on a wide range of Mobile and Automotive SoCs from Renesas.
266
267config SH_TIMER_MTU2
268 bool "Renesas MTU2 timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100269 depends on GENERIC_CLOCKEVENTS
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100270 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100271 default SYS_SUPPORTS_SH_MTU2
272 help
273 This enables build of a clockevent driver for the Multi-Function
Kuninori Morimoto7e139182014-07-18 11:36:36 +0200274 Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
Magnus Dammfd3f1272014-02-20 12:54:45 +0100275 This hardware comes with 16 bit-timer registers.
276
277config SH_TIMER_TMU
278 bool "Renesas TMU timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100279 depends on GENERIC_CLOCKEVENTS
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100280 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100281 default SYS_SUPPORTS_SH_TMU
282 help
283 This enables build of a clocksource and clockevent driver for
284 the 32-bit Timer Unit (TMU) hardware available on a wide range
285 SoCs from Renesas.
286
287config EM_TIMER_STI
288 bool "Renesas STI timer driver" if COMPILE_TEST
Chen Gang40c96312014-07-08 20:39:40 +0800289 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100290 default SYS_SUPPORTS_EM_STI
291 help
292 This enables build of a clocksource and clockevent driver for
293 the 48-bit System Timer (STI) hardware available on a SoCs
294 such as EMEV2 from former NEC Electronics.
Linus Torvaldsdfc25e42014-04-05 13:51:19 -0700295
Kumar Gala3f8e8ce2014-01-29 16:17:30 -0600296config CLKSRC_QCOM
Daniel Lezcano3dc0e9f2015-10-09 11:10:43 +0200297 bool "Qualcomm MSM timer" if COMPILE_TEST
298 depends on ARM
299 select CLKSRC_OF
300 help
301 This enables the clocksource and the per CPU clockevent driver for the
302 Qualcomm SoCs.
Pawel Moll220e2a82014-04-16 18:22:59 +0100303
304config CLKSRC_VERSATILE
305 bool "ARM Versatile (Express) reference platforms clock source"
Deng-Cheng Zhuff370152015-03-07 10:30:22 -0800306 depends on PLAT_VERSATILE && GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET
Pawel Moll220e2a82014-04-16 18:22:59 +0100307 select CLKSRC_OF
308 default y if MFD_VEXPRESS_SYSREG
309 help
310 This option enables clock source based on free running
311 counter available in the "System Registers" block of
312 ARM Versatile, RealView and Versatile Express reference
313 platforms.
Jean Delvare58394272014-06-16 11:48:45 +0200314
Andrew Brestickerfa5635a2014-10-20 12:03:58 -0700315config CLKSRC_MIPS_GIC
316 bool
317 depends on MIPS_GIC
Andrew Brestickere12aa822014-11-12 11:43:39 -0800318 select CLKSRC_OF
Andrew Brestickerfa5635a2014-10-20 12:03:58 -0700319
Marc Gonzalezccd63ce2015-10-09 16:59:18 +0200320config CLKSRC_TANGO_XTAL
Daniel Lezcano5a7351f2015-10-29 20:54:19 +0100321 bool "Clocksource for Tango SoC" if COMPILE_TEST
322 depends on ARM
Marc Gonzalezccd63ce2015-10-09 16:59:18 +0200323 select CLKSRC_OF
Daniel Lezcano5a7351f2015-10-29 20:54:19 +0100324 help
325 This enables the clocksource for Tango SoC
Marc Gonzalezccd63ce2015-10-09 16:59:18 +0200326
Dmitry Eremin-Solenikove074ff82014-12-21 16:07:09 +0100327config CLKSRC_PXA
Daniel Lezcano5ae996c2015-10-09 17:47:32 +0200328 bool "Clocksource for PXA or SA-11x0 platform" if COMPILE_TEST
329 depends on GENERIC_CLOCKEVENTS
330 select CLKSRC_MMIO
Dmitry Eremin-Solenikove074ff82014-12-21 16:07:09 +0100331 help
332 This enables OST0 support available on PXA and SA-11x0
333 platforms.
Yoshinori Sato618b9022015-01-28 02:52:42 +0900334
335config H8300_TMR16
336 bool
337
338config H8300_TPU
339 bool
340
Shawn Guobea5af42015-05-15 15:41:00 +0800341config CLKSRC_IMX_GPT
342 bool "Clocksource using i.MX GPT" if COMPILE_TEST
343 depends on ARM && CLKDEV_LOOKUP
344 select CLKSRC_MMIO
345
Lee Jones70bef012015-05-26 13:39:43 +0100346config CLKSRC_ST_LPC
Daniel Lezcanobaacaf82015-10-09 15:36:28 +0200347 bool "Low power clocksource found in the LPC" if COMPILE_TEST
Lee Jones70bef012015-05-26 13:39:43 +0100348 select CLKSRC_OF if OF
349 help
350 Enable this option to use the Low Power controller timer
351 as clocksource.
352
Jean Delvare58394272014-06-16 11:48:45 +0200353endmenu