blob: badef7286eb98bb56e55310b3467f05c7233885c [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
104 bool
105 select CLKSRC_MMIO
106 select CLKSRC_OF
107
Linus Walleij694e33a2012-10-18 14:01:25 +0200108config CLKSRC_NOMADIK_MTU
109 bool
110 depends on (ARCH_NOMADIK || ARCH_U8500)
111 select CLKSRC_MMIO
112 help
113 Support for Multi Timer Unit. MTU provides access
114 to multiple interrupt generating programmable
115 32-bit free running decrementing counters.
116
117config CLKSRC_NOMADIK_MTU_SCHED_CLOCK
118 bool
119 depends on CLKSRC_NOMADIK_MTU
120 help
121 Use the Multi Timer Unit as the sched_clock.
122
Mattias Wallin489bcce2011-05-27 10:30:12 +0200123config CLKSRC_DBX500_PRCMU
124 bool "Clocksource PRCMU Timer"
Linus Walleij29746f42012-04-13 13:16:31 +0200125 depends on UX500_SOC_DB8500
Mattias Wallin489bcce2011-05-27 10:30:12 +0200126 default y
127 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
147 bool
148 select CLKSRC_MMIO
149 select CLKSRC_OF
150
Ezequiel Garcia84583982015-08-07 16:39:31 +0100151config CLKSRC_PISTACHIO
Daniel Lezcanodfdb1652015-10-30 17:28:13 +0100152 bool "Clocksource for Pistachio SoC" if COMPILE_TEST
Ezequiel Garcia84583982015-08-07 16:39:31 +0100153 select CLKSRC_OF
Daniel Lezcanodfdb1652015-10-30 17:28:13 +0100154 help
155 Enables the clocksource for the Pistachio SoC.
Ezequiel Garcia84583982015-08-07 16:39:31 +0100156
Felipe Balbife851f52015-09-29 13:55:33 -0500157config CLKSRC_TI_32K
158 bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST
Felipe Balbidfedaf12015-10-16 16:10:05 -0500159 depends on GENERIC_SCHED_CLOCK
Felipe Balbife851f52015-09-29 13:55:33 -0500160 select CLKSRC_OF if OF
161 help
162 This option enables support for Texas Instruments 32.768 Hz clocksource
163 available on many OMAP-like platforms.
164
Maxime Coqueline37e4592015-05-22 23:03:33 +0200165config CLKSRC_STM32
Paul Gortmaker1cb6c212015-06-20 19:02:32 -0400166 bool "Clocksource for STM32 SoCs" if !ARCH_STM32
167 depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST)
Maxime Coqueline37e4592015-05-22 23:03:33 +0200168 select CLKSRC_MMIO
169
Mark Rutland8a4da6e2012-11-12 14:33:44 +0000170config ARM_ARCH_TIMER
171 bool
Rob Herring0583fe42013-04-10 18:27:51 -0500172 select CLKSRC_OF if OF
Marc Zyngierae281cb2015-09-28 15:49:17 +0100173 select CLKSRC_ACPI if ACPI
James Hogana2c5d4e2012-10-09 10:54:39 +0100174
Will Deacon037f6372013-08-23 15:32:29 +0100175config ARM_ARCH_TIMER_EVTSTREAM
176 bool "Support for ARM architected timer event stream generation"
177 default y if ARM_ARCH_TIMER
Stephen Boyd77f7ce92013-11-20 12:02:03 -0800178 depends on ARM_ARCH_TIMER
Will Deacon037f6372013-08-23 15:32:29 +0100179 help
180 This option enables support for event stream generation based on
181 the ARM architected timer. It is used for waking up CPUs executing
182 the wfe instruction at a frequency represented as a power-of-2
183 divisor of the clock rate.
184 The main use of the event stream is wfe-based timeouts of userspace
185 locking implementations. It might also be useful for imposing timeout
186 on wfe to safeguard against any programming errors in case an expected
187 event is not generated.
188 This must be disabled for hardware validation purposes to detect any
189 hardware anomalies of missing events.
190
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100191config ARM_GLOBAL_TIMER
192 bool
193 select CLKSRC_OF if OF
194 help
195 This options enables support for the ARM global timer unit
196
Sudeep Holla0b7402d2015-05-18 16:29:40 +0100197config ARM_TIMER_SP804
198 bool "Support for Dual Timer SP804 module"
Guenter Roeck002af192015-06-23 20:49:05 -0700199 depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP
Sudeep Holla0b7402d2015-05-18 16:29:40 +0100200 select CLKSRC_MMIO
201 select CLKSRC_OF if OF
202
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100203config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
204 bool
205 depends on ARM_GLOBAL_TIMER
206 default y
207 help
208 Use ARM global timer clock source as sched_clock
209
Maxime Coquelin4958ebb2015-05-09 09:53:46 +0200210config ARMV7M_SYSTICK
211 bool
212 select CLKSRC_OF if OF
213 select CLKSRC_MMIO
214 help
215 This options enables support for the ARMv7M system timer unit
216
Maxime Ripardb052ff32014-09-02 18:12:35 +0200217config ATMEL_PIT
218 select CLKSRC_OF if OF
219 def_bool SOC_AT91SAM9 || SOC_SAMA5
220
Alexandre Bellonib53cdd02015-03-12 13:07:31 +0100221config ATMEL_ST
222 bool
223 select CLKSRC_OF
Alexandre Belloni7ab7ef72015-03-19 14:17:48 +0100224 select MFD_SYSCON
Alexandre Bellonib53cdd02015-03-12 13:07:31 +0100225
James Hogana2c5d4e2012-10-09 10:54:39 +0100226config CLKSRC_METAG_GENERIC
227 def_bool y if METAG
228 help
229 This option enables support for the Meta per-thread timers.
Thomas Abraham6938d75a2013-03-09 16:16:13 +0900230
231config CLKSRC_EXYNOS_MCT
232 def_bool y if ARCH_EXYNOS
Doug Anderson3252a642014-07-05 06:43:26 +0900233 depends on !ARM64
Thomas Abraham6938d75a2013-03-09 16:16:13 +0900234 help
235 Support for Multi Core Timer controller on Exynos SoCs.
Arnd Bergmann241a9872013-05-06 23:49:09 +0200236
Tomasz Figaf1189982013-04-20 23:22:13 +0200237config CLKSRC_SAMSUNG_PWM
Tomasz Figa77d84432013-04-23 17:46:23 +0200238 bool
Tomasz Figaf1189982013-04-20 23:22:13 +0200239 help
240 This is a new clocksource driver for the PWM timer found in
241 Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
242 for all devicetree enabled platforms. This driver will be
243 needed only on systems that do not have the Exynos MCT available.
Jingchang Luc1967242013-05-29 10:12:17 +0200244
Xiubo Li2529c3a2014-05-23 10:12:04 +0200245config FSL_FTM_TIMER
246 bool
247 help
248 Support for Freescale FlexTimer Module (FTM) timer.
249
Jingchang Luc1967242013-05-29 10:12:17 +0200250config VF_PIT_TIMER
251 bool
252 help
253 Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
Magnus Dammfd3f1272014-02-20 12:54:45 +0100254
255config SYS_SUPPORTS_SH_CMT
256 bool
257
Matthias Bruggerecb35302014-07-18 11:36:43 +0200258config MTK_TIMER
Daniel Lezcanofbca9ea2015-10-30 17:53:27 +0100259 bool "Mediatek timer driver" if COMPILE_TEST
Matthias Bruggerecb35302014-07-18 11:36:43 +0200260 select CLKSRC_OF
261 select CLKSRC_MMIO
Daniel Lezcanofbca9ea2015-10-30 17:53:27 +0100262 help
263 Support for Mediatek timer driver.
Matthias Bruggerecb35302014-07-18 11:36:43 +0200264
Magnus Dammfd3f1272014-02-20 12:54:45 +0100265config SYS_SUPPORTS_SH_MTU2
266 bool
267
268config SYS_SUPPORTS_SH_TMU
269 bool
270
271config SYS_SUPPORTS_EM_STI
272 bool
273
274config SH_TIMER_CMT
275 bool "Renesas CMT 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_CMT
279 help
280 This enables build of a clocksource and clockevent driver for
281 the Compare Match Timer (CMT) hardware available in 16/32/48-bit
282 variants on a wide range of Mobile and Automotive SoCs from Renesas.
283
284config SH_TIMER_MTU2
285 bool "Renesas MTU2 timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100286 depends on GENERIC_CLOCKEVENTS
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100287 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100288 default SYS_SUPPORTS_SH_MTU2
289 help
290 This enables build of a clockevent driver for the Multi-Function
Kuninori Morimoto7e139182014-07-18 11:36:36 +0200291 Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
Magnus Dammfd3f1272014-02-20 12:54:45 +0100292 This hardware comes with 16 bit-timer registers.
293
294config SH_TIMER_TMU
295 bool "Renesas TMU timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100296 depends on GENERIC_CLOCKEVENTS
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100297 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100298 default SYS_SUPPORTS_SH_TMU
299 help
300 This enables build of a clocksource and clockevent driver for
301 the 32-bit Timer Unit (TMU) hardware available on a wide range
302 SoCs from Renesas.
303
304config EM_TIMER_STI
305 bool "Renesas STI timer driver" if COMPILE_TEST
Chen Gang40c96312014-07-08 20:39:40 +0800306 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100307 default SYS_SUPPORTS_EM_STI
308 help
309 This enables build of a clocksource and clockevent driver for
310 the 48-bit System Timer (STI) hardware available on a SoCs
311 such as EMEV2 from former NEC Electronics.
Linus Torvaldsdfc25e42014-04-05 13:51:19 -0700312
Kumar Gala3f8e8ce2014-01-29 16:17:30 -0600313config CLKSRC_QCOM
Daniel Lezcano3dc0e9f2015-10-09 11:10:43 +0200314 bool "Qualcomm MSM timer" if COMPILE_TEST
315 depends on ARM
316 select CLKSRC_OF
317 help
318 This enables the clocksource and the per CPU clockevent driver for the
319 Qualcomm SoCs.
Pawel Moll220e2a82014-04-16 18:22:59 +0100320
321config CLKSRC_VERSATILE
322 bool "ARM Versatile (Express) reference platforms clock source"
Deng-Cheng Zhuff370152015-03-07 10:30:22 -0800323 depends on PLAT_VERSATILE && GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET
Pawel Moll220e2a82014-04-16 18:22:59 +0100324 select CLKSRC_OF
325 default y if MFD_VEXPRESS_SYSREG
326 help
327 This option enables clock source based on free running
328 counter available in the "System Registers" block of
329 ARM Versatile, RealView and Versatile Express reference
330 platforms.
Jean Delvare58394272014-06-16 11:48:45 +0200331
Andrew Brestickerfa5635a2014-10-20 12:03:58 -0700332config CLKSRC_MIPS_GIC
333 bool
334 depends on MIPS_GIC
Andrew Brestickere12aa822014-11-12 11:43:39 -0800335 select CLKSRC_OF
Andrew Brestickerfa5635a2014-10-20 12:03:58 -0700336
Marc Gonzalezccd63ce2015-10-09 16:59:18 +0200337config CLKSRC_TANGO_XTAL
Daniel Lezcano5a7351f2015-10-29 20:54:19 +0100338 bool "Clocksource for Tango SoC" if COMPILE_TEST
339 depends on ARM
Marc Gonzalezccd63ce2015-10-09 16:59:18 +0200340 select CLKSRC_OF
Daniel Lezcano5a7351f2015-10-29 20:54:19 +0100341 help
342 This enables the clocksource for Tango SoC
Marc Gonzalezccd63ce2015-10-09 16:59:18 +0200343
Dmitry Eremin-Solenikove074ff82014-12-21 16:07:09 +0100344config CLKSRC_PXA
Daniel Lezcano5ae996c2015-10-09 17:47:32 +0200345 bool "Clocksource for PXA or SA-11x0 platform" if COMPILE_TEST
346 depends on GENERIC_CLOCKEVENTS
347 select CLKSRC_MMIO
Dmitry Eremin-Solenikove074ff82014-12-21 16:07:09 +0100348 help
349 This enables OST0 support available on PXA and SA-11x0
350 platforms.
Yoshinori Sato618b9022015-01-28 02:52:42 +0900351
352config H8300_TMR16
353 bool
354
355config H8300_TPU
356 bool
357
Shawn Guobea5af42015-05-15 15:41:00 +0800358config CLKSRC_IMX_GPT
359 bool "Clocksource using i.MX GPT" if COMPILE_TEST
360 depends on ARM && CLKDEV_LOOKUP
361 select CLKSRC_MMIO
362
Lee Jones70bef012015-05-26 13:39:43 +0100363config CLKSRC_ST_LPC
Daniel Lezcanobaacaf82015-10-09 15:36:28 +0200364 bool "Low power clocksource found in the LPC" if COMPILE_TEST
Lee Jones70bef012015-05-26 13:39:43 +0100365 select CLKSRC_OF if OF
366 help
367 Enable this option to use the Low Power controller timer
368 as clocksource.
369
Jean Delvare58394272014-06-16 11:48:45 +0200370endmenu