Commit | Line | Data |
---|---|---|
ec8f24b7 | 1 | # SPDX-License-Identifier: GPL-2.0-only |
58394271 | 2 | menu "Clock Source drivers" |
2f8a26c1 | 3 | depends on GENERIC_CLOCKEVENTS |
58394271 | 4 | |
bb0eb050 | 5 | config TIMER_OF |
ae278a93 | 6 | bool |
bb0eb050 | 7 | select TIMER_PROBE |
aad83b15 | 8 | |
fa1bffab | 9 | config TIMER_ACPI |
aad83b15 | 10 | bool |
bb0eb050 | 11 | select TIMER_PROBE |
aad83b15 | 12 | |
bb0eb050 | 13 | config TIMER_PROBE |
aad83b15 | 14 | bool |
ae278a93 | 15 | |
89c0b8e2 RK |
16 | config CLKSRC_I8253 |
17 | bool | |
442c8176 | 18 | |
e6220bdc TG |
19 | config CLKEVT_I8253 |
20 | bool | |
21 | ||
15f304b6 RB |
22 | config I8253_LOCK |
23 | bool | |
24 | ||
ab0bbef3 | 25 | config OMAP_DM_SYSTIMER |
af04aa85 | 26 | bool |
eda9a4f7 | 27 | select TIMER_OF |
af04aa85 | 28 | |
15f304b6 | 29 | config CLKBLD_I8253 |
e6220bdc | 30 | def_bool y if CLKSRC_I8253 || CLKEVT_I8253 || I8253_LOCK |
15f304b6 | 31 | |
442c8176 RK |
32 | config CLKSRC_MMIO |
33 | bool | |
06c3df49 | 34 | |
2ea879a7 DL |
35 | config BCM2835_TIMER |
36 | bool "BCM2835 timer driver" if COMPILE_TEST | |
2ea879a7 DL |
37 | select CLKSRC_MMIO |
38 | help | |
39 | Enables the support for the BCM2835 timer driver. | |
40 | ||
1cad71e3 DL |
41 | config BCM_KONA_TIMER |
42 | bool "BCM mobile timer driver" if COMPILE_TEST | |
1cad71e3 DL |
43 | select CLKSRC_MMIO |
44 | help | |
45 | Enables the support for the BCM Kona mobile timer driver. | |
46 | ||
721154f9 BG |
47 | config DAVINCI_TIMER |
48 | bool "Texas Instruments DaVinci timer driver" if COMPILE_TEST | |
49 | help | |
50 | Enables the support for the TI DaVinci timer driver. | |
51 | ||
9b8bb773 | 52 | config DIGICOLOR_TIMER |
e6c1db13 | 53 | bool "Digicolor timer driver" if COMPILE_TEST |
2be6d9bf | 54 | select CLKSRC_MMIO |
d7023e62 | 55 | depends on HAS_IOMEM |
e6c1db13 DL |
56 | help |
57 | Enables the support for the digicolor timer driver. | |
9b8bb773 | 58 | |
ab0bbef3 | 59 | config OMAP_DM_TIMER |
775343f9 TL |
60 | bool "OMAP dual-mode timer driver" if ARCH_K3 || COMPILE_TEST |
61 | default y if ARCH_K3 | |
ab0bbef3 TL |
62 | select TIMER_OF |
63 | help | |
64 | Enables the support for the TI dual-mode timer driver. | |
65 | ||
06c3df49 | 66 | config DW_APB_TIMER |
5b097f6b DL |
67 | bool "DW APB timer driver" if COMPILE_TEST |
68 | help | |
69 | Enables the support for the dw_apb timer. | |
489bccea | 70 | |
cfda5901 DN |
71 | config DW_APB_TIMER_OF |
72 | bool | |
1b4eca0f | 73 | select DW_APB_TIMER |
bb0eb050 | 74 | select TIMER_OF |
cfda5901 | 75 | |
f5bf0ee4 LW |
76 | config FTTMR010_TIMER |
77 | bool "Faraday Technology timer driver" if COMPILE_TEST | |
4750535b LW |
78 | depends on HAS_IOMEM |
79 | select CLKSRC_MMIO | |
bb0eb050 | 80 | select TIMER_OF |
4750535b LW |
81 | select MFD_SYSCON |
82 | help | |
f5bf0ee4 LW |
83 | Enables support for the Faraday Technology timer block |
84 | FTTMR010. | |
4750535b | 85 | |
13e0b405 LW |
86 | config IXP4XX_TIMER |
87 | bool "Intel XScale IXP4xx timer driver" if COMPILE_TEST | |
88 | depends on HAS_IOMEM | |
89 | select CLKSRC_MMIO | |
41929c9f | 90 | select TIMER_OF |
13e0b405 LW |
91 | help |
92 | Enables support for the Intel XScale IXP4xx SoC timer. | |
93 | ||
468b8c4c | 94 | config ROCKCHIP_TIMER |
40ada2aa DL |
95 | bool "Rockchip timer driver" if COMPILE_TEST |
96 | depends on ARM || ARM64 | |
bb0eb050 | 97 | select TIMER_OF |
5e0a39d0 | 98 | select CLKSRC_MMIO |
40ada2aa | 99 | help |
06293463 | 100 | Enables the support for the Rockchip timer driver. |
468b8c4c | 101 | |
6fe9cbd1 | 102 | config ARMADA_370_XP_TIMER |
9519e80c DL |
103 | bool "Armada 370 and XP timer driver" if COMPILE_TEST |
104 | depends on ARM | |
bb0eb050 | 105 | select TIMER_OF |
2be6d9bf | 106 | select CLKSRC_MMIO |
9519e80c DL |
107 | help |
108 | Enables the support for the Armada 370 and XP timer driver. | |
6fe9cbd1 | 109 | |
e4a6b378 | 110 | config MESON6_TIMER |
0b7a7bb7 | 111 | bool "Meson6 timer driver" if COMPILE_TEST |
7b6b0a45 | 112 | select CLKSRC_MMIO |
0b7a7bb7 DL |
113 | help |
114 | Enables the support for the Meson6 timer driver. | |
e4a6b378 | 115 | |
0c1dcfd5 | 116 | config ORION_TIMER |
c9165549 DL |
117 | bool "Orion timer driver" if COMPILE_TEST |
118 | depends on ARM | |
bb0eb050 | 119 | select TIMER_OF |
0c1dcfd5 | 120 | select CLKSRC_MMIO |
c9165549 DL |
121 | help |
122 | Enables the support for the Orion timer driver | |
0c1dcfd5 | 123 | |
4be78a86 AF |
124 | config OWL_TIMER |
125 | bool "Owl timer driver" if COMPILE_TEST | |
4be78a86 AF |
126 | select CLKSRC_MMIO |
127 | help | |
128 | Enables the support for the Actions Semi Owl timer driver. | |
129 | ||
7f83a132 MS |
130 | config RDA_TIMER |
131 | bool "RDA timer driver" if COMPILE_TEST | |
7f83a132 MS |
132 | select CLKSRC_MMIO |
133 | select TIMER_OF | |
134 | help | |
135 | Enables the support for the RDA Micro timer driver. | |
136 | ||
119fd635 | 137 | config SUN4I_TIMER |
b4fcd48b | 138 | bool "Sun4i timer driver" if COMPILE_TEST |
d7023e62 | 139 | depends on HAS_IOMEM |
71c568c0 | 140 | select CLKSRC_MMIO |
239751ed | 141 | select TIMER_OF |
b4fcd48b DL |
142 | help |
143 | Enables support for the Sun4i timer. | |
b2ac5d75 | 144 | |
67905540 | 145 | config SUN5I_HSTIMER |
f0c5afb7 | 146 | bool "Sun5i timer driver" if COMPILE_TEST |
67905540 | 147 | select CLKSRC_MMIO |
f0c5afb7 DL |
148 | depends on COMMON_CLK |
149 | help | |
150 | Enables support the Sun5i timer. | |
67905540 | 151 | |
910978e7 | 152 | config TEGRA_TIMER |
adce4bc8 | 153 | bool "Tegra timer driver" if COMPILE_TEST |
2be6d9bf | 154 | select CLKSRC_MMIO |
b4822dc7 | 155 | select TIMER_OF |
acb4bb3f | 156 | depends on ARCH_TEGRA || COMPILE_TEST |
adce4bc8 DL |
157 | help |
158 | Enables support for the Tegra driver. | |
910978e7 | 159 | |
42cee19a | 160 | config TEGRA186_TIMER |
110a2535 | 161 | bool "NVIDIA Tegra186 timer driver" |
42cee19a TR |
162 | depends on ARCH_TEGRA || COMPILE_TEST |
163 | depends on WATCHDOG && WATCHDOG_CORE | |
164 | help | |
165 | Enables support for the timers and watchdogs found on NVIDIA | |
166 | Tegra186 and later SoCs. | |
167 | ||
ff7ec345 | 168 | config VT8500_TIMER |
b4bdf7ef | 169 | bool "VT8500 timer driver" if COMPILE_TEST |
d7023e62 | 170 | depends on HAS_IOMEM |
b4bdf7ef DL |
171 | help |
172 | Enables support for the VT8500 driver. | |
ff7ec345 | 173 | |
1c00289e TM |
174 | config NPCM7XX_TIMER |
175 | bool "NPCM7xx timer driver" if COMPILE_TEST | |
176 | depends on HAS_IOMEM | |
99834eea | 177 | select TIMER_OF |
1c00289e TM |
178 | select CLKSRC_MMIO |
179 | help | |
180 | Enable 24-bit TIMER0 and TIMER1 counters in the NPCM7xx architecture, | |
06293463 | 181 | where TIMER0 serves as clockevent and TIMER1 serves as clocksource. |
1c00289e | 182 | |
4f0f234f | 183 | config CADENCE_TTC_TIMER |
57f49318 DL |
184 | bool "Cadence TTC timer driver" if COMPILE_TEST |
185 | depends on COMMON_CLK | |
186 | help | |
06293463 | 187 | Enables support for the Cadence TTC driver. |
4f0f234f | 188 | |
a8b1b9fc | 189 | config ASM9260_TIMER |
b9755841 | 190 | bool "ASM9260 timer driver" if COMPILE_TEST |
a8b1b9fc | 191 | select CLKSRC_MMIO |
bb0eb050 | 192 | select TIMER_OF |
b9755841 DL |
193 | help |
194 | Enables support for the ASM9260 timer. | |
a8b1b9fc | 195 | |
694e33a7 | 196 | config CLKSRC_NOMADIK_MTU |
70329653 DL |
197 | bool "Nomakdik clocksource driver" if COMPILE_TEST |
198 | depends on ARM | |
694e33a7 LW |
199 | select CLKSRC_MMIO |
200 | help | |
201 | Support for Multi Timer Unit. MTU provides access | |
202 | to multiple interrupt generating programmable | |
203 | 32-bit free running decrementing counters. | |
204 | ||
489bccea | 205 | config CLKSRC_DBX500_PRCMU |
1becd6ed | 206 | bool "Clocksource PRCMU Timer" if COMPILE_TEST |
d7023e62 | 207 | depends on HAS_IOMEM |
489bccea | 208 | help |
06293463 | 209 | Use the always on PRCMU Timer as clocksource. |
489bccea | 210 | |
ecf0efdc | 211 | config CLPS711X_TIMER |
06293463 | 212 | bool "Cirrus Logic timer driver" if COMPILE_TEST |
ecf0efdc DL |
213 | select CLKSRC_MMIO |
214 | help | |
215 | Enables support for the Cirrus Logic PS711 timer. | |
216 | ||
d81c50a0 | 217 | config MXS_TIMER |
06293463 | 218 | bool "MXS timer driver" if COMPILE_TEST |
d81c50a0 DL |
219 | select CLKSRC_MMIO |
220 | select STMP_DEVICE | |
221 | help | |
06293463 | 222 | Enables support for the MXS timer. |
d81c50a0 | 223 | |
d683b9dc DL |
224 | config NSPIRE_TIMER |
225 | bool "NSpire timer driver" if COMPILE_TEST | |
d683b9dc DL |
226 | select CLKSRC_MMIO |
227 | help | |
228 | Enables support for the Nspire timer. | |
229 | ||
c12547a0 DL |
230 | config KEYSTONE_TIMER |
231 | bool "Keystone timer driver" if COMPILE_TEST | |
c12547a0 DL |
232 | depends on ARM || ARM64 |
233 | select CLKSRC_MMIO | |
234 | help | |
235 | Enables support for the Keystone timer. | |
236 | ||
568c0342 | 237 | config INTEGRATOR_AP_TIMER |
06293463 | 238 | bool "Integrator-AP timer driver" if COMPILE_TEST |
568c0342 DL |
239 | select CLKSRC_MMIO |
240 | help | |
06293463 | 241 | Enables support for the Integrator-AP timer. |
568c0342 | 242 | |
050dd322 | 243 | config CLKSRC_LPC32XX |
ddcf48c7 | 244 | bool "Clocksource for LPC32XX" if COMPILE_TEST |
2f8a26c1 | 245 | depends on HAS_IOMEM |
1b18fd20 | 246 | depends on ARM |
050dd322 | 247 | select CLKSRC_MMIO |
bb0eb050 | 248 | select TIMER_OF |
ddcf48c7 DL |
249 | help |
250 | Support for the LPC32XX clocksource. | |
050dd322 | 251 | |
84583983 | 252 | config CLKSRC_PISTACHIO |
1e4fd60b | 253 | bool "Clocksource for Pistachio SoC" |
2f8a26c1 | 254 | depends on HAS_IOMEM |
1e4fd60b | 255 | depends on MIPS || COMPILE_TEST |
bb0eb050 | 256 | select TIMER_OF |
dfdb1652 DL |
257 | help |
258 | Enables the clocksource for the Pistachio SoC. | |
84583983 | 259 | |
fe851f56 FB |
260 | config CLKSRC_TI_32K |
261 | bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST | |
dfedaf10 | 262 | depends on GENERIC_SCHED_CLOCK |
bb0eb050 | 263 | select TIMER_OF if OF |
fe851f56 FB |
264 | help |
265 | This option enables support for Texas Instruments 32.768 Hz clocksource | |
266 | available on many OMAP-like platforms. | |
267 | ||
e37e4593 | 268 | config CLKSRC_STM32 |
1cb6c215 PG |
269 | bool "Clocksource for STM32 SoCs" if !ARCH_STM32 |
270 | depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST) | |
e37e4593 | 271 | select CLKSRC_MMIO |
d04af490 | 272 | select TIMER_OF |
e37e4593 | 273 | |
48b41c5e BG |
274 | config CLKSRC_STM32_LP |
275 | bool "Low power clocksource for STM32 SoCs" | |
276 | depends on MFD_STM32_LPTIMER || COMPILE_TEST | |
277 | ||
0302637f VM |
278 | config CLKSRC_MPS2 |
279 | bool "Clocksource for MPS2 SoCs" if COMPILE_TEST | |
280 | depends on GENERIC_SCHED_CLOCK | |
281 | select CLKSRC_MMIO | |
bb0eb050 | 282 | select TIMER_OF |
0302637f | 283 | |
c4c9a040 VG |
284 | config ARC_TIMERS |
285 | bool "Support for 32-bit TIMERn counters in ARC Cores" if COMPILE_TEST | |
bf287607 | 286 | depends on GENERIC_SCHED_CLOCK |
bb0eb050 | 287 | select TIMER_OF |
c4c9a040 VG |
288 | help |
289 | These are legacy 32-bit TIMER0 and TIMER1 counters found on all ARC cores | |
290 | (ARC700 as well as ARC HS38). | |
06293463 | 291 | TIMER0 serves as clockevent while TIMER1 provides clocksource. |
c4c9a040 VG |
292 | |
293 | config ARC_TIMERS_64BIT | |
294 | bool "Support for 64-bit counters in ARC HS38 cores" if COMPILE_TEST | |
c4c9a040 | 295 | depends on ARC_TIMERS |
bb0eb050 | 296 | select TIMER_OF |
c4c9a040 | 297 | help |
06293463 | 298 | This enables 2 different 64-bit timers: RTC (for UP) and GFRC (for SMP). |
c4c9a040 VG |
299 | RTC is implemented inside the core, while GFRC sits outside the core in |
300 | ARConnect IP block. Driver automatically picks one of them for clocksource | |
301 | as appropriate. | |
302 | ||
8a4da6e3 MR |
303 | config ARM_ARCH_TIMER |
304 | bool | |
bb0eb050 | 305 | select TIMER_OF if OF |
fa1bffab | 306 | select TIMER_ACPI if ACPI |
a2c5d4ed | 307 | |
037f6377 | 308 | config ARM_ARCH_TIMER_EVTSTREAM |
46fd5c6b | 309 | bool "Enable ARM architected timer event stream generation by default" |
037f6377 | 310 | default y if ARM_ARCH_TIMER |
77f7ce9a | 311 | depends on ARM_ARCH_TIMER |
037f6377 | 312 | help |
46fd5c6b WD |
313 | This option enables support by default for event stream generation |
314 | based on the ARM architected timer. It is used for waking up CPUs | |
315 | executing the wfe instruction at a frequency represented as a | |
316 | power-of-2 divisor of the clock rate. The behaviour can also be | |
317 | overridden on the command line using the | |
318 | clocksource.arm_arch_timer.evtstream parameter. | |
037f6377 WD |
319 | The main use of the event stream is wfe-based timeouts of userspace |
320 | locking implementations. It might also be useful for imposing timeout | |
321 | on wfe to safeguard against any programming errors in case an expected | |
322 | event is not generated. | |
323 | This must be disabled for hardware validation purposes to detect any | |
324 | hardware anomalies of missing events. | |
325 | ||
16d10ef2 DT |
326 | config ARM_ARCH_TIMER_OOL_WORKAROUND |
327 | bool | |
328 | ||
f6dc1576 SW |
329 | config FSL_ERRATUM_A008585 |
330 | bool "Workaround for Freescale/NXP Erratum A-008585" | |
331 | default y | |
332 | depends on ARM_ARCH_TIMER && ARM64 | |
16d10ef2 | 333 | select ARM_ARCH_TIMER_OOL_WORKAROUND |
f6dc1576 SW |
334 | help |
335 | This option enables a workaround for Freescale/NXP Erratum | |
336 | A-008585 ("ARM generic timer may contain an erroneous | |
337 | value"). The workaround will only be active if the | |
338 | fsl,erratum-a008585 property is found in the timer node. | |
339 | ||
bb42ca47 DT |
340 | config HISILICON_ERRATUM_161010101 |
341 | bool "Workaround for Hisilicon Erratum 161010101" | |
342 | default y | |
343 | select ARM_ARCH_TIMER_OOL_WORKAROUND | |
344 | depends on ARM_ARCH_TIMER && ARM64 | |
345 | help | |
346 | This option enables a workaround for Hisilicon Erratum | |
347 | 161010101. The workaround will be active if the hisilicon,erratum-161010101 | |
348 | property is found in the timer node. | |
349 | ||
fa8d815f MZ |
350 | config ARM64_ERRATUM_858921 |
351 | bool "Workaround for Cortex-A73 erratum 858921" | |
352 | default y | |
353 | select ARM_ARCH_TIMER_OOL_WORKAROUND | |
354 | depends on ARM_ARCH_TIMER && ARM64 | |
355 | help | |
356 | This option enables a workaround applicable to Cortex-A73 | |
357 | (all versions), whose counter may return incorrect values. | |
358 | The workaround will be dynamically enabled when an affected | |
359 | core is detected. | |
360 | ||
c950ca8c SH |
361 | config SUN50I_ERRATUM_UNKNOWN1 |
362 | bool "Workaround for Allwinner A64 erratum UNKNOWN1" | |
363 | default y | |
364 | depends on ARM_ARCH_TIMER && ARM64 && ARCH_SUNXI | |
365 | select ARM_ARCH_TIMER_OOL_WORKAROUND | |
366 | help | |
367 | This option enables a workaround for instability in the timer on | |
368 | the Allwinner A64 SoC. The workaround will only be active if the | |
369 | allwinner,erratum-unknown1 property is found in the timer node. | |
370 | ||
c1b40e44 | 371 | config ARM_GLOBAL_TIMER |
67a87a43 | 372 | bool "Support for the ARM global timer" if COMPILE_TEST |
bb0eb050 | 373 | select TIMER_OF if OF |
67a87a43 | 374 | depends on ARM |
c1b40e44 | 375 | help |
06293463 | 376 | This option enables support for the ARM global timer unit. |
c1b40e44 | 377 | |
171b45a4 AM |
378 | config ARM_GT_INITIAL_PRESCALER_VAL |
379 | int "ARM global timer initial prescaler value" | |
68e2215e | 380 | default 2 if ARCH_ZYNQ |
171b45a4 AM |
381 | default 1 |
382 | depends on ARM_GLOBAL_TIMER | |
383 | help | |
384 | When the ARM global timer initializes, its current rate is declared | |
6f6f3e31 | 385 | to the kernel and maintained forever. Should its parent clock |
171b45a4 AM |
386 | change, the driver tries to fix the timer's internal prescaler. |
387 | On some machs (i.e. Zynq) the initial prescaler value thus poses | |
388 | bounds about how much the parent clock is allowed to decrease or | |
389 | increase wrt the initial clock value. | |
390 | This affects CPU_FREQ max delta from the initial frequency. | |
391 | ||
0b7402dc | 392 | config ARM_TIMER_SP804 |
dfc82faa | 393 | bool "Support for Dual Timer SP804 module" if COMPILE_TEST |
2f4574dd | 394 | depends on GENERIC_SCHED_CLOCK && HAVE_CLK |
0b7402dc | 395 | select CLKSRC_MMIO |
bb0eb050 | 396 | select TIMER_OF if OF |
0b7402dc | 397 | |
c1b40e44 SM |
398 | config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK |
399 | bool | |
400 | depends on ARM_GLOBAL_TIMER | |
401 | default y | |
402 | help | |
06293463 | 403 | Use ARM global timer clock source as sched_clock. |
c1b40e44 | 404 | |
4958ebb3 | 405 | config ARMV7M_SYSTICK |
e2146d86 | 406 | bool "Support for the ARMv7M system time" if COMPILE_TEST |
bb0eb050 | 407 | select TIMER_OF if OF |
4958ebb3 MC |
408 | select CLKSRC_MMIO |
409 | help | |
06293463 | 410 | This option enables support for the ARMv7M system timer unit. |
4958ebb3 | 411 | |
b052ff30 | 412 | config ATMEL_PIT |
2f982703 AB |
413 | bool "Atmel PIT support" if COMPILE_TEST |
414 | depends on HAS_IOMEM | |
bb0eb050 | 415 | select TIMER_OF if OF |
2f982703 AB |
416 | help |
417 | Support for the Periodic Interval Timer found on Atmel SoCs. | |
b052ff30 | 418 | |
b53cdd03 | 419 | config ATMEL_ST |
b988d3f0 | 420 | bool "Atmel ST timer support" if COMPILE_TEST |
bd2746f0 | 421 | depends on HAS_IOMEM |
bb0eb050 | 422 | select TIMER_OF |
7ab7ef74 | 423 | select MFD_SYSCON |
b988d3f0 DL |
424 | help |
425 | Support for the Atmel ST timer. | |
b53cdd03 | 426 | |
6275f494 AB |
427 | config ATMEL_TCB_CLKSRC |
428 | bool "Atmel TC Block timer driver" if COMPILE_TEST | |
1ce861ce | 429 | depends on ARM && HAS_IOMEM |
6275f494 AB |
430 | select TIMER_OF if OF |
431 | help | |
432 | Support for Timer Counter Blocks on Atmel SoCs. | |
433 | ||
6938d75a | 434 | config CLKSRC_EXYNOS_MCT |
39366ef4 | 435 | bool "Exynos multi core timer driver" if COMPILE_TEST |
f1a4c1f3 | 436 | depends on ARM || ARM64 |
55ccdab7 | 437 | depends on ARCH_ARTPEC || ARCH_EXYNOS || COMPILE_TEST |
6938d75a TA |
438 | help |
439 | Support for Multi Core Timer controller on Exynos SoCs. | |
241a9871 | 440 | |
f1189989 | 441 | config CLKSRC_SAMSUNG_PWM |
de37b0b5 | 442 | bool "PWM timer driver for Samsung S3C, S5P" if COMPILE_TEST |
d7023e62 | 443 | depends on HAS_IOMEM |
8602a80b | 444 | depends on ARCH_EXYNOS || ARCH_S3C24XX || ARCH_S3C64XX || ARCH_S5PV210 || COMPILE_TEST |
f1189989 TF |
445 | help |
446 | This is a new clocksource driver for the PWM timer found in | |
447 | Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver | |
448 | for all devicetree enabled platforms. This driver will be | |
449 | needed only on systems that do not have the Exynos MCT available. | |
c1967249 | 450 | |
2529c3a3 | 451 | config FSL_FTM_TIMER |
ef49336b | 452 | bool "Freescale FlexTimer Module driver" if COMPILE_TEST |
d7023e62 | 453 | depends on HAS_IOMEM |
03724ac3 | 454 | select CLKSRC_MMIO |
2529c3a3 XL |
455 | help |
456 | Support for Freescale FlexTimer Module (FTM) timer. | |
457 | ||
c1967249 JL |
458 | config VF_PIT_TIMER |
459 | bool | |
2be6d9bf | 460 | select CLKSRC_MMIO |
c1967249 | 461 | help |
06293463 | 462 | Support for Periodic Interrupt Timer on Freescale Vybrid Family SoCs. |
fd3f1270 | 463 | |
89355274 NA |
464 | config OXNAS_RPS_TIMER |
465 | bool "Oxford Semiconductor OXNAS RPS Timers driver" if COMPILE_TEST | |
bb0eb050 | 466 | select TIMER_OF |
89355274 NA |
467 | select CLKSRC_MMIO |
468 | help | |
469 | This enables support for the Oxford Semiconductor OXNAS RPS timers. | |
470 | ||
fd3f1270 | 471 | config SYS_SUPPORTS_SH_CMT |
9ca9fe69 | 472 | bool |
fd3f1270 | 473 | |
ecb3530d | 474 | config MTK_TIMER |
fbca9eab | 475 | bool "Mediatek timer driver" if COMPILE_TEST |
2f8a26c1 | 476 | depends on HAS_IOMEM |
bb0eb050 | 477 | select TIMER_OF |
ecb3530d | 478 | select CLKSRC_MMIO |
fbca9eab DL |
479 | help |
480 | Support for Mediatek timer driver. | |
ecb3530d | 481 | |
067bc914 | 482 | config SPRD_TIMER |
8a1ece26 | 483 | bool "Spreadtrum timer driver" if EXPERT |
067bc914 | 484 | depends on HAS_IOMEM |
8a1ece26 CZ |
485 | depends on (ARCH_SPRD || COMPILE_TEST) |
486 | default ARCH_SPRD | |
067bc914 BW |
487 | select TIMER_OF |
488 | help | |
489 | Enables support for the Spreadtrum timer driver. | |
490 | ||
fd3f1270 | 491 | config SYS_SUPPORTS_SH_MTU2 |
9ca9fe69 | 492 | bool |
fd3f1270 MD |
493 | |
494 | config SYS_SUPPORTS_SH_TMU | |
9ca9fe69 | 495 | bool |
fd3f1270 MD |
496 | |
497 | config SYS_SUPPORTS_EM_STI | |
9ca9fe69 | 498 | bool |
fd3f1270 | 499 | |
9995f4f1 RF |
500 | config CLKSRC_JCORE_PIT |
501 | bool "J-Core PIT timer driver" if COMPILE_TEST | |
502 | depends on OF | |
9995f4f1 RF |
503 | depends on HAS_IOMEM |
504 | select CLKSRC_MMIO | |
505 | help | |
506 | This enables build of clocksource and clockevent driver for | |
507 | the integrated PIT in the J-Core synthesizable, open source SoC. | |
508 | ||
fd3f1270 MD |
509 | config SH_TIMER_CMT |
510 | bool "Renesas CMT timer driver" if COMPILE_TEST | |
11bc26fe | 511 | depends on HAS_IOMEM |
fd3f1270 MD |
512 | default SYS_SUPPORTS_SH_CMT |
513 | help | |
514 | This enables build of a clocksource and clockevent driver for | |
515 | the Compare Match Timer (CMT) hardware available in 16/32/48-bit | |
516 | variants on a wide range of Mobile and Automotive SoCs from Renesas. | |
517 | ||
518 | config SH_TIMER_MTU2 | |
519 | bool "Renesas MTU2 timer driver" if COMPILE_TEST | |
11bc26fe | 520 | depends on HAS_IOMEM |
fd3f1270 MD |
521 | default SYS_SUPPORTS_SH_MTU2 |
522 | help | |
523 | This enables build of a clockevent driver for the Multi-Function | |
7e139187 | 524 | Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas. |
06293463 | 525 | This hardware comes with 16-bit timer registers. |
fd3f1270 | 526 | |
fb6002a8 | 527 | config RENESAS_OSTM |
a2807f65 BD |
528 | bool "Renesas OSTM timer driver" |
529 | depends on ARCH_RENESAS || COMPILE_TEST | |
fb6002a8 | 530 | select CLKSRC_MMIO |
22731423 | 531 | select TIMER_OF |
fb6002a8 CB |
532 | help |
533 | Enables the support for the Renesas OSTM. | |
534 | ||
fd3f1270 MD |
535 | config SH_TIMER_TMU |
536 | bool "Renesas TMU timer driver" if COMPILE_TEST | |
11bc26fe | 537 | depends on HAS_IOMEM |
fd3f1270 MD |
538 | default SYS_SUPPORTS_SH_TMU |
539 | help | |
540 | This enables build of a clocksource and clockevent driver for | |
541 | the 32-bit Timer Unit (TMU) hardware available on a wide range | |
542 | SoCs from Renesas. | |
543 | ||
544 | config EM_TIMER_STI | |
545 | bool "Renesas STI timer driver" if COMPILE_TEST | |
2f8a26c1 | 546 | depends on HAS_IOMEM |
fd3f1270 MD |
547 | default SYS_SUPPORTS_EM_STI |
548 | help | |
549 | This enables build of a clocksource and clockevent driver for | |
550 | the 48-bit System Timer (STI) hardware available on a SoCs | |
551 | such as EMEV2 from former NEC Electronics. | |
dfc25e45 | 552 | |
3f8e8cee | 553 | config CLKSRC_QCOM |
3dc0e9f6 DL |
554 | bool "Qualcomm MSM timer" if COMPILE_TEST |
555 | depends on ARM | |
bb0eb050 | 556 | select TIMER_OF |
3dc0e9f6 DL |
557 | help |
558 | This enables the clocksource and the per CPU clockevent driver for the | |
559 | Qualcomm SoCs. | |
220e2a8d PM |
560 | |
561 | config CLKSRC_VERSATILE | |
5cc87a4d | 562 | bool "ARM Versatile (Express) reference platforms clock source" if COMPILE_TEST |
77f6c0b8 | 563 | depends on GENERIC_SCHED_CLOCK |
bb0eb050 | 564 | select TIMER_OF |
bfed0ede | 565 | default y if (ARCH_VEXPRESS || ARCH_VERSATILE) && ARM |
220e2a8d PM |
566 | help |
567 | This option enables clock source based on free running | |
568 | counter available in the "System Registers" block of | |
bfed0ede | 569 | ARM Versatile and Versatile Express reference platforms. |
58394271 | 570 | |
fa5635a2 AB |
571 | config CLKSRC_MIPS_GIC |
572 | bool | |
573 | depends on MIPS_GIC | |
7d7de1a6 | 574 | select CLOCKSOURCE_WATCHDOG |
bb0eb050 | 575 | select TIMER_OF |
fa5635a2 | 576 | |
e074ff86 | 577 | config CLKSRC_PXA |
5ae996cb | 578 | bool "Clocksource for PXA or SA-11x0 platform" if COMPILE_TEST |
d7023e62 | 579 | depends on HAS_IOMEM |
5ae996cb | 580 | select CLKSRC_MMIO |
e074ff86 DES |
581 | help |
582 | This enables OST0 support available on PXA and SA-11x0 | |
583 | platforms. | |
618b902d | 584 | |
bea5af41 SG |
585 | config CLKSRC_IMX_GPT |
586 | bool "Clocksource using i.MX GPT" if COMPILE_TEST | |
2f4574dd | 587 | depends on (ARM || ARM64) && HAVE_CLK |
bea5af41 SG |
588 | select CLKSRC_MMIO |
589 | ||
059ab7b8 DA |
590 | config CLKSRC_IMX_TPM |
591 | bool "Clocksource using i.MX TPM" if COMPILE_TEST | |
2f4574dd | 592 | depends on (ARM || ARM64) && HAVE_CLK |
059ab7b8 | 593 | select CLKSRC_MMIO |
a6d0812a | 594 | select TIMER_OF |
059ab7b8 DA |
595 | help |
596 | Enable this option to use IMX Timer/PWM Module (TPM) timer as | |
597 | clocksource. | |
598 | ||
7117a44b BP |
599 | config TIMER_IMX_SYS_CTR |
600 | bool "i.MX system counter timer" if COMPILE_TEST | |
601 | select TIMER_OF | |
602 | help | |
603 | Enable this option to use i.MX system counter timer as a | |
604 | clockevent. | |
605 | ||
70bef01c | 606 | config CLKSRC_ST_LPC |
baacaf83 | 607 | bool "Low power clocksource found in the LPC" if COMPILE_TEST |
bb0eb050 | 608 | select TIMER_OF if OF |
863ee050 | 609 | depends on HAS_IOMEM |
2be6d9bf | 610 | select CLKSRC_MMIO |
70bef01c LJ |
611 | help |
612 | Enable this option to use the Low Power controller timer | |
613 | as clocksource. | |
614 | ||
5184f4bf NH |
615 | config GXP_TIMER |
616 | bool "GXP timer driver" if COMPILE_TEST && !ARCH_HPE | |
617 | default ARCH_HPE | |
618 | select TIMER_OF if OF | |
619 | help | |
620 | Provides a driver for the timer control found on HPE | |
621 | GXP SOCs. This is required for all GXP SOCs. | |
622 | ||
62b01943 | 623 | config RISCV_TIMER |
2bc3fc87 | 624 | bool "Timer for the RISC-V platform" if COMPILE_TEST |
ab310544 | 625 | depends on GENERIC_SCHED_CLOCK && RISCV && RISCV_SBI |
62b01943 PD |
626 | select TIMER_PROBE |
627 | select TIMER_OF | |
628 | help | |
629 | This enables the per-hart timer built into all RISC-V systems, which | |
630 | is accessed via both the SBI and the rdcycle instruction. This is | |
631 | required for all RISC-V systems. | |
632 | ||
2ac6795f AP |
633 | config CLINT_TIMER |
634 | bool "CLINT Timer for the RISC-V platform" if COMPILE_TEST | |
635 | depends on GENERIC_SCHED_CLOCK && RISCV | |
636 | select TIMER_PROBE | |
637 | select TIMER_OF | |
638 | help | |
639 | This option enables the CLINT timer for RISC-V systems. The CLINT | |
640 | driver is usually used for NoMMU RISC-V systems. | |
641 | ||
a7ad38b0 GR |
642 | config CSKY_MP_TIMER |
643 | bool "SMP Timer for the C-SKY platform" if COMPILE_TEST | |
644 | depends on CSKY | |
645 | select TIMER_OF | |
646 | help | |
647 | Say yes here to enable C-SKY SMP timer driver used for C-SKY SMP | |
648 | system. | |
06293463 RD |
649 | csky,mptimer is not only used in SMP system, it also could be used in |
650 | single core system. It's not a mmio reg and it uses mtcr/mfcr instruction. | |
a7ad38b0 | 651 | |
33745c3c GR |
652 | config GX6605S_TIMER |
653 | bool "Gx6605s SOC system timer driver" if COMPILE_TEST | |
654 | depends on CSKY | |
655 | select CLKSRC_MMIO | |
656 | select TIMER_OF | |
657 | help | |
658 | This option enables support for gx6605s SOC's timer. | |
659 | ||
b58f28f3 ST |
660 | config MILBEAUT_TIMER |
661 | bool "Milbeaut timer driver" if COMPILE_TEST | |
662 | depends on OF | |
663 | depends on ARM | |
664 | select TIMER_OF | |
665 | select CLKSRC_MMIO | |
666 | help | |
667 | Enables the support for Milbeaut timer driver. | |
668 | ||
5fc1f93f RP |
669 | config MSC313E_TIMER |
670 | bool "MSC313E timer driver" if COMPILE_TEST | |
671 | select TIMER_OF | |
672 | select CLKSRC_MMIO | |
673 | help | |
674 | Enables support for the MStar MSC313E timer driver. | |
675 | This provides access to multiple interrupt generating | |
676 | programmable 32-bit free running incrementing counters. | |
677 | ||
34e93683 PC |
678 | config INGENIC_TIMER |
679 | bool "Clocksource/timer using the TCU in Ingenic JZ SoCs" | |
680 | default MACH_INGENIC | |
681 | depends on MIPS || COMPILE_TEST | |
682 | depends on COMMON_CLK | |
683 | select MFD_SYSCON | |
684 | select TIMER_OF | |
685 | select IRQ_DOMAIN | |
686 | help | |
687 | Support for the timer/counter unit of the Ingenic JZ SoCs. | |
688 | ||
5ecafc12 ZY |
689 | config INGENIC_SYSOST |
690 | bool "Clocksource/timer using the SYSOST in Ingenic X SoCs" | |
691 | depends on MIPS || COMPILE_TEST | |
692 | depends on COMMON_CLK | |
693 | select MFD_SYSCON | |
694 | select TIMER_OF | |
695 | select IRQ_DOMAIN | |
696 | help | |
697 | Support for the SYSOST of the Ingenic X Series SoCs. | |
698 | ||
ca7b72b5 | 699 | config INGENIC_OST |
5ecafc12 | 700 | bool "Clocksource using the OST in Ingenic JZ SoCs" |
ca7b72b5 MH |
701 | depends on MIPS || COMPILE_TEST |
702 | depends on COMMON_CLK | |
703 | select MFD_SYSCON | |
704 | help | |
705 | Support for the Operating System Timer of the Ingenic JZ SoCs. | |
706 | ||
625022a5 CB |
707 | config MICROCHIP_PIT64B |
708 | bool "Microchip PIT64B support" | |
709 | depends on OF || COMPILE_TEST | |
25259f7a | 710 | select TIMER_OF |
625022a5 CB |
711 | help |
712 | This option enables Microchip PIT64B timer for Atmel | |
713 | based system. It supports the oneshot, the periodic | |
714 | modes and high resolution. It is used as a clocksource | |
715 | and a clockevent. | |
716 | ||
c92e7ef1 LV |
717 | config GOLDFISH_TIMER |
718 | bool "Clocksource using goldfish-rtc" | |
719 | depends on M68K || COMPILE_TEST | |
720 | depends on RTC_DRV_GOLDFISH | |
721 | help | |
722 | Support for the timer/counter of goldfish-rtc | |
723 | ||
58394271 | 724 | endmenu |