blob: 24a8d8d021dd277641f99f8658be3f380458b146 [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
Daniel Lezcanoe6c1db12015-10-30 22:32:10 +010031 bool "Digicolor timer driver" if COMPILE_TEST
32 help
33 Enables the support for the digicolor timer driver.
Baruch Siach9b8bb772015-01-26 20:35:18 +020034
Jamie Iles06c3df42011-06-06 12:43:07 +010035config DW_APB_TIMER
Daniel Lezcano5b097f62015-10-30 22:35:00 +010036 bool "DW APB timer driver" if COMPILE_TEST
37 help
38 Enables the support for the dw_apb timer.
Mattias Wallin489bcce2011-05-27 10:30:12 +020039
Dinh Nguyencfda5902012-07-11 15:13:16 -050040config DW_APB_TIMER_OF
41 bool
Heiko Stuebner1b4eca02013-06-04 11:38:11 +020042 select DW_APB_TIMER
Heiko Stuebner10021482013-06-04 11:38:42 +020043 select CLKSRC_OF
Dinh Nguyencfda5902012-07-11 15:13:16 -050044
Daniel Lezcano468b8c42015-01-25 22:06:02 +010045config ROCKCHIP_TIMER
Daniel Lezcano40ada2a2015-10-30 17:58:47 +010046 bool "Rockchip timer driver" if COMPILE_TEST
47 depends on ARM || ARM64
Daniel Lezcano468b8c42015-01-25 22:06:02 +010048 select CLKSRC_OF
Daniel Lezcano40ada2a2015-10-30 17:58:47 +010049 help
50 Enables the support for the rockchip timer driver.
Daniel Lezcano468b8c42015-01-25 22:06:02 +010051
Gregory CLEMENT6fe9cbd2012-06-13 18:58:09 +020052config ARMADA_370_XP_TIMER
Daniel Lezcano9519e802015-10-30 20:30:34 +010053 bool "Armada 370 and XP timer driver" if COMPILE_TEST
54 depends on ARM
Jean Pihet7b0dd722013-09-18 20:55:09 +020055 select CLKSRC_OF
Daniel Lezcano9519e802015-10-30 20:30:34 +010056 help
57 Enables the support for the Armada 370 and XP timer driver.
Gregory CLEMENT6fe9cbd2012-06-13 18:58:09 +020058
Carlo Caionee4a6b372014-09-29 01:50:05 +020059config MESON6_TIMER
Daniel Lezcano0b7a7bb2015-10-30 22:07:39 +010060 bool "Meson6 timer driver" if COMPILE_TEST
Beniamino Galvani7b6b0a42014-11-18 16:41:20 +010061 select CLKSRC_MMIO
Daniel Lezcano0b7a7bb2015-10-30 22:07:39 +010062 help
63 Enables the support for the Meson6 timer driver.
Carlo Caionee4a6b372014-09-29 01:50:05 +020064
Sebastian Hesselbarth0c1dcfd2013-06-11 08:38:50 +020065config ORION_TIMER
Daniel Lezcanoc9165542015-10-30 22:28:31 +010066 bool "Orion timer driver" if COMPILE_TEST
67 depends on ARM
Sebastian Hesselbarth0c1dcfd2013-06-11 08:38:50 +020068 select CLKSRC_OF
69 select CLKSRC_MMIO
Daniel Lezcanoc9165542015-10-30 22:28:31 +010070 help
71 Enables the support for the Orion timer driver
Sebastian Hesselbarth0c1dcfd2013-06-11 08:38:50 +020072
Maxime Ripard119fd632013-03-24 11:49:25 +010073config SUN4I_TIMER
Maxime Ripard71c568c2013-10-14 21:07:46 +020074 select CLKSRC_MMIO
Maxime Ripardb2ac5d72012-11-12 15:07:50 +010075 bool
76
Maxime Ripard67905542013-11-07 12:01:48 +010077config SUN5I_HSTIMER
78 select CLKSRC_MMIO
79 bool
80
Thierry Reding910978e72014-07-07 15:26:30 +020081config TEGRA_TIMER
82 bool
83
Tony Priskff7ec342013-01-14 17:58:21 +130084config VT8500_TIMER
85 bool
86
Michal Simek4f0f2342013-03-20 10:46:01 +010087config CADENCE_TTC_TIMER
88 bool
89
Daniel Lezcanoa8b1b9f2015-02-23 19:54:16 +010090config ASM9260_TIMER
91 bool
92 select CLKSRC_MMIO
93 select CLKSRC_OF
94
Linus Walleij694e33a2012-10-18 14:01:25 +020095config CLKSRC_NOMADIK_MTU
96 bool
97 depends on (ARCH_NOMADIK || ARCH_U8500)
98 select CLKSRC_MMIO
99 help
100 Support for Multi Timer Unit. MTU provides access
101 to multiple interrupt generating programmable
102 32-bit free running decrementing counters.
103
104config CLKSRC_NOMADIK_MTU_SCHED_CLOCK
105 bool
106 depends on CLKSRC_NOMADIK_MTU
107 help
108 Use the Multi Timer Unit as the sched_clock.
109
Mattias Wallin489bcce2011-05-27 10:30:12 +0200110config CLKSRC_DBX500_PRCMU
111 bool "Clocksource PRCMU Timer"
Linus Walleij29746f42012-04-13 13:16:31 +0200112 depends on UX500_SOC_DB8500
Mattias Wallin489bcce2011-05-27 10:30:12 +0200113 default y
114 help
115 Use the always on PRCMU Timer as clocksource
116
117config CLKSRC_DBX500_PRCMU_SCHED_CLOCK
118 bool "Clocksource PRCMU Timer sched_clock"
Linus Walleij694e33a2012-10-18 14:01:25 +0200119 depends on (CLKSRC_DBX500_PRCMU && !CLKSRC_NOMADIK_MTU_SCHED_CLOCK)
Mattias Wallin489bcce2011-05-27 10:30:12 +0200120 default y
121 help
122 Use the always on PRCMU Timer as sched_clock
Marc Zyngier985c0672012-03-05 11:49:30 +0000123
Uwe Kleine-König9c9b7812013-10-03 21:56:29 +0200124config CLKSRC_EFM32
125 bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32
126 depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST)
Axel Lin09ca2752013-11-20 10:15:11 +0800127 select CLKSRC_MMIO
Uwe Kleine-König9c9b7812013-10-03 21:56:29 +0200128 default ARCH_EFM32
129 help
130 Support to use the timers of EFM32 SoCs as clock source and clock
131 event device.
132
Joachim Eastwood050dd322015-05-12 00:00:48 +0200133config CLKSRC_LPC32XX
134 bool
135 select CLKSRC_MMIO
136 select CLKSRC_OF
137
Ezequiel Garcia84583982015-08-07 16:39:31 +0100138config CLKSRC_PISTACHIO
Daniel Lezcanodfdb1652015-10-30 17:28:13 +0100139 bool "Clocksource for Pistachio SoC" if COMPILE_TEST
Ezequiel Garcia84583982015-08-07 16:39:31 +0100140 select CLKSRC_OF
Daniel Lezcanodfdb1652015-10-30 17:28:13 +0100141 help
142 Enables the clocksource for the Pistachio SoC.
Ezequiel Garcia84583982015-08-07 16:39:31 +0100143
Felipe Balbife851f52015-09-29 13:55:33 -0500144config CLKSRC_TI_32K
145 bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST
Felipe Balbidfedaf12015-10-16 16:10:05 -0500146 depends on GENERIC_SCHED_CLOCK
Felipe Balbife851f52015-09-29 13:55:33 -0500147 select CLKSRC_OF if OF
148 help
149 This option enables support for Texas Instruments 32.768 Hz clocksource
150 available on many OMAP-like platforms.
151
Maxime Coqueline37e4592015-05-22 23:03:33 +0200152config CLKSRC_STM32
Paul Gortmaker1cb6c212015-06-20 19:02:32 -0400153 bool "Clocksource for STM32 SoCs" if !ARCH_STM32
154 depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST)
Maxime Coqueline37e4592015-05-22 23:03:33 +0200155 select CLKSRC_MMIO
156
Mark Rutland8a4da6e2012-11-12 14:33:44 +0000157config ARM_ARCH_TIMER
158 bool
Rob Herring0583fe42013-04-10 18:27:51 -0500159 select CLKSRC_OF if OF
Marc Zyngierae281cb2015-09-28 15:49:17 +0100160 select CLKSRC_ACPI if ACPI
James Hogana2c5d4e2012-10-09 10:54:39 +0100161
Will Deacon037f6372013-08-23 15:32:29 +0100162config ARM_ARCH_TIMER_EVTSTREAM
163 bool "Support for ARM architected timer event stream generation"
164 default y if ARM_ARCH_TIMER
Stephen Boyd77f7ce92013-11-20 12:02:03 -0800165 depends on ARM_ARCH_TIMER
Will Deacon037f6372013-08-23 15:32:29 +0100166 help
167 This option enables support for event stream generation based on
168 the ARM architected timer. It is used for waking up CPUs executing
169 the wfe instruction at a frequency represented as a power-of-2
170 divisor of the clock rate.
171 The main use of the event stream is wfe-based timeouts of userspace
172 locking implementations. It might also be useful for imposing timeout
173 on wfe to safeguard against any programming errors in case an expected
174 event is not generated.
175 This must be disabled for hardware validation purposes to detect any
176 hardware anomalies of missing events.
177
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100178config ARM_GLOBAL_TIMER
179 bool
180 select CLKSRC_OF if OF
181 help
182 This options enables support for the ARM global timer unit
183
Sudeep Holla0b7402d2015-05-18 16:29:40 +0100184config ARM_TIMER_SP804
185 bool "Support for Dual Timer SP804 module"
Guenter Roeck002af192015-06-23 20:49:05 -0700186 depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP
Sudeep Holla0b7402d2015-05-18 16:29:40 +0100187 select CLKSRC_MMIO
188 select CLKSRC_OF if OF
189
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100190config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
191 bool
192 depends on ARM_GLOBAL_TIMER
193 default y
194 help
195 Use ARM global timer clock source as sched_clock
196
Maxime Coquelin4958ebb2015-05-09 09:53:46 +0200197config ARMV7M_SYSTICK
198 bool
199 select CLKSRC_OF if OF
200 select CLKSRC_MMIO
201 help
202 This options enables support for the ARMv7M system timer unit
203
Maxime Ripardb052ff32014-09-02 18:12:35 +0200204config ATMEL_PIT
205 select CLKSRC_OF if OF
206 def_bool SOC_AT91SAM9 || SOC_SAMA5
207
Alexandre Bellonib53cdd02015-03-12 13:07:31 +0100208config ATMEL_ST
209 bool
210 select CLKSRC_OF
Alexandre Belloni7ab7ef72015-03-19 14:17:48 +0100211 select MFD_SYSCON
Alexandre Bellonib53cdd02015-03-12 13:07:31 +0100212
James Hogana2c5d4e2012-10-09 10:54:39 +0100213config CLKSRC_METAG_GENERIC
214 def_bool y if METAG
215 help
216 This option enables support for the Meta per-thread timers.
Thomas Abraham6938d75a2013-03-09 16:16:13 +0900217
218config CLKSRC_EXYNOS_MCT
219 def_bool y if ARCH_EXYNOS
Doug Anderson3252a642014-07-05 06:43:26 +0900220 depends on !ARM64
Thomas Abraham6938d75a2013-03-09 16:16:13 +0900221 help
222 Support for Multi Core Timer controller on Exynos SoCs.
Arnd Bergmann241a9872013-05-06 23:49:09 +0200223
Tomasz Figaf1189982013-04-20 23:22:13 +0200224config CLKSRC_SAMSUNG_PWM
Tomasz Figa77d84432013-04-23 17:46:23 +0200225 bool
Tomasz Figaf1189982013-04-20 23:22:13 +0200226 help
227 This is a new clocksource driver for the PWM timer found in
228 Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
229 for all devicetree enabled platforms. This driver will be
230 needed only on systems that do not have the Exynos MCT available.
Jingchang Luc1967242013-05-29 10:12:17 +0200231
Xiubo Li2529c3a2014-05-23 10:12:04 +0200232config FSL_FTM_TIMER
233 bool
234 help
235 Support for Freescale FlexTimer Module (FTM) timer.
236
Jingchang Luc1967242013-05-29 10:12:17 +0200237config VF_PIT_TIMER
238 bool
239 help
240 Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
Magnus Dammfd3f1272014-02-20 12:54:45 +0100241
242config SYS_SUPPORTS_SH_CMT
243 bool
244
Matthias Bruggerecb35302014-07-18 11:36:43 +0200245config MTK_TIMER
Daniel Lezcanofbca9ea2015-10-30 17:53:27 +0100246 bool "Mediatek timer driver" if COMPILE_TEST
Matthias Bruggerecb35302014-07-18 11:36:43 +0200247 select CLKSRC_OF
248 select CLKSRC_MMIO
Daniel Lezcanofbca9ea2015-10-30 17:53:27 +0100249 help
250 Support for Mediatek timer driver.
Matthias Bruggerecb35302014-07-18 11:36:43 +0200251
Magnus Dammfd3f1272014-02-20 12:54:45 +0100252config SYS_SUPPORTS_SH_MTU2
253 bool
254
255config SYS_SUPPORTS_SH_TMU
256 bool
257
258config SYS_SUPPORTS_EM_STI
259 bool
260
261config SH_TIMER_CMT
262 bool "Renesas CMT timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100263 depends on GENERIC_CLOCKEVENTS
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100264 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100265 default SYS_SUPPORTS_SH_CMT
266 help
267 This enables build of a clocksource and clockevent driver for
268 the Compare Match Timer (CMT) hardware available in 16/32/48-bit
269 variants on a wide range of Mobile and Automotive SoCs from Renesas.
270
271config SH_TIMER_MTU2
272 bool "Renesas MTU2 timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100273 depends on GENERIC_CLOCKEVENTS
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100274 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100275 default SYS_SUPPORTS_SH_MTU2
276 help
277 This enables build of a clockevent driver for the Multi-Function
Kuninori Morimoto7e139182014-07-18 11:36:36 +0200278 Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
Magnus Dammfd3f1272014-02-20 12:54:45 +0100279 This hardware comes with 16 bit-timer registers.
280
281config SH_TIMER_TMU
282 bool "Renesas TMU timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100283 depends on GENERIC_CLOCKEVENTS
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100284 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100285 default SYS_SUPPORTS_SH_TMU
286 help
287 This enables build of a clocksource and clockevent driver for
288 the 32-bit Timer Unit (TMU) hardware available on a wide range
289 SoCs from Renesas.
290
291config EM_TIMER_STI
292 bool "Renesas STI timer driver" if COMPILE_TEST
Chen Gang40c96312014-07-08 20:39:40 +0800293 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100294 default SYS_SUPPORTS_EM_STI
295 help
296 This enables build of a clocksource and clockevent driver for
297 the 48-bit System Timer (STI) hardware available on a SoCs
298 such as EMEV2 from former NEC Electronics.
Linus Torvaldsdfc25e42014-04-05 13:51:19 -0700299
Kumar Gala3f8e8ce2014-01-29 16:17:30 -0600300config CLKSRC_QCOM
Daniel Lezcano3dc0e9f2015-10-09 11:10:43 +0200301 bool "Qualcomm MSM timer" if COMPILE_TEST
302 depends on ARM
303 select CLKSRC_OF
304 help
305 This enables the clocksource and the per CPU clockevent driver for the
306 Qualcomm SoCs.
Pawel Moll220e2a82014-04-16 18:22:59 +0100307
308config CLKSRC_VERSATILE
309 bool "ARM Versatile (Express) reference platforms clock source"
Deng-Cheng Zhuff370152015-03-07 10:30:22 -0800310 depends on PLAT_VERSATILE && GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET
Pawel Moll220e2a82014-04-16 18:22:59 +0100311 select CLKSRC_OF
312 default y if MFD_VEXPRESS_SYSREG
313 help
314 This option enables clock source based on free running
315 counter available in the "System Registers" block of
316 ARM Versatile, RealView and Versatile Express reference
317 platforms.
Jean Delvare58394272014-06-16 11:48:45 +0200318
Andrew Brestickerfa5635a2014-10-20 12:03:58 -0700319config CLKSRC_MIPS_GIC
320 bool
321 depends on MIPS_GIC
Andrew Brestickere12aa822014-11-12 11:43:39 -0800322 select CLKSRC_OF
Andrew Brestickerfa5635a2014-10-20 12:03:58 -0700323
Marc Gonzalezccd63ce2015-10-09 16:59:18 +0200324config CLKSRC_TANGO_XTAL
Daniel Lezcano5a7351f2015-10-29 20:54:19 +0100325 bool "Clocksource for Tango SoC" if COMPILE_TEST
326 depends on ARM
Marc Gonzalezccd63ce2015-10-09 16:59:18 +0200327 select CLKSRC_OF
Daniel Lezcano5a7351f2015-10-29 20:54:19 +0100328 help
329 This enables the clocksource for Tango SoC
Marc Gonzalezccd63ce2015-10-09 16:59:18 +0200330
Dmitry Eremin-Solenikove074ff82014-12-21 16:07:09 +0100331config CLKSRC_PXA
Daniel Lezcano5ae996c2015-10-09 17:47:32 +0200332 bool "Clocksource for PXA or SA-11x0 platform" if COMPILE_TEST
333 depends on GENERIC_CLOCKEVENTS
334 select CLKSRC_MMIO
Dmitry Eremin-Solenikove074ff82014-12-21 16:07:09 +0100335 help
336 This enables OST0 support available on PXA and SA-11x0
337 platforms.
Yoshinori Sato618b9022015-01-28 02:52:42 +0900338
339config H8300_TMR16
340 bool
341
342config H8300_TPU
343 bool
344
Shawn Guobea5af42015-05-15 15:41:00 +0800345config CLKSRC_IMX_GPT
346 bool "Clocksource using i.MX GPT" if COMPILE_TEST
347 depends on ARM && CLKDEV_LOOKUP
348 select CLKSRC_MMIO
349
Lee Jones70bef012015-05-26 13:39:43 +0100350config CLKSRC_ST_LPC
Daniel Lezcanobaacaf82015-10-09 15:36:28 +0200351 bool "Low power clocksource found in the LPC" if COMPILE_TEST
Lee Jones70bef012015-05-26 13:39:43 +0100352 select CLKSRC_OF if OF
353 help
354 Enable this option to use the Low Power controller timer
355 as clocksource.
356
Jean Delvare58394272014-06-16 11:48:45 +0200357endmenu