blob: 1c2506f68122567df92d6197990ee1b015d0984f [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
Linus Walleij694e33a2012-10-18 14:01:25 +020066config CLKSRC_NOMADIK_MTU
67 bool
68 depends on (ARCH_NOMADIK || ARCH_U8500)
69 select CLKSRC_MMIO
70 help
71 Support for Multi Timer Unit. MTU provides access
72 to multiple interrupt generating programmable
73 32-bit free running decrementing counters.
74
75config CLKSRC_NOMADIK_MTU_SCHED_CLOCK
76 bool
77 depends on CLKSRC_NOMADIK_MTU
78 help
79 Use the Multi Timer Unit as the sched_clock.
80
Mattias Wallin489bcce2011-05-27 10:30:12 +020081config CLKSRC_DBX500_PRCMU
82 bool "Clocksource PRCMU Timer"
Linus Walleij29746f42012-04-13 13:16:31 +020083 depends on UX500_SOC_DB8500
Mattias Wallin489bcce2011-05-27 10:30:12 +020084 default y
85 help
86 Use the always on PRCMU Timer as clocksource
87
88config CLKSRC_DBX500_PRCMU_SCHED_CLOCK
89 bool "Clocksource PRCMU Timer sched_clock"
Linus Walleij694e33a2012-10-18 14:01:25 +020090 depends on (CLKSRC_DBX500_PRCMU && !CLKSRC_NOMADIK_MTU_SCHED_CLOCK)
Mattias Wallin489bcce2011-05-27 10:30:12 +020091 default y
92 help
93 Use the always on PRCMU Timer as sched_clock
Marc Zyngier985c0672012-03-05 11:49:30 +000094
Uwe Kleine-König9c9b7812013-10-03 21:56:29 +020095config CLKSRC_EFM32
96 bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32
97 depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST)
Axel Lin09ca2752013-11-20 10:15:11 +080098 select CLKSRC_MMIO
Uwe Kleine-König9c9b7812013-10-03 21:56:29 +020099 default ARCH_EFM32
100 help
101 Support to use the timers of EFM32 SoCs as clock source and clock
102 event device.
103
Mark Rutland8a4da6e2012-11-12 14:33:44 +0000104config ARM_ARCH_TIMER
105 bool
Rob Herring0583fe42013-04-10 18:27:51 -0500106 select CLKSRC_OF if OF
James Hogana2c5d4e2012-10-09 10:54:39 +0100107
Will Deacon037f6372013-08-23 15:32:29 +0100108config ARM_ARCH_TIMER_EVTSTREAM
109 bool "Support for ARM architected timer event stream generation"
110 default y if ARM_ARCH_TIMER
Stephen Boyd77f7ce92013-11-20 12:02:03 -0800111 depends on ARM_ARCH_TIMER
Will Deacon037f6372013-08-23 15:32:29 +0100112 help
113 This option enables support for event stream generation based on
114 the ARM architected timer. It is used for waking up CPUs executing
115 the wfe instruction at a frequency represented as a power-of-2
116 divisor of the clock rate.
117 The main use of the event stream is wfe-based timeouts of userspace
118 locking implementations. It might also be useful for imposing timeout
119 on wfe to safeguard against any programming errors in case an expected
120 event is not generated.
121 This must be disabled for hardware validation purposes to detect any
122 hardware anomalies of missing events.
123
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100124config ARM_GLOBAL_TIMER
125 bool
126 select CLKSRC_OF if OF
127 help
128 This options enables support for the ARM global timer unit
129
130config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
131 bool
132 depends on ARM_GLOBAL_TIMER
133 default y
134 help
135 Use ARM global timer clock source as sched_clock
136
Maxime Ripardb052ff32014-09-02 18:12:35 +0200137config ATMEL_PIT
138 select CLKSRC_OF if OF
139 def_bool SOC_AT91SAM9 || SOC_SAMA5
140
James Hogana2c5d4e2012-10-09 10:54:39 +0100141config CLKSRC_METAG_GENERIC
142 def_bool y if METAG
143 help
144 This option enables support for the Meta per-thread timers.
Thomas Abraham6938d75a2013-03-09 16:16:13 +0900145
146config CLKSRC_EXYNOS_MCT
147 def_bool y if ARCH_EXYNOS
Doug Anderson3252a642014-07-05 06:43:26 +0900148 depends on !ARM64
Thomas Abraham6938d75a2013-03-09 16:16:13 +0900149 help
150 Support for Multi Core Timer controller on Exynos SoCs.
Arnd Bergmann241a9872013-05-06 23:49:09 +0200151
Tomasz Figaf1189982013-04-20 23:22:13 +0200152config CLKSRC_SAMSUNG_PWM
Tomasz Figa77d84432013-04-23 17:46:23 +0200153 bool
Tomasz Figaf1189982013-04-20 23:22:13 +0200154 help
155 This is a new clocksource driver for the PWM timer found in
156 Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
157 for all devicetree enabled platforms. This driver will be
158 needed only on systems that do not have the Exynos MCT available.
Jingchang Luc1967242013-05-29 10:12:17 +0200159
Xiubo Li2529c3a2014-05-23 10:12:04 +0200160config FSL_FTM_TIMER
161 bool
162 help
163 Support for Freescale FlexTimer Module (FTM) timer.
164
Jingchang Luc1967242013-05-29 10:12:17 +0200165config VF_PIT_TIMER
166 bool
167 help
168 Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
Magnus Dammfd3f1272014-02-20 12:54:45 +0100169
170config SYS_SUPPORTS_SH_CMT
171 bool
172
Matthias Bruggerecb35302014-07-18 11:36:43 +0200173config MTK_TIMER
174 select CLKSRC_OF
175 select CLKSRC_MMIO
176 bool
177
Magnus Dammfd3f1272014-02-20 12:54:45 +0100178config SYS_SUPPORTS_SH_MTU2
179 bool
180
181config SYS_SUPPORTS_SH_TMU
182 bool
183
184config SYS_SUPPORTS_EM_STI
185 bool
186
187config SH_TIMER_CMT
188 bool "Renesas CMT timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100189 depends on GENERIC_CLOCKEVENTS
Magnus Dammfd3f1272014-02-20 12:54:45 +0100190 default SYS_SUPPORTS_SH_CMT
191 help
192 This enables build of a clocksource and clockevent driver for
193 the Compare Match Timer (CMT) hardware available in 16/32/48-bit
194 variants on a wide range of Mobile and Automotive SoCs from Renesas.
195
196config SH_TIMER_MTU2
197 bool "Renesas MTU2 timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100198 depends on GENERIC_CLOCKEVENTS
Magnus Dammfd3f1272014-02-20 12:54:45 +0100199 default SYS_SUPPORTS_SH_MTU2
200 help
201 This enables build of a clockevent driver for the Multi-Function
Kuninori Morimoto7e139182014-07-18 11:36:36 +0200202 Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
Magnus Dammfd3f1272014-02-20 12:54:45 +0100203 This hardware comes with 16 bit-timer registers.
204
205config SH_TIMER_TMU
206 bool "Renesas TMU timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100207 depends on GENERIC_CLOCKEVENTS
Magnus Dammfd3f1272014-02-20 12:54:45 +0100208 default SYS_SUPPORTS_SH_TMU
209 help
210 This enables build of a clocksource and clockevent driver for
211 the 32-bit Timer Unit (TMU) hardware available on a wide range
212 SoCs from Renesas.
213
214config EM_TIMER_STI
215 bool "Renesas STI timer driver" if COMPILE_TEST
Chen Gang40c96312014-07-08 20:39:40 +0800216 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100217 default SYS_SUPPORTS_EM_STI
218 help
219 This enables build of a clocksource and clockevent driver for
220 the 48-bit System Timer (STI) hardware available on a SoCs
221 such as EMEV2 from former NEC Electronics.
Linus Torvaldsdfc25e42014-04-05 13:51:19 -0700222
Kumar Gala3f8e8ce2014-01-29 16:17:30 -0600223config CLKSRC_QCOM
224 bool
Pawel Moll220e2a82014-04-16 18:22:59 +0100225
226config CLKSRC_VERSATILE
227 bool "ARM Versatile (Express) reference platforms clock source"
Arnd Bergmannb33cdd22014-05-26 17:25:22 +0200228 depends on GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET
Pawel Moll220e2a82014-04-16 18:22:59 +0100229 select CLKSRC_OF
230 default y if MFD_VEXPRESS_SYSREG
231 help
232 This option enables clock source based on free running
233 counter available in the "System Registers" block of
234 ARM Versatile, RealView and Versatile Express reference
235 platforms.
Jean Delvare58394272014-06-16 11:48:45 +0200236
Andrew Brestickerfa5635a2014-10-20 12:03:58 -0700237config CLKSRC_MIPS_GIC
238 bool
239 depends on MIPS_GIC
Andrew Brestickere12aa822014-11-12 11:43:39 -0800240 select CLKSRC_OF
Andrew Brestickerfa5635a2014-10-20 12:03:58 -0700241
Dmitry Eremin-Solenikove074ff82014-12-21 16:07:09 +0100242config CLKSRC_PXA
243 def_bool y if ARCH_PXA || ARCH_SA1100
244 select CLKSRC_OF if USE_OF
245 help
246 This enables OST0 support available on PXA and SA-11x0
247 platforms.
248
Oleksij Rempel8d8bd7b2015-01-08 10:07:22 +0100249config ASM9260_TIMER
250 bool "Alphascale ASM9260 timer driver"
251 depends on GENERIC_CLOCKEVENTS
252 select CLKSRC_MMIO
253 select CLKSRC_OF
254 default y if MACH_ASM9260
255 help
256 This enables build of a clocksource and clockevent driver for
257 the 32-bit System Timer hardware available on a Alphascale ASM9260.
258
Jean Delvare58394272014-06-16 11:48:45 +0200259endmenu