blob: 3457a8607bf0dfe6f534e61030b70aea4bf99827 [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
Daniel Lezcanob4fcd482015-10-30 22:39:00 +010074 bool "Sun4i timer driver" if COMPILE_TEST
Maxime Ripard71c568c2013-10-14 21:07:46 +020075 select CLKSRC_MMIO
Daniel Lezcanob4fcd482015-10-30 22:39:00 +010076 help
77 Enables support for the Sun4i timer.
Maxime Ripardb2ac5d72012-11-12 15:07:50 +010078
Maxime Ripard67905542013-11-07 12:01:48 +010079config SUN5I_HSTIMER
Daniel Lezcanof0c5afb2015-10-31 17:01:46 +010080 bool "Sun5i timer driver" if COMPILE_TEST
Maxime Ripard67905542013-11-07 12:01:48 +010081 select CLKSRC_MMIO
Daniel Lezcanof0c5afb2015-10-31 17:01:46 +010082 depends on COMMON_CLK
83 help
84 Enables support the Sun5i timer.
Maxime Ripard67905542013-11-07 12:01:48 +010085
Thierry Reding910978e72014-07-07 15:26:30 +020086config TEGRA_TIMER
Daniel Lezcanoadce4bc2015-10-31 20:13:09 +010087 bool "Tegra timer driver" if COMPILE_TEST
88 depends on ARM
89 help
90 Enables support for the Tegra driver.
Thierry Reding910978e72014-07-07 15:26:30 +020091
Tony Priskff7ec342013-01-14 17:58:21 +130092config VT8500_TIMER
Daniel Lezcanob4bdf7e2015-10-31 20:23:54 +010093 bool "VT8500 timer driver" if COMPILE_TEST
94 help
95 Enables support for the VT8500 driver.
Tony Priskff7ec342013-01-14 17:58:21 +130096
Michal Simek4f0f2342013-03-20 10:46:01 +010097config CADENCE_TTC_TIMER
Daniel Lezcano57f49312015-10-31 21:39:03 +010098 bool "Cadence TTC timer driver" if COMPILE_TEST
99 depends on COMMON_CLK
100 help
101 Enables support for the cadence ttc driver.
Michal Simek4f0f2342013-03-20 10:46:01 +0100102
Daniel Lezcanoa8b1b9f2015-02-23 19:54:16 +0100103config ASM9260_TIMER
Daniel Lezcanob9755842015-10-31 21:41:23 +0100104 bool "ASM9260 timer driver" if COMPILE_TEST
Daniel Lezcanoa8b1b9f2015-02-23 19:54:16 +0100105 select CLKSRC_MMIO
106 select CLKSRC_OF
Daniel Lezcanob9755842015-10-31 21:41:23 +0100107 help
108 Enables support for the ASM9260 timer.
Daniel Lezcanoa8b1b9f2015-02-23 19:54:16 +0100109
Linus Walleij694e33a2012-10-18 14:01:25 +0200110config CLKSRC_NOMADIK_MTU
Daniel Lezcano70329652015-11-01 21:11:28 +0100111 bool "Nomakdik clocksource driver" if COMPILE_TEST
112 depends on ARM
Linus Walleij694e33a2012-10-18 14:01:25 +0200113 select CLKSRC_MMIO
114 help
115 Support for Multi Timer Unit. MTU provides access
116 to multiple interrupt generating programmable
117 32-bit free running decrementing counters.
118
119config CLKSRC_NOMADIK_MTU_SCHED_CLOCK
120 bool
121 depends on CLKSRC_NOMADIK_MTU
122 help
123 Use the Multi Timer Unit as the sched_clock.
124
Mattias Wallin489bcce2011-05-27 10:30:12 +0200125config CLKSRC_DBX500_PRCMU
Daniel Lezcano1becd6e2015-11-01 21:16:01 +0100126 bool "Clocksource PRCMU Timer" if COMPILE_TEST
Mattias Wallin489bcce2011-05-27 10:30:12 +0200127 help
128 Use the always on PRCMU Timer as clocksource
129
130config CLKSRC_DBX500_PRCMU_SCHED_CLOCK
131 bool "Clocksource PRCMU Timer sched_clock"
Linus Walleij694e33a2012-10-18 14:01:25 +0200132 depends on (CLKSRC_DBX500_PRCMU && !CLKSRC_NOMADIK_MTU_SCHED_CLOCK)
Mattias Wallin489bcce2011-05-27 10:30:12 +0200133 default y
134 help
135 Use the always on PRCMU Timer as sched_clock
Marc Zyngier985c0672012-03-05 11:49:30 +0000136
Uwe Kleine-König9c9b7812013-10-03 21:56:29 +0200137config CLKSRC_EFM32
138 bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32
139 depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST)
Axel Lin09ca2752013-11-20 10:15:11 +0800140 select CLKSRC_MMIO
Uwe Kleine-König9c9b7812013-10-03 21:56:29 +0200141 default ARCH_EFM32
142 help
143 Support to use the timers of EFM32 SoCs as clock source and clock
144 event device.
145
Joachim Eastwood050dd322015-05-12 00:00:48 +0200146config CLKSRC_LPC32XX
Daniel Lezcanoddcf48c2015-10-31 21:44:52 +0100147 bool "Clocksource for LPC32XX" if COMPILE_TEST
Joachim Eastwood050dd322015-05-12 00:00:48 +0200148 select CLKSRC_MMIO
149 select CLKSRC_OF
Daniel Lezcanoddcf48c2015-10-31 21:44:52 +0100150 help
151 Support for the LPC32XX clocksource.
Joachim Eastwood050dd322015-05-12 00:00:48 +0200152
Ezequiel Garcia84583982015-08-07 16:39:31 +0100153config CLKSRC_PISTACHIO
Daniel Lezcanodfdb1652015-10-30 17:28:13 +0100154 bool "Clocksource for Pistachio SoC" if COMPILE_TEST
Ezequiel Garcia84583982015-08-07 16:39:31 +0100155 select CLKSRC_OF
Daniel Lezcanodfdb1652015-10-30 17:28:13 +0100156 help
157 Enables the clocksource for the Pistachio SoC.
Ezequiel Garcia84583982015-08-07 16:39:31 +0100158
Felipe Balbife851f52015-09-29 13:55:33 -0500159config CLKSRC_TI_32K
160 bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST
Felipe Balbidfedaf12015-10-16 16:10:05 -0500161 depends on GENERIC_SCHED_CLOCK
Felipe Balbife851f52015-09-29 13:55:33 -0500162 select CLKSRC_OF if OF
163 help
164 This option enables support for Texas Instruments 32.768 Hz clocksource
165 available on many OMAP-like platforms.
166
Maxime Coqueline37e4592015-05-22 23:03:33 +0200167config CLKSRC_STM32
Paul Gortmaker1cb6c212015-06-20 19:02:32 -0400168 bool "Clocksource for STM32 SoCs" if !ARCH_STM32
169 depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST)
Maxime Coqueline37e4592015-05-22 23:03:33 +0200170 select CLKSRC_MMIO
171
Mark Rutland8a4da6e2012-11-12 14:33:44 +0000172config ARM_ARCH_TIMER
173 bool
Rob Herring0583fe42013-04-10 18:27:51 -0500174 select CLKSRC_OF if OF
Marc Zyngierae281cb2015-09-28 15:49:17 +0100175 select CLKSRC_ACPI if ACPI
James Hogana2c5d4e2012-10-09 10:54:39 +0100176
Will Deacon037f6372013-08-23 15:32:29 +0100177config ARM_ARCH_TIMER_EVTSTREAM
178 bool "Support for ARM architected timer event stream generation"
179 default y if ARM_ARCH_TIMER
Stephen Boyd77f7ce92013-11-20 12:02:03 -0800180 depends on ARM_ARCH_TIMER
Will Deacon037f6372013-08-23 15:32:29 +0100181 help
182 This option enables support for event stream generation based on
183 the ARM architected timer. It is used for waking up CPUs executing
184 the wfe instruction at a frequency represented as a power-of-2
185 divisor of the clock rate.
186 The main use of the event stream is wfe-based timeouts of userspace
187 locking implementations. It might also be useful for imposing timeout
188 on wfe to safeguard against any programming errors in case an expected
189 event is not generated.
190 This must be disabled for hardware validation purposes to detect any
191 hardware anomalies of missing events.
192
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100193config ARM_GLOBAL_TIMER
194 bool
195 select CLKSRC_OF if OF
196 help
197 This options enables support for the ARM global timer unit
198
Sudeep Holla0b7402d2015-05-18 16:29:40 +0100199config ARM_TIMER_SP804
200 bool "Support for Dual Timer SP804 module"
Guenter Roeck002af192015-06-23 20:49:05 -0700201 depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP
Sudeep Holla0b7402d2015-05-18 16:29:40 +0100202 select CLKSRC_MMIO
203 select CLKSRC_OF if OF
204
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100205config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
206 bool
207 depends on ARM_GLOBAL_TIMER
208 default y
209 help
210 Use ARM global timer clock source as sched_clock
211
Maxime Coquelin4958ebb2015-05-09 09:53:46 +0200212config ARMV7M_SYSTICK
213 bool
214 select CLKSRC_OF if OF
215 select CLKSRC_MMIO
216 help
217 This options enables support for the ARMv7M system timer unit
218
Maxime Ripardb052ff32014-09-02 18:12:35 +0200219config ATMEL_PIT
220 select CLKSRC_OF if OF
221 def_bool SOC_AT91SAM9 || SOC_SAMA5
222
Alexandre Bellonib53cdd02015-03-12 13:07:31 +0100223config ATMEL_ST
224 bool
225 select CLKSRC_OF
Alexandre Belloni7ab7ef72015-03-19 14:17:48 +0100226 select MFD_SYSCON
Alexandre Bellonib53cdd02015-03-12 13:07:31 +0100227
James Hogana2c5d4e2012-10-09 10:54:39 +0100228config CLKSRC_METAG_GENERIC
229 def_bool y if METAG
230 help
231 This option enables support for the Meta per-thread timers.
Thomas Abraham6938d75a2013-03-09 16:16:13 +0900232
233config CLKSRC_EXYNOS_MCT
Daniel Lezcano39366ef2015-11-01 21:51:30 +0100234 bool "Exynos multi core timer driver" if COMPILE_TEST
235 depends on ARM
Thomas Abraham6938d75a2013-03-09 16:16:13 +0900236 help
237 Support for Multi Core Timer controller on Exynos SoCs.
Arnd Bergmann241a9872013-05-06 23:49:09 +0200238
Tomasz Figaf1189982013-04-20 23:22:13 +0200239config CLKSRC_SAMSUNG_PWM
Daniel Lezcano778c5692015-11-01 21:57:05 +0100240 bool "PWM timer drvier for Samsung S3C, S5P" if COMPILE_TEST
Tomasz Figaf1189982013-04-20 23:22:13 +0200241 help
242 This is a new clocksource driver for the PWM timer found in
243 Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
244 for all devicetree enabled platforms. This driver will be
245 needed only on systems that do not have the Exynos MCT available.
Jingchang Luc1967242013-05-29 10:12:17 +0200246
Xiubo Li2529c3a2014-05-23 10:12:04 +0200247config FSL_FTM_TIMER
248 bool
249 help
250 Support for Freescale FlexTimer Module (FTM) timer.
251
Jingchang Luc1967242013-05-29 10:12:17 +0200252config VF_PIT_TIMER
253 bool
254 help
255 Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
Magnus Dammfd3f1272014-02-20 12:54:45 +0100256
257config SYS_SUPPORTS_SH_CMT
258 bool
259
Matthias Bruggerecb35302014-07-18 11:36:43 +0200260config MTK_TIMER
Daniel Lezcanofbca9ea2015-10-30 17:53:27 +0100261 bool "Mediatek timer driver" if COMPILE_TEST
Matthias Bruggerecb35302014-07-18 11:36:43 +0200262 select CLKSRC_OF
263 select CLKSRC_MMIO
Daniel Lezcanofbca9ea2015-10-30 17:53:27 +0100264 help
265 Support for Mediatek timer driver.
Matthias Bruggerecb35302014-07-18 11:36:43 +0200266
Magnus Dammfd3f1272014-02-20 12:54:45 +0100267config SYS_SUPPORTS_SH_MTU2
268 bool
269
270config SYS_SUPPORTS_SH_TMU
271 bool
272
273config SYS_SUPPORTS_EM_STI
274 bool
275
276config SH_TIMER_CMT
277 bool "Renesas CMT timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100278 depends on GENERIC_CLOCKEVENTS
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100279 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100280 default SYS_SUPPORTS_SH_CMT
281 help
282 This enables build of a clocksource and clockevent driver for
283 the Compare Match Timer (CMT) hardware available in 16/32/48-bit
284 variants on a wide range of Mobile and Automotive SoCs from Renesas.
285
286config SH_TIMER_MTU2
287 bool "Renesas MTU2 timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100288 depends on GENERIC_CLOCKEVENTS
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100289 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100290 default SYS_SUPPORTS_SH_MTU2
291 help
292 This enables build of a clockevent driver for the Multi-Function
Kuninori Morimoto7e139182014-07-18 11:36:36 +0200293 Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
Magnus Dammfd3f1272014-02-20 12:54:45 +0100294 This hardware comes with 16 bit-timer registers.
295
296config SH_TIMER_TMU
297 bool "Renesas TMU timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100298 depends on GENERIC_CLOCKEVENTS
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100299 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100300 default SYS_SUPPORTS_SH_TMU
301 help
302 This enables build of a clocksource and clockevent driver for
303 the 32-bit Timer Unit (TMU) hardware available on a wide range
304 SoCs from Renesas.
305
306config EM_TIMER_STI
307 bool "Renesas STI timer driver" if COMPILE_TEST
Chen Gang40c96312014-07-08 20:39:40 +0800308 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100309 default SYS_SUPPORTS_EM_STI
310 help
311 This enables build of a clocksource and clockevent driver for
312 the 48-bit System Timer (STI) hardware available on a SoCs
313 such as EMEV2 from former NEC Electronics.
Linus Torvaldsdfc25e42014-04-05 13:51:19 -0700314
Kumar Gala3f8e8ce2014-01-29 16:17:30 -0600315config CLKSRC_QCOM
Daniel Lezcano3dc0e9f2015-10-09 11:10:43 +0200316 bool "Qualcomm MSM timer" if COMPILE_TEST
317 depends on ARM
318 select CLKSRC_OF
319 help
320 This enables the clocksource and the per CPU clockevent driver for the
321 Qualcomm SoCs.
Pawel Moll220e2a82014-04-16 18:22:59 +0100322
323config CLKSRC_VERSATILE
324 bool "ARM Versatile (Express) reference platforms clock source"
Deng-Cheng Zhuff370152015-03-07 10:30:22 -0800325 depends on PLAT_VERSATILE && GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET
Pawel Moll220e2a82014-04-16 18:22:59 +0100326 select CLKSRC_OF
327 default y if MFD_VEXPRESS_SYSREG
328 help
329 This option enables clock source based on free running
330 counter available in the "System Registers" block of
331 ARM Versatile, RealView and Versatile Express reference
332 platforms.
Jean Delvare58394272014-06-16 11:48:45 +0200333
Andrew Brestickerfa5635a2014-10-20 12:03:58 -0700334config CLKSRC_MIPS_GIC
335 bool
336 depends on MIPS_GIC
Andrew Brestickere12aa822014-11-12 11:43:39 -0800337 select CLKSRC_OF
Andrew Brestickerfa5635a2014-10-20 12:03:58 -0700338
Marc Gonzalezccd63ce2015-10-09 16:59:18 +0200339config CLKSRC_TANGO_XTAL
Daniel Lezcano5a7351f2015-10-29 20:54:19 +0100340 bool "Clocksource for Tango SoC" if COMPILE_TEST
341 depends on ARM
Marc Gonzalezccd63ce2015-10-09 16:59:18 +0200342 select CLKSRC_OF
Daniel Lezcano5a7351f2015-10-29 20:54:19 +0100343 help
344 This enables the clocksource for Tango SoC
Marc Gonzalezccd63ce2015-10-09 16:59:18 +0200345
Dmitry Eremin-Solenikove074ff82014-12-21 16:07:09 +0100346config CLKSRC_PXA
Daniel Lezcano5ae996c2015-10-09 17:47:32 +0200347 bool "Clocksource for PXA or SA-11x0 platform" if COMPILE_TEST
348 depends on GENERIC_CLOCKEVENTS
349 select CLKSRC_MMIO
Dmitry Eremin-Solenikove074ff82014-12-21 16:07:09 +0100350 help
351 This enables OST0 support available on PXA and SA-11x0
352 platforms.
Yoshinori Sato618b9022015-01-28 02:52:42 +0900353
354config H8300_TMR16
355 bool
356
357config H8300_TPU
358 bool
359
Shawn Guobea5af42015-05-15 15:41:00 +0800360config CLKSRC_IMX_GPT
361 bool "Clocksource using i.MX GPT" if COMPILE_TEST
362 depends on ARM && CLKDEV_LOOKUP
363 select CLKSRC_MMIO
364
Lee Jones70bef012015-05-26 13:39:43 +0100365config CLKSRC_ST_LPC
Daniel Lezcanobaacaf82015-10-09 15:36:28 +0200366 bool "Low power clocksource found in the LPC" if COMPILE_TEST
Lee Jones70bef012015-05-26 13:39:43 +0100367 select CLKSRC_OF if OF
368 help
369 Enable this option to use the Low Power controller timer
370 as clocksource.
371
Jean Delvare58394272014-06-16 11:48:45 +0200372endmenu