blob: 98b2a9b9bfad91f1d472853f2ca5a8a46436f833 [file] [log] [blame]
Jean Delvare58394272014-06-16 11:48:45 +02001menu "Clock Source drivers"
2
Stephen Warrenae278a92012-11-19 16:41:20 -07003config CLKSRC_OF
4 bool
5
Russell King89c0b8e2011-05-08 18:47:58 +01006config CLKSRC_I8253
7 bool
Russell King442c8172011-05-08 14:06:52 +01008
Thomas Gleixnere6220bd2011-06-09 13:08:25 +00009config CLKEVT_I8253
10 bool
11
Ralf Baechle15f304b2011-06-01 19:04:59 +010012config I8253_LOCK
13 bool
14
15config CLKBLD_I8253
Thomas Gleixnere6220bd2011-06-09 13:08:25 +000016 def_bool y if CLKSRC_I8253 || CLKEVT_I8253 || I8253_LOCK
Ralf Baechle15f304b2011-06-01 19:04:59 +010017
Russell King442c8172011-05-08 14:06:52 +010018config CLKSRC_MMIO
19 bool
Jamie Iles06c3df42011-06-06 12:43:07 +010020
Baruch Siach9b8bb772015-01-26 20:35:18 +020021config DIGICOLOR_TIMER
22 bool
23
Jamie Iles06c3df42011-06-06 12:43:07 +010024config DW_APB_TIMER
25 bool
Mattias Wallin489bcce2011-05-27 10:30:12 +020026
Dinh Nguyencfda5902012-07-11 15:13:16 -050027config DW_APB_TIMER_OF
28 bool
Heiko Stuebner1b4eca02013-06-04 11:38:11 +020029 select DW_APB_TIMER
Heiko Stuebner10021482013-06-04 11:38:42 +020030 select CLKSRC_OF
Dinh Nguyencfda5902012-07-11 15:13:16 -050031
Daniel Lezcano468b8c42015-01-25 22:06:02 +010032config ROCKCHIP_TIMER
33 bool
34 select CLKSRC_OF
35
Gregory CLEMENT6fe9cbd2012-06-13 18:58:09 +020036config ARMADA_370_XP_TIMER
37 bool
Jean Pihet7b0dd722013-09-18 20:55:09 +020038 select CLKSRC_OF
Gregory CLEMENT6fe9cbd2012-06-13 18:58:09 +020039
Carlo Caionee4a6b372014-09-29 01:50:05 +020040config MESON6_TIMER
41 bool
Beniamino Galvani7b6b0a42014-11-18 16:41:20 +010042 select CLKSRC_MMIO
Carlo Caionee4a6b372014-09-29 01:50:05 +020043
Sebastian Hesselbarth0c1dcfd2013-06-11 08:38:50 +020044config ORION_TIMER
45 select CLKSRC_OF
46 select CLKSRC_MMIO
47 bool
48
Maxime Ripard119fd632013-03-24 11:49:25 +010049config SUN4I_TIMER
Maxime Ripard71c568c2013-10-14 21:07:46 +020050 select CLKSRC_MMIO
Maxime Ripardb2ac5d72012-11-12 15:07:50 +010051 bool
52
Maxime Ripard67905542013-11-07 12:01:48 +010053config SUN5I_HSTIMER
54 select CLKSRC_MMIO
55 bool
56
Thierry Reding910978e72014-07-07 15:26:30 +020057config TEGRA_TIMER
58 bool
59
Tony Priskff7ec342013-01-14 17:58:21 +130060config VT8500_TIMER
61 bool
62
Michal Simek4f0f2342013-03-20 10:46:01 +010063config CADENCE_TTC_TIMER
64 bool
65
Daniel Lezcanoa8b1b9f2015-02-23 19:54:16 +010066config ASM9260_TIMER
67 bool
68 select CLKSRC_MMIO
69 select CLKSRC_OF
70
Linus Walleij694e33a2012-10-18 14:01:25 +020071config CLKSRC_NOMADIK_MTU
72 bool
73 depends on (ARCH_NOMADIK || ARCH_U8500)
74 select CLKSRC_MMIO
75 help
76 Support for Multi Timer Unit. MTU provides access
77 to multiple interrupt generating programmable
78 32-bit free running decrementing counters.
79
80config CLKSRC_NOMADIK_MTU_SCHED_CLOCK
81 bool
82 depends on CLKSRC_NOMADIK_MTU
83 help
84 Use the Multi Timer Unit as the sched_clock.
85
Mattias Wallin489bcce2011-05-27 10:30:12 +020086config CLKSRC_DBX500_PRCMU
87 bool "Clocksource PRCMU Timer"
Linus Walleij29746f42012-04-13 13:16:31 +020088 depends on UX500_SOC_DB8500
Mattias Wallin489bcce2011-05-27 10:30:12 +020089 default y
90 help
91 Use the always on PRCMU Timer as clocksource
92
93config CLKSRC_DBX500_PRCMU_SCHED_CLOCK
94 bool "Clocksource PRCMU Timer sched_clock"
Linus Walleij694e33a2012-10-18 14:01:25 +020095 depends on (CLKSRC_DBX500_PRCMU && !CLKSRC_NOMADIK_MTU_SCHED_CLOCK)
Mattias Wallin489bcce2011-05-27 10:30:12 +020096 default y
97 help
98 Use the always on PRCMU Timer as sched_clock
Marc Zyngier985c0672012-03-05 11:49:30 +000099
Uwe Kleine-König9c9b7812013-10-03 21:56:29 +0200100config CLKSRC_EFM32
101 bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32
102 depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST)
Axel Lin09ca2752013-11-20 10:15:11 +0800103 select CLKSRC_MMIO
Uwe Kleine-König9c9b7812013-10-03 21:56:29 +0200104 default ARCH_EFM32
105 help
106 Support to use the timers of EFM32 SoCs as clock source and clock
107 event device.
108
Joachim Eastwood050dd322015-05-12 00:00:48 +0200109config CLKSRC_LPC32XX
110 bool
111 select CLKSRC_MMIO
112 select CLKSRC_OF
113
Ezequiel Garcia84583982015-08-07 16:39:31 +0100114config CLKSRC_PISTACHIO
115 bool
116 select CLKSRC_OF
117
Felipe Balbife851f52015-09-29 13:55:33 -0500118config CLKSRC_TI_32K
119 bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST
120 select CLKSRC_OF if OF
121 help
122 This option enables support for Texas Instruments 32.768 Hz clocksource
123 available on many OMAP-like platforms.
124
Maxime Coqueline37e4592015-05-22 23:03:33 +0200125config CLKSRC_STM32
Paul Gortmaker1cb6c212015-06-20 19:02:32 -0400126 bool "Clocksource for STM32 SoCs" if !ARCH_STM32
127 depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST)
Maxime Coqueline37e4592015-05-22 23:03:33 +0200128 select CLKSRC_MMIO
129
Mark Rutland8a4da6e2012-11-12 14:33:44 +0000130config ARM_ARCH_TIMER
131 bool
Rob Herring0583fe42013-04-10 18:27:51 -0500132 select CLKSRC_OF if OF
James Hogana2c5d4e2012-10-09 10:54:39 +0100133
Will Deacon037f6372013-08-23 15:32:29 +0100134config ARM_ARCH_TIMER_EVTSTREAM
135 bool "Support for ARM architected timer event stream generation"
136 default y if ARM_ARCH_TIMER
Stephen Boyd77f7ce92013-11-20 12:02:03 -0800137 depends on ARM_ARCH_TIMER
Will Deacon037f6372013-08-23 15:32:29 +0100138 help
139 This option enables support for event stream generation based on
140 the ARM architected timer. It is used for waking up CPUs executing
141 the wfe instruction at a frequency represented as a power-of-2
142 divisor of the clock rate.
143 The main use of the event stream is wfe-based timeouts of userspace
144 locking implementations. It might also be useful for imposing timeout
145 on wfe to safeguard against any programming errors in case an expected
146 event is not generated.
147 This must be disabled for hardware validation purposes to detect any
148 hardware anomalies of missing events.
149
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100150config ARM_GLOBAL_TIMER
151 bool
152 select CLKSRC_OF if OF
153 help
154 This options enables support for the ARM global timer unit
155
Sudeep Holla0b7402d2015-05-18 16:29:40 +0100156config ARM_TIMER_SP804
157 bool "Support for Dual Timer SP804 module"
Guenter Roeck002af192015-06-23 20:49:05 -0700158 depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP
Sudeep Holla0b7402d2015-05-18 16:29:40 +0100159 select CLKSRC_MMIO
160 select CLKSRC_OF if OF
161
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100162config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
163 bool
164 depends on ARM_GLOBAL_TIMER
165 default y
166 help
167 Use ARM global timer clock source as sched_clock
168
Maxime Coquelin4958ebb2015-05-09 09:53:46 +0200169config ARMV7M_SYSTICK
170 bool
171 select CLKSRC_OF if OF
172 select CLKSRC_MMIO
173 help
174 This options enables support for the ARMv7M system timer unit
175
Maxime Ripardb052ff32014-09-02 18:12:35 +0200176config ATMEL_PIT
177 select CLKSRC_OF if OF
178 def_bool SOC_AT91SAM9 || SOC_SAMA5
179
Alexandre Bellonib53cdd02015-03-12 13:07:31 +0100180config ATMEL_ST
181 bool
182 select CLKSRC_OF
Alexandre Belloni7ab7ef72015-03-19 14:17:48 +0100183 select MFD_SYSCON
Alexandre Bellonib53cdd02015-03-12 13:07:31 +0100184
James Hogana2c5d4e2012-10-09 10:54:39 +0100185config CLKSRC_METAG_GENERIC
186 def_bool y if METAG
187 help
188 This option enables support for the Meta per-thread timers.
Thomas Abraham6938d75a2013-03-09 16:16:13 +0900189
190config CLKSRC_EXYNOS_MCT
191 def_bool y if ARCH_EXYNOS
Doug Anderson3252a642014-07-05 06:43:26 +0900192 depends on !ARM64
Thomas Abraham6938d75a2013-03-09 16:16:13 +0900193 help
194 Support for Multi Core Timer controller on Exynos SoCs.
Arnd Bergmann241a9872013-05-06 23:49:09 +0200195
Tomasz Figaf1189982013-04-20 23:22:13 +0200196config CLKSRC_SAMSUNG_PWM
Tomasz Figa77d84432013-04-23 17:46:23 +0200197 bool
Tomasz Figaf1189982013-04-20 23:22:13 +0200198 help
199 This is a new clocksource driver for the PWM timer found in
200 Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
201 for all devicetree enabled platforms. This driver will be
202 needed only on systems that do not have the Exynos MCT available.
Jingchang Luc1967242013-05-29 10:12:17 +0200203
Xiubo Li2529c3a2014-05-23 10:12:04 +0200204config FSL_FTM_TIMER
205 bool
206 help
207 Support for Freescale FlexTimer Module (FTM) timer.
208
Jingchang Luc1967242013-05-29 10:12:17 +0200209config VF_PIT_TIMER
210 bool
211 help
212 Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
Magnus Dammfd3f1272014-02-20 12:54:45 +0100213
214config SYS_SUPPORTS_SH_CMT
215 bool
216
Matthias Bruggerecb35302014-07-18 11:36:43 +0200217config MTK_TIMER
218 select CLKSRC_OF
219 select CLKSRC_MMIO
220 bool
221
Magnus Dammfd3f1272014-02-20 12:54:45 +0100222config SYS_SUPPORTS_SH_MTU2
223 bool
224
225config SYS_SUPPORTS_SH_TMU
226 bool
227
228config SYS_SUPPORTS_EM_STI
229 bool
230
231config SH_TIMER_CMT
232 bool "Renesas CMT timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100233 depends on GENERIC_CLOCKEVENTS
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100234 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100235 default SYS_SUPPORTS_SH_CMT
236 help
237 This enables build of a clocksource and clockevent driver for
238 the Compare Match Timer (CMT) hardware available in 16/32/48-bit
239 variants on a wide range of Mobile and Automotive SoCs from Renesas.
240
241config SH_TIMER_MTU2
242 bool "Renesas MTU2 timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100243 depends on GENERIC_CLOCKEVENTS
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100244 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100245 default SYS_SUPPORTS_SH_MTU2
246 help
247 This enables build of a clockevent driver for the Multi-Function
Kuninori Morimoto7e139182014-07-18 11:36:36 +0200248 Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
Magnus Dammfd3f1272014-02-20 12:54:45 +0100249 This hardware comes with 16 bit-timer registers.
250
251config SH_TIMER_TMU
252 bool "Renesas TMU timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100253 depends on GENERIC_CLOCKEVENTS
Richard Weinberger11bc26f2015-03-26 10:27:06 +0100254 depends on HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100255 default SYS_SUPPORTS_SH_TMU
256 help
257 This enables build of a clocksource and clockevent driver for
258 the 32-bit Timer Unit (TMU) hardware available on a wide range
259 SoCs from Renesas.
260
261config EM_TIMER_STI
262 bool "Renesas STI timer driver" if COMPILE_TEST
Chen Gang40c96312014-07-08 20:39:40 +0800263 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100264 default SYS_SUPPORTS_EM_STI
265 help
266 This enables build of a clocksource and clockevent driver for
267 the 48-bit System Timer (STI) hardware available on a SoCs
268 such as EMEV2 from former NEC Electronics.
Linus Torvaldsdfc25e42014-04-05 13:51:19 -0700269
Kumar Gala3f8e8ce2014-01-29 16:17:30 -0600270config CLKSRC_QCOM
271 bool
Pawel Moll220e2a82014-04-16 18:22:59 +0100272
273config CLKSRC_VERSATILE
274 bool "ARM Versatile (Express) reference platforms clock source"
Deng-Cheng Zhuff370152015-03-07 10:30:22 -0800275 depends on PLAT_VERSATILE && GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET
Pawel Moll220e2a82014-04-16 18:22:59 +0100276 select CLKSRC_OF
277 default y if MFD_VEXPRESS_SYSREG
278 help
279 This option enables clock source based on free running
280 counter available in the "System Registers" block of
281 ARM Versatile, RealView and Versatile Express reference
282 platforms.
Jean Delvare58394272014-06-16 11:48:45 +0200283
Andrew Brestickerfa5635a2014-10-20 12:03:58 -0700284config CLKSRC_MIPS_GIC
285 bool
286 depends on MIPS_GIC
Andrew Brestickere12aa822014-11-12 11:43:39 -0800287 select CLKSRC_OF
Andrew Brestickerfa5635a2014-10-20 12:03:58 -0700288
Dmitry Eremin-Solenikove074ff82014-12-21 16:07:09 +0100289config CLKSRC_PXA
290 def_bool y if ARCH_PXA || ARCH_SA1100
Antonio Borneo02760b12015-06-17 19:42:30 +0800291 select CLKSRC_OF if OF
Dmitry Eremin-Solenikove074ff82014-12-21 16:07:09 +0100292 help
293 This enables OST0 support available on PXA and SA-11x0
294 platforms.
Yoshinori Sato618b9022015-01-28 02:52:42 +0900295
296config H8300_TMR16
297 bool
298
299config H8300_TPU
300 bool
301
Shawn Guobea5af42015-05-15 15:41:00 +0800302config CLKSRC_IMX_GPT
303 bool "Clocksource using i.MX GPT" if COMPILE_TEST
304 depends on ARM && CLKDEV_LOOKUP
305 select CLKSRC_MMIO
306
Lee Jones70bef012015-05-26 13:39:43 +0100307config CLKSRC_ST_LPC
308 bool
309 depends on ARCH_STI
310 select CLKSRC_OF if OF
311 help
312 Enable this option to use the Low Power controller timer
313 as clocksource.
314
Jean Delvare58394272014-06-16 11:48:45 +0200315endmenu