blob: 63a8c6fb4172b71eb770346e2052acfd1c05aaeb [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
36 bool
Mattias Wallin489bcce2011-05-27 10:30:12 +020037
Dinh Nguyencfda5902012-07-11 15:13:16 -050038config DW_APB_TIMER_OF
39 bool
Heiko Stuebner1b4eca02013-06-04 11:38:11 +020040 select DW_APB_TIMER
Heiko Stuebner10021482013-06-04 11:38:42 +020041 select CLKSRC_OF
Dinh Nguyencfda5902012-07-11 15:13:16 -050042
Daniel Lezcano468b8c42015-01-25 22:06:02 +010043config ROCKCHIP_TIMER
Daniel Lezcano40ada2a2015-10-30 17:58:47 +010044 bool "Rockchip timer driver" if COMPILE_TEST
45 depends on ARM || ARM64
Daniel Lezcano468b8c42015-01-25 22:06:02 +010046 select CLKSRC_OF
Daniel Lezcano40ada2a2015-10-30 17:58:47 +010047 help
48 Enables the support for the rockchip timer driver.
Daniel Lezcano468b8c42015-01-25 22:06:02 +010049
Gregory CLEMENT6fe9cbd2012-06-13 18:58:09 +020050config ARMADA_370_XP_TIMER
Daniel Lezcano9519e802015-10-30 20:30:34 +010051 bool "Armada 370 and XP timer driver" if COMPILE_TEST
52 depends on ARM
Jean Pihet7b0dd722013-09-18 20:55:09 +020053 select CLKSRC_OF
Daniel Lezcano9519e802015-10-30 20:30:34 +010054 help
55 Enables the support for the Armada 370 and XP timer driver.
Gregory CLEMENT6fe9cbd2012-06-13 18:58:09 +020056
Carlo Caionee4a6b372014-09-29 01:50:05 +020057config MESON6_TIMER
Daniel Lezcano0b7a7bb2015-10-30 22:07:39 +010058 bool "Meson6 timer driver" if COMPILE_TEST
Beniamino Galvani7b6b0a42014-11-18 16:41:20 +010059 select CLKSRC_MMIO
Daniel Lezcano0b7a7bb2015-10-30 22:07:39 +010060 help
61 Enables the support for the Meson6 timer driver.
Carlo Caionee4a6b372014-09-29 01:50:05 +020062
Sebastian Hesselbarth0c1dcfd2013-06-11 08:38:50 +020063config ORION_TIMER
Daniel Lezcanoc9165542015-10-30 22:28:31 +010064 bool "Orion timer driver" if COMPILE_TEST
65 depends on ARM
Sebastian Hesselbarth0c1dcfd2013-06-11 08:38:50 +020066 select CLKSRC_OF
67 select CLKSRC_MMIO
Daniel Lezcanoc9165542015-10-30 22:28:31 +010068 help
69 Enables the support for the Orion timer driver
Sebastian Hesselbarth0c1dcfd2013-06-11 08:38:50 +020070
Maxime Ripard119fd632013-03-24 11:49:25 +010071config SUN4I_TIMER
Maxime Ripard71c568c2013-10-14 21:07:46 +020072 select CLKSRC_MMIO
Maxime Ripardb2ac5d72012-11-12 15:07:50 +010073 bool
74
Maxime Ripard67905542013-11-07 12:01:48 +010075config SUN5I_HSTIMER
76 select CLKSRC_MMIO
77 bool
78
Thierry Reding910978e72014-07-07 15:26:30 +020079config TEGRA_TIMER
80 bool
81
Tony Priskff7ec342013-01-14 17:58:21 +130082config VT8500_TIMER
83 bool
84
Michal Simek4f0f2342013-03-20 10:46:01 +010085config CADENCE_TTC_TIMER
86 bool
87
Daniel Lezcanoa8b1b9f2015-02-23 19:54:16 +010088config ASM9260_TIMER
89 bool
90 select CLKSRC_MMIO
91 select CLKSRC_OF
92
Linus Walleij694e33a2012-10-18 14:01:25 +020093config CLKSRC_NOMADIK_MTU
94 bool
95 depends on (ARCH_NOMADIK || ARCH_U8500)
96 select CLKSRC_MMIO
97 help
98 Support for Multi Timer Unit. MTU provides access
99 to multiple interrupt generating programmable
100 32-bit free running decrementing counters.
101
102config CLKSRC_NOMADIK_MTU_SCHED_CLOCK
103 bool
104 depends on CLKSRC_NOMADIK_MTU
105 help
106 Use the Multi Timer Unit as the sched_clock.
107
Mattias Wallin489bcce2011-05-27 10:30:12 +0200108config CLKSRC_DBX500_PRCMU
109 bool "Clocksource PRCMU Timer"
Linus Walleij29746f42012-04-13 13:16:31 +0200110 depends on UX500_SOC_DB8500
Mattias Wallin489bcce2011-05-27 10:30:12 +0200111 default y
112 help
113 Use the always on PRCMU Timer as clocksource
114
115config CLKSRC_DBX500_PRCMU_SCHED_CLOCK
116 bool "Clocksource PRCMU Timer sched_clock"
Linus Walleij694e33a2012-10-18 14:01:25 +0200117 depends on (CLKSRC_DBX500_PRCMU && !CLKSRC_NOMADIK_MTU_SCHED_CLOCK)
Mattias Wallin489bcce2011-05-27 10:30:12 +0200118 default y
119 help
120 Use the always on PRCMU Timer as sched_clock
Marc Zyngier985c0672012-03-05 11:49:30 +0000121
Uwe Kleine-König9c9b7812013-10-03 21:56:29 +0200122config CLKSRC_EFM32
123 bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32
124 depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST)
Axel Lin09ca2752013-11-20 10:15:11 +0800125 select CLKSRC_MMIO
Uwe Kleine-König9c9b7812013-10-03 21:56:29 +0200126 default ARCH_EFM32
127 help
128 Support to use the timers of EFM32 SoCs as clock source and clock
129 event device.
130
Joachim Eastwood050dd322015-05-12 00:00:48 +0200131config CLKSRC_LPC32XX
132 bool
133 select CLKSRC_MMIO
134 select CLKSRC_OF
135
Ezequiel Garcia84583982015-08-07 16:39:31 +0100136config CLKSRC_PISTACHIO
Daniel Lezcanodfdb1652015-10-30 17:28:13 +0100137 bool "Clocksource for Pistachio SoC" if COMPILE_TEST
Ezequiel Garcia84583982015-08-07 16:39:31 +0100138 select CLKSRC_OF
Daniel Lezcanodfdb1652015-10-30 17:28:13 +0100139 help
140 Enables the clocksource for the Pistachio SoC.
Ezequiel Garcia84583982015-08-07 16:39:31 +0100141
Felipe Balbife851f52015-09-29 13:55:33 -0500142config CLKSRC_TI_32K
143 bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST
Felipe Balbidfedaf12015-10-16 16:10:05 -0500144 depends on GENERIC_SCHED_CLOCK
Felipe Balbife851f52015-09-29 13:55:33 -0500145 select CLKSRC_OF if OF
146 help
147 This option enables support for Texas Instruments 32.768 Hz clocksource
148 available on many OMAP-like platforms.
149
Maxime Coqueline37e4592015-05-22 23:03:33 +0200150config CLKSRC_STM32
Paul Gortmaker1cb6c212015-06-20 19:02:32 -0400151 bool "Clocksource for STM32 SoCs" if !ARCH_STM32
152 depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST)
Maxime Coqueline37e4592015-05-22 23:03:33 +0200153 select CLKSRC_MMIO
154
Mark Rutland8a4da6e2012-11-12 14:33:44 +0000155config ARM_ARCH_TIMER
156 bool
Rob Herring0583fe42013-04-10 18:27:51 -0500157 select CLKSRC_OF if OF
Marc Zyngierae281cb2015-09-28 15:49:17 +0100158 select CLKSRC_ACPI if ACPI
James Hogana2c5d4e2012-10-09 10:54:39 +0100159
Will Deacon037f6372013-08-23 15:32:29 +0100160config ARM_ARCH_TIMER_EVTSTREAM
161 bool "Support for ARM architected timer event stream generation"
162 default y if ARM_ARCH_TIMER
Stephen Boyd77f7ce92013-11-20 12:02:03 -0800163 depends on ARM_ARCH_TIMER
Will Deacon037f6372013-08-23 15:32:29 +0100164 help
165 This option enables support for event stream generation based on
166 the ARM architected timer. It is used for waking up CPUs executing
167 the wfe instruction at a frequency represented as a power-of-2
168 divisor of the clock rate.
169 The main use of the event stream is wfe-based timeouts of userspace
170 locking implementations. It might also be useful for imposing timeout
171 on wfe to safeguard against any programming errors in case an expected
172 event is not generated.
173 This must be disabled for hardware validation purposes to detect any
174 hardware anomalies of missing events.
175
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100176config ARM_GLOBAL_TIMER
177 bool
178 select CLKSRC_OF if OF
179 help
180 This options enables support for the ARM global timer unit
181
Sudeep Holla0b7402d2015-05-18 16:29:40 +0100182config ARM_TIMER_SP804
183 bool "Support for Dual Timer SP804 module"
Guenter Roeck002af192015-06-23 20:49:05 -0700184 depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP
Sudeep Holla0b7402d2015-05-18 16:29:40 +0100185 select CLKSRC_MMIO
186 select CLKSRC_OF if OF
187
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100188config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
189 bool
190 depends on ARM_GLOBAL_TIMER
191 default y
192 help
193 Use ARM global timer clock source as sched_clock
194
Maxime Coquelin4958ebb2015-05-09 09:53:46 +0200195config ARMV7M_SYSTICK
196 bool
197 select CLKSRC_OF if OF
198 select CLKSRC_MMIO
199 help
200 This options enables support for the ARMv7M system timer unit
201
Maxime Ripardb052ff32014-09-02 18:12:35 +0200202config ATMEL_PIT
203 select CLKSRC_OF if OF
204 def_bool SOC_AT91SAM9 || SOC_SAMA5
205
Alexandre Bellonib53cdd02015-03-12 13:07:31 +0100206config ATMEL_ST
207 bool
208 select CLKSRC_OF
Alexandre Belloni7ab7ef72015-03-19 14:17:48 +0100209 select MFD_SYSCON
Alexandre Bellonib53cdd02015-03-12 13:07:31 +0100210
James Hogana2c5d4e2012-10-09 10:54:39 +0100211config CLKSRC_METAG_GENERIC
212 def_bool y if METAG
213 help
214 This option enables support for the Meta per-thread timers.
Thomas Abraham6938d75a2013-03-09 16:16:13 +0900215
216config CLKSRC_EXYNOS_MCT
217 def_bool y if ARCH_EXYNOS
Doug Anderson3252a642014-07-05 06:43:26 +0900218 depends on !ARM64
Thomas Abraham6938d75a2013-03-09 16:16:13 +0900219 help
220 Support for Multi Core Timer controller on Exynos SoCs.
Arnd Bergmann241a9872013-05-06 23:49:09 +0200221
Tomasz Figaf1189982013-04-20 23:22:13 +0200222config CLKSRC_SAMSUNG_PWM
Tomasz Figa77d84432013-04-23 17:46:23 +0200223 bool
Tomasz Figaf1189982013-04-20 23:22:13 +0200224 help
225 This is a new clocksource driver for the PWM timer found in
226 Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
227 for all devicetree enabled platforms. This driver will be
228 needed only on systems that do not have the Exynos MCT available.
Jingchang Luc1967242013-05-29 10:12:17 +0200229
Xiubo Li2529c3a2014-05-23 10:12:04 +0200230config FSL_FTM_TIMER
231 bool
232 help
233 Support for Freescale FlexTimer Module (FTM) timer.
234
Jingchang Luc1967242013-05-29 10:12:17 +0200235config VF_PIT_TIMER
236 bool
237 help
238 Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
Magnus Dammfd3f1272014-02-20 12:54:45 +0100239
240config SYS_SUPPORTS_SH_CMT
241 bool
242
Matthias Bruggerecb35302014-07-18 11:36:43 +0200243config MTK_TIMER
Daniel Lezcanofbca9ea2015-10-30 17:53:27 +0100244 bool "Mediatek timer driver" if COMPILE_TEST
Matthias Bruggerecb35302014-07-18 11:36:43 +0200245 select CLKSRC_OF
246 select CLKSRC_MMIO
Daniel Lezcanofbca9ea2015-10-30 17:53:27 +0100247 help
248 Support for Mediatek timer driver.
Matthias Bruggerecb35302014-07-18 11:36:43 +0200249
Magnus Dammfd3f1272014-02-20 12:54:45 +0100250config SYS_SUPPORTS_SH_MTU2
251 bool
252
253config SYS_SUPPORTS_SH_TMU
254 bool
255
256config SYS_SUPPORTS_EM_STI
257 bool
258
259config SH_TIMER_CMT
260 bool "Renesas CMT timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100261 depends on GENERIC_CLOCKEVENTS
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100262 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100263 default SYS_SUPPORTS_SH_CMT
264 help
265 This enables build of a clocksource and clockevent driver for
266 the Compare Match Timer (CMT) hardware available in 16/32/48-bit
267 variants on a wide range of Mobile and Automotive SoCs from Renesas.
268
269config SH_TIMER_MTU2
270 bool "Renesas MTU2 timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100271 depends on GENERIC_CLOCKEVENTS
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100272 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100273 default SYS_SUPPORTS_SH_MTU2
274 help
275 This enables build of a clockevent driver for the Multi-Function
Kuninori Morimoto7e139182014-07-18 11:36:36 +0200276 Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
Magnus Dammfd3f1272014-02-20 12:54:45 +0100277 This hardware comes with 16 bit-timer registers.
278
279config SH_TIMER_TMU
280 bool "Renesas TMU timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100281 depends on GENERIC_CLOCKEVENTS
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100282 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100283 default SYS_SUPPORTS_SH_TMU
284 help
285 This enables build of a clocksource and clockevent driver for
286 the 32-bit Timer Unit (TMU) hardware available on a wide range
287 SoCs from Renesas.
288
289config EM_TIMER_STI
290 bool "Renesas STI timer driver" if COMPILE_TEST
Chen Gang40c96312014-07-08 20:39:40 +0800291 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100292 default SYS_SUPPORTS_EM_STI
293 help
294 This enables build of a clocksource and clockevent driver for
295 the 48-bit System Timer (STI) hardware available on a SoCs
296 such as EMEV2 from former NEC Electronics.
Linus Torvaldsdfc25e42014-04-05 13:51:19 -0700297
Kumar Gala3f8e8ce2014-01-29 16:17:30 -0600298config CLKSRC_QCOM
Daniel Lezcano3dc0e9f2015-10-09 11:10:43 +0200299 bool "Qualcomm MSM timer" if COMPILE_TEST
300 depends on ARM
301 select CLKSRC_OF
302 help
303 This enables the clocksource and the per CPU clockevent driver for the
304 Qualcomm SoCs.
Pawel Moll220e2a82014-04-16 18:22:59 +0100305
306config CLKSRC_VERSATILE
307 bool "ARM Versatile (Express) reference platforms clock source"
Deng-Cheng Zhuff370152015-03-07 10:30:22 -0800308 depends on PLAT_VERSATILE && GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET
Pawel Moll220e2a82014-04-16 18:22:59 +0100309 select CLKSRC_OF
310 default y if MFD_VEXPRESS_SYSREG
311 help
312 This option enables clock source based on free running
313 counter available in the "System Registers" block of
314 ARM Versatile, RealView and Versatile Express reference
315 platforms.
Jean Delvare58394272014-06-16 11:48:45 +0200316
Andrew Brestickerfa5635a2014-10-20 12:03:58 -0700317config CLKSRC_MIPS_GIC
318 bool
319 depends on MIPS_GIC
Andrew Brestickere12aa822014-11-12 11:43:39 -0800320 select CLKSRC_OF
Andrew Brestickerfa5635a2014-10-20 12:03:58 -0700321
Marc Gonzalezccd63ce2015-10-09 16:59:18 +0200322config CLKSRC_TANGO_XTAL
Daniel Lezcano5a7351f2015-10-29 20:54:19 +0100323 bool "Clocksource for Tango SoC" if COMPILE_TEST
324 depends on ARM
Marc Gonzalezccd63ce2015-10-09 16:59:18 +0200325 select CLKSRC_OF
Daniel Lezcano5a7351f2015-10-29 20:54:19 +0100326 help
327 This enables the clocksource for Tango SoC
Marc Gonzalezccd63ce2015-10-09 16:59:18 +0200328
Dmitry Eremin-Solenikove074ff82014-12-21 16:07:09 +0100329config CLKSRC_PXA
Daniel Lezcano5ae996c2015-10-09 17:47:32 +0200330 bool "Clocksource for PXA or SA-11x0 platform" if COMPILE_TEST
331 depends on GENERIC_CLOCKEVENTS
332 select CLKSRC_MMIO
Dmitry Eremin-Solenikove074ff82014-12-21 16:07:09 +0100333 help
334 This enables OST0 support available on PXA and SA-11x0
335 platforms.
Yoshinori Sato618b9022015-01-28 02:52:42 +0900336
337config H8300_TMR16
338 bool
339
340config H8300_TPU
341 bool
342
Shawn Guobea5af42015-05-15 15:41:00 +0800343config CLKSRC_IMX_GPT
344 bool "Clocksource using i.MX GPT" if COMPILE_TEST
345 depends on ARM && CLKDEV_LOOKUP
346 select CLKSRC_MMIO
347
Lee Jones70bef012015-05-26 13:39:43 +0100348config CLKSRC_ST_LPC
Daniel Lezcanobaacaf82015-10-09 15:36:28 +0200349 bool "Low power clocksource found in the LPC" if COMPILE_TEST
Lee Jones70bef012015-05-26 13:39:43 +0100350 select CLKSRC_OF if OF
351 help
352 Enable this option to use the Low Power controller timer
353 as clocksource.
354
Jean Delvare58394272014-06-16 11:48:45 +0200355endmenu