1# SPDX-License-Identifier: GPL-2.0-only 2menu "Clock Source drivers" 3 depends on GENERIC_CLOCKEVENTS 4 5config TIMER_OF 6 bool 7 select TIMER_PROBE 8 9config TIMER_ACPI 10 bool 11 select TIMER_PROBE 12 13config TIMER_PROBE 14 bool 15 16config CLKSRC_I8253 17 bool 18 19config CLKEVT_I8253 20 bool 21 22config I8253_LOCK 23 bool 24 25config OMAP_DM_SYSTIMER 26 bool 27 select TIMER_OF 28 29config CLKBLD_I8253 30 def_bool y if CLKSRC_I8253 || CLKEVT_I8253 || I8253_LOCK 31 32config CLKSRC_MMIO 33 bool 34 35config BCM2835_TIMER 36 bool "BCM2835 timer driver" if COMPILE_TEST 37 select CLKSRC_MMIO 38 help 39 Enables the support for the BCM2835 timer driver. 40 41config BCM_KONA_TIMER 42 bool "BCM mobile timer driver" if COMPILE_TEST 43 select CLKSRC_MMIO 44 help 45 Enables the support for the BCM Kona mobile timer driver. 46 47config 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 52config DIGICOLOR_TIMER 53 bool "Digicolor timer driver" if COMPILE_TEST 54 select CLKSRC_MMIO 55 depends on HAS_IOMEM 56 help 57 Enables the support for the digicolor timer driver. 58 59config OMAP_DM_TIMER 60 bool "OMAP dual-mode timer driver" if ARCH_K3 || COMPILE_TEST 61 default y if ARCH_K3 62 select TIMER_OF 63 help 64 Enables the support for the TI dual-mode timer driver. 65 66config DW_APB_TIMER 67 bool "DW APB timer driver" if COMPILE_TEST 68 help 69 Enables the support for the dw_apb timer. 70 71config DW_APB_TIMER_OF 72 bool 73 select DW_APB_TIMER 74 select TIMER_OF 75 76config FTTMR010_TIMER 77 bool "Faraday Technology timer driver" if COMPILE_TEST 78 depends on HAS_IOMEM 79 select CLKSRC_MMIO 80 select TIMER_OF 81 select MFD_SYSCON 82 help 83 Enables support for the Faraday Technology timer block 84 FTTMR010. 85 86config IXP4XX_TIMER 87 bool "Intel XScale IXP4xx timer driver" if COMPILE_TEST 88 depends on HAS_IOMEM 89 select CLKSRC_MMIO 90 select TIMER_OF 91 help 92 Enables support for the Intel XScale IXP4xx SoC timer. 93 94config ROCKCHIP_TIMER 95 bool "Rockchip timer driver" if COMPILE_TEST 96 depends on ARM || ARM64 97 select TIMER_OF 98 select CLKSRC_MMIO 99 help 100 Enables the support for the Rockchip timer driver. 101 102config ARMADA_370_XP_TIMER 103 bool "Armada 370 and XP timer driver" if COMPILE_TEST 104 depends on ARM 105 select TIMER_OF 106 select CLKSRC_MMIO 107 help 108 Enables the support for the Armada 370 and XP timer driver. 109 110config MESON6_TIMER 111 bool "Meson6 timer driver" if COMPILE_TEST 112 select CLKSRC_MMIO 113 help 114 Enables the support for the Meson6 timer driver. 115 116config ORION_TIMER 117 bool "Orion timer driver" if COMPILE_TEST 118 depends on ARM 119 select TIMER_OF 120 select CLKSRC_MMIO 121 help 122 Enables the support for the Orion timer driver 123 124config OWL_TIMER 125 bool "Owl timer driver" if COMPILE_TEST 126 select CLKSRC_MMIO 127 help 128 Enables the support for the Actions Semi Owl timer driver. 129 130config RDA_TIMER 131 bool "RDA timer driver" if COMPILE_TEST 132 select CLKSRC_MMIO 133 select TIMER_OF 134 help 135 Enables the support for the RDA Micro timer driver. 136 137config SUN4I_TIMER 138 bool "Sun4i timer driver" if COMPILE_TEST 139 depends on HAS_IOMEM 140 select CLKSRC_MMIO 141 select TIMER_OF 142 help 143 Enables support for the Sun4i timer. 144 145config SUN5I_HSTIMER 146 bool "Sun5i timer driver" if COMPILE_TEST 147 select CLKSRC_MMIO 148 depends on COMMON_CLK 149 help 150 Enables support the Sun5i timer. 151 152config TEGRA_TIMER 153 bool "Tegra timer driver" if COMPILE_TEST 154 select CLKSRC_MMIO 155 select TIMER_OF 156 depends on ARCH_TEGRA || COMPILE_TEST 157 help 158 Enables support for the Tegra driver. 159 160config TEGRA186_TIMER 161 bool "NVIDIA Tegra186 timer driver" 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 168config VT8500_TIMER 169 bool "VT8500 timer driver" if COMPILE_TEST 170 depends on HAS_IOMEM 171 help 172 Enables support for the VT8500 driver. 173 174config NPCM7XX_TIMER 175 bool "NPCM7xx timer driver" if COMPILE_TEST 176 depends on HAS_IOMEM 177 select TIMER_OF 178 select CLKSRC_MMIO 179 help 180 Enable 24-bit TIMER0 and TIMER1 counters in the NPCM7xx architecture, 181 where TIMER0 serves as clockevent and TIMER1 serves as clocksource. 182 183config CADENCE_TTC_TIMER 184 bool "Cadence TTC timer driver" if COMPILE_TEST 185 depends on COMMON_CLK 186 help 187 Enables support for the Cadence TTC driver. 188 189config ASM9260_TIMER 190 bool "ASM9260 timer driver" if COMPILE_TEST 191 select CLKSRC_MMIO 192 select TIMER_OF 193 help 194 Enables support for the ASM9260 timer. 195 196config CLKSRC_NOMADIK_MTU 197 bool "Nomakdik clocksource driver" if COMPILE_TEST 198 depends on ARM 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 205config CLKSRC_DBX500_PRCMU 206 bool "Clocksource PRCMU Timer" if COMPILE_TEST 207 depends on HAS_IOMEM 208 help 209 Use the always on PRCMU Timer as clocksource. 210 211config CLPS711X_TIMER 212 bool "Cirrus Logic timer driver" if COMPILE_TEST 213 select CLKSRC_MMIO 214 help 215 Enables support for the Cirrus Logic PS711 timer. 216 217config MXS_TIMER 218 bool "MXS timer driver" if COMPILE_TEST 219 select CLKSRC_MMIO 220 select STMP_DEVICE 221 help 222 Enables support for the MXS timer. 223 224config NSPIRE_TIMER 225 bool "NSpire timer driver" if COMPILE_TEST 226 select CLKSRC_MMIO 227 help 228 Enables support for the Nspire timer. 229 230config KEYSTONE_TIMER 231 bool "Keystone timer driver" if COMPILE_TEST 232 depends on ARM || ARM64 233 select CLKSRC_MMIO 234 help 235 Enables support for the Keystone timer. 236 237config INTEGRATOR_AP_TIMER 238 bool "Integrator-AP timer driver" if COMPILE_TEST 239 select CLKSRC_MMIO 240 help 241 Enables support for the Integrator-AP timer. 242 243config CLKSRC_LPC32XX 244 bool "Clocksource for LPC32XX" if COMPILE_TEST 245 depends on HAS_IOMEM 246 depends on ARM 247 select CLKSRC_MMIO 248 select TIMER_OF 249 help 250 Support for the LPC32XX clocksource. 251 252config CLKSRC_PISTACHIO 253 bool "Clocksource for Pistachio SoC" 254 depends on HAS_IOMEM 255 depends on MIPS || COMPILE_TEST 256 select TIMER_OF 257 help 258 Enables the clocksource for the Pistachio SoC. 259 260config CLKSRC_TI_32K 261 bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST 262 depends on GENERIC_SCHED_CLOCK 263 select TIMER_OF if OF 264 help 265 This option enables support for Texas Instruments 32.768 Hz clocksource 266 available on many OMAP-like platforms. 267 268config CLKSRC_STM32 269 bool "Clocksource for STM32 SoCs" if !ARCH_STM32 270 depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST) 271 select CLKSRC_MMIO 272 select TIMER_OF 273 274config CLKSRC_STM32_LP 275 bool "Low power clocksource for STM32 SoCs" 276 depends on MFD_STM32_LPTIMER || COMPILE_TEST 277 278config CLKSRC_MPS2 279 bool "Clocksource for MPS2 SoCs" if COMPILE_TEST 280 depends on GENERIC_SCHED_CLOCK 281 select CLKSRC_MMIO 282 select TIMER_OF 283 284config ARC_TIMERS 285 bool "Support for 32-bit TIMERn counters in ARC Cores" if COMPILE_TEST 286 depends on GENERIC_SCHED_CLOCK 287 select TIMER_OF 288 help 289 These are legacy 32-bit TIMER0 and TIMER1 counters found on all ARC cores 290 (ARC700 as well as ARC HS38). 291 TIMER0 serves as clockevent while TIMER1 provides clocksource. 292 293config ARC_TIMERS_64BIT 294 bool "Support for 64-bit counters in ARC HS38 cores" if COMPILE_TEST 295 depends on ARC_TIMERS 296 select TIMER_OF 297 help 298 This enables 2 different 64-bit timers: RTC (for UP) and GFRC (for SMP). 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 303config ARM_ARCH_TIMER 304 bool 305 select TIMER_OF if OF 306 select TIMER_ACPI if ACPI 307 308config ARM_ARCH_TIMER_EVTSTREAM 309 bool "Enable ARM architected timer event stream generation by default" 310 default y if ARM_ARCH_TIMER 311 depends on ARM_ARCH_TIMER 312 help 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. 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 326config ARM_ARCH_TIMER_OOL_WORKAROUND 327 bool 328 329config FSL_ERRATUM_A008585 330 bool "Workaround for Freescale/NXP Erratum A-008585" 331 default y 332 depends on ARM_ARCH_TIMER && ARM64 333 select ARM_ARCH_TIMER_OOL_WORKAROUND 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 340config 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 350config 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 361config 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 371config ARM_GLOBAL_TIMER 372 bool "Support for the ARM global timer" if COMPILE_TEST 373 select TIMER_OF if OF 374 depends on ARM 375 help 376 This option enables support for the ARM global timer unit. 377 378config ARM_GT_INITIAL_PRESCALER_VAL 379 int "ARM global timer initial prescaler value" 380 default 2 if ARCH_ZYNQ 381 default 1 382 depends on ARM_GLOBAL_TIMER 383 help 384 When the ARM global timer initializes, its current rate is declared 385 to the kernel and maintained forever. Should its parent clock 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 392config ARM_TIMER_SP804 393 bool "Support for Dual Timer SP804 module" if COMPILE_TEST 394 depends on GENERIC_SCHED_CLOCK && HAVE_CLK 395 select CLKSRC_MMIO 396 select TIMER_OF if OF 397 398config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK 399 bool 400 depends on ARM_GLOBAL_TIMER 401 default y 402 help 403 Use ARM global timer clock source as sched_clock. 404 405config ARMV7M_SYSTICK 406 bool "Support for the ARMv7M system time" if COMPILE_TEST 407 select TIMER_OF if OF 408 select CLKSRC_MMIO 409 help 410 This option enables support for the ARMv7M system timer unit. 411 412config ATMEL_PIT 413 bool "Atmel PIT support" if COMPILE_TEST 414 depends on HAS_IOMEM 415 select TIMER_OF if OF 416 help 417 Support for the Periodic Interval Timer found on Atmel SoCs. 418 419config ATMEL_ST 420 bool "Atmel ST timer support" if COMPILE_TEST 421 depends on HAS_IOMEM 422 select TIMER_OF 423 select MFD_SYSCON 424 help 425 Support for the Atmel ST timer. 426 427config ATMEL_TCB_CLKSRC 428 bool "Atmel TC Block timer driver" if COMPILE_TEST 429 depends on ARM && HAS_IOMEM 430 select TIMER_OF if OF 431 help 432 Support for Timer Counter Blocks on Atmel SoCs. 433 434config CLKSRC_EXYNOS_MCT 435 bool "Exynos multi core timer driver" if COMPILE_TEST 436 depends on ARM || ARM64 437 depends on ARCH_ARTPEC || ARCH_EXYNOS || COMPILE_TEST 438 help 439 Support for Multi Core Timer controller on Exynos SoCs. 440 441config CLKSRC_SAMSUNG_PWM 442 bool "PWM timer driver for Samsung S3C, S5P" if COMPILE_TEST 443 depends on HAS_IOMEM 444 depends on ARCH_EXYNOS || ARCH_S3C64XX || ARCH_S5PV210 || COMPILE_TEST 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. 450 451config FSL_FTM_TIMER 452 bool "Freescale FlexTimer Module driver" if COMPILE_TEST 453 depends on HAS_IOMEM 454 select CLKSRC_MMIO 455 help 456 Support for Freescale FlexTimer Module (FTM) timer. 457 458config VF_PIT_TIMER 459 bool 460 select CLKSRC_MMIO 461 help 462 Support for Periodic Interrupt Timer on Freescale Vybrid Family SoCs. 463 464config SYS_SUPPORTS_SH_CMT 465 bool 466 467config MTK_TIMER 468 bool "Mediatek timer driver" if COMPILE_TEST 469 depends on HAS_IOMEM 470 select TIMER_OF 471 select CLKSRC_MMIO 472 help 473 Support for Mediatek timer driver. 474 475config MTK_CPUX_TIMER 476 bool "MediaTek CPUX timer driver" if COMPILE_TEST 477 depends on HAS_IOMEM 478 default ARCH_MEDIATEK 479 select TIMER_OF 480 select CLKSRC_MMIO 481 help 482 Support for MediaTek CPUXGPT timer driver. 483 484config SPRD_TIMER 485 bool "Spreadtrum timer driver" if EXPERT 486 depends on HAS_IOMEM 487 depends on (ARCH_SPRD || COMPILE_TEST) 488 default ARCH_SPRD 489 select TIMER_OF 490 help 491 Enables support for the Spreadtrum timer driver. 492 493config SYS_SUPPORTS_SH_MTU2 494 bool 495 496config SYS_SUPPORTS_SH_TMU 497 bool 498 499config SYS_SUPPORTS_EM_STI 500 bool 501 502config CLKSRC_JCORE_PIT 503 bool "J-Core PIT timer driver" if COMPILE_TEST 504 depends on OF 505 depends on HAS_IOMEM 506 select CLKSRC_MMIO 507 help 508 This enables build of clocksource and clockevent driver for 509 the integrated PIT in the J-Core synthesizable, open source SoC. 510 511config SH_TIMER_CMT 512 bool "Renesas CMT timer driver" if COMPILE_TEST 513 depends on HAS_IOMEM 514 default SYS_SUPPORTS_SH_CMT 515 help 516 This enables build of a clocksource and clockevent driver for 517 the Compare Match Timer (CMT) hardware available in 16/32/48-bit 518 variants on a wide range of Mobile and Automotive SoCs from Renesas. 519 520config SH_TIMER_MTU2 521 bool "Renesas MTU2 timer driver" if COMPILE_TEST 522 depends on HAS_IOMEM 523 default SYS_SUPPORTS_SH_MTU2 524 help 525 This enables build of a clockevent driver for the Multi-Function 526 Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas. 527 This hardware comes with 16-bit timer registers. 528 529config RENESAS_OSTM 530 bool "Renesas OSTM timer driver" 531 depends on ARCH_RENESAS || COMPILE_TEST 532 select CLKSRC_MMIO 533 select TIMER_OF 534 help 535 Enables the support for the Renesas OSTM. 536 537config SH_TIMER_TMU 538 bool "Renesas TMU timer driver" if COMPILE_TEST 539 depends on HAS_IOMEM 540 default SYS_SUPPORTS_SH_TMU 541 help 542 This enables build of a clocksource and clockevent driver for 543 the 32-bit Timer Unit (TMU) hardware available on a wide range 544 SoCs from Renesas. 545 546config EM_TIMER_STI 547 bool "Renesas STI timer driver" if COMPILE_TEST 548 depends on HAS_IOMEM 549 default SYS_SUPPORTS_EM_STI 550 help 551 This enables build of a clocksource and clockevent driver for 552 the 48-bit System Timer (STI) hardware available on a SoCs 553 such as EMEV2 from former NEC Electronics. 554 555config CLKSRC_QCOM 556 bool "Qualcomm MSM timer" if COMPILE_TEST 557 depends on ARM 558 select TIMER_OF 559 help 560 This enables the clocksource and the per CPU clockevent driver for the 561 Qualcomm SoCs. 562 563config CLKSRC_VERSATILE 564 bool "ARM Versatile (Express) reference platforms clock source" if COMPILE_TEST 565 depends on GENERIC_SCHED_CLOCK 566 select TIMER_OF 567 default y if (ARCH_VEXPRESS || ARCH_VERSATILE) && ARM 568 help 569 This option enables clock source based on free running 570 counter available in the "System Registers" block of 571 ARM Versatile and Versatile Express reference platforms. 572 573config CLKSRC_MIPS_GIC 574 bool 575 depends on MIPS_GIC 576 select CLOCKSOURCE_WATCHDOG 577 select TIMER_OF 578 579config CLKSRC_PXA 580 bool "Clocksource for PXA or SA-11x0 platform" if COMPILE_TEST 581 depends on HAS_IOMEM 582 select CLKSRC_MMIO 583 help 584 This enables OST0 support available on PXA and SA-11x0 585 platforms. 586 587config CLKSRC_IMX_GPT 588 bool "Clocksource using i.MX GPT" if COMPILE_TEST 589 depends on (ARM || ARM64) && HAVE_CLK 590 select CLKSRC_MMIO 591 592config CLKSRC_IMX_TPM 593 bool "Clocksource using i.MX TPM" if COMPILE_TEST 594 depends on (ARM || ARM64) && HAVE_CLK 595 select CLKSRC_MMIO 596 select TIMER_OF 597 help 598 Enable this option to use IMX Timer/PWM Module (TPM) timer as 599 clocksource. 600 601config TIMER_IMX_SYS_CTR 602 bool "i.MX system counter timer" if COMPILE_TEST 603 select TIMER_OF 604 help 605 Enable this option to use i.MX system counter timer as a 606 clockevent. 607 608config CLKSRC_LOONGSON1_PWM 609 bool "Clocksource using Loongson1 PWM" 610 depends on MACH_LOONGSON32 || COMPILE_TEST 611 select MIPS_EXTERNAL_TIMER 612 select TIMER_OF 613 help 614 Enable this option to use Loongson1 PWM timer as clocksource 615 instead of the performance counter. 616 617config CLKSRC_ST_LPC 618 bool "Low power clocksource found in the LPC" if COMPILE_TEST 619 select TIMER_OF if OF 620 depends on HAS_IOMEM 621 select CLKSRC_MMIO 622 help 623 Enable this option to use the Low Power controller timer 624 as clocksource. 625 626config GXP_TIMER 627 bool "GXP timer driver" if COMPILE_TEST && !ARCH_HPE 628 default ARCH_HPE 629 select TIMER_OF if OF 630 help 631 Provides a driver for the timer control found on HPE 632 GXP SOCs. This is required for all GXP SOCs. 633 634config RISCV_TIMER 635 bool "Timer for the RISC-V platform" if COMPILE_TEST 636 depends on GENERIC_SCHED_CLOCK && RISCV && RISCV_SBI 637 select TIMER_PROBE 638 select TIMER_OF 639 help 640 This enables the per-hart timer built into all RISC-V systems, which 641 is accessed via both the SBI and the rdcycle instruction. This is 642 required for all RISC-V systems. 643 644config CLINT_TIMER 645 bool "CLINT Timer for the RISC-V platform" if COMPILE_TEST 646 depends on GENERIC_SCHED_CLOCK && RISCV 647 select TIMER_PROBE 648 select TIMER_OF 649 help 650 This option enables the CLINT timer for RISC-V systems. The CLINT 651 driver is usually used for NoMMU RISC-V systems. 652 653config CSKY_MP_TIMER 654 bool "SMP Timer for the C-SKY platform" if COMPILE_TEST 655 depends on CSKY 656 select TIMER_OF 657 help 658 Say yes here to enable C-SKY SMP timer driver used for C-SKY SMP 659 system. 660 csky,mptimer is not only used in SMP system, it also could be used in 661 single core system. It's not a mmio reg and it uses mtcr/mfcr instruction. 662 663config GX6605S_TIMER 664 bool "Gx6605s SOC system timer driver" if COMPILE_TEST 665 depends on CSKY 666 select CLKSRC_MMIO 667 select TIMER_OF 668 help 669 This option enables support for gx6605s SOC's timer. 670 671config MILBEAUT_TIMER 672 bool "Milbeaut timer driver" if COMPILE_TEST 673 depends on OF 674 depends on ARM 675 select TIMER_OF 676 select CLKSRC_MMIO 677 help 678 Enables the support for Milbeaut timer driver. 679 680config MSC313E_TIMER 681 bool "MSC313E timer driver" if COMPILE_TEST 682 select TIMER_OF 683 select CLKSRC_MMIO 684 help 685 Enables support for the MStar MSC313E timer driver. 686 This provides access to multiple interrupt generating 687 programmable 32-bit free running incrementing counters. 688 689config INGENIC_TIMER 690 bool "Clocksource/timer using the TCU in Ingenic JZ SoCs" 691 default MACH_INGENIC 692 depends on MIPS || COMPILE_TEST 693 depends on COMMON_CLK 694 select MFD_SYSCON 695 select TIMER_OF 696 select IRQ_DOMAIN 697 help 698 Support for the timer/counter unit of the Ingenic JZ SoCs. 699 700config INGENIC_SYSOST 701 bool "Clocksource/timer using the SYSOST in Ingenic X SoCs" 702 depends on MIPS || COMPILE_TEST 703 depends on COMMON_CLK 704 select MFD_SYSCON 705 select TIMER_OF 706 select IRQ_DOMAIN 707 help 708 Support for the SYSOST of the Ingenic X Series SoCs. 709 710config INGENIC_OST 711 bool "Clocksource using the OST in Ingenic JZ SoCs" 712 depends on MIPS || COMPILE_TEST 713 depends on COMMON_CLK 714 select MFD_SYSCON 715 help 716 Support for the Operating System Timer of the Ingenic JZ SoCs. 717 718config MICROCHIP_PIT64B 719 bool "Microchip PIT64B support" 720 depends on OF && ARM 721 select TIMER_OF 722 help 723 This option enables Microchip PIT64B timer for Atmel 724 based system. It supports the oneshot, the periodic 725 modes and high resolution. It is used as a clocksource 726 and a clockevent. 727 728config GOLDFISH_TIMER 729 bool "Clocksource using goldfish-rtc" 730 depends on M68K || COMPILE_TEST 731 depends on RTC_DRV_GOLDFISH 732 help 733 Support for the timer/counter of goldfish-rtc 734 735config EP93XX_TIMER 736 bool "Cirrus Logic ep93xx timer driver" if COMPILE_TEST 737 depends on ARCH_EP93XX 738 depends on GENERIC_CLOCKEVENTS 739 depends on HAS_IOMEM 740 select CLKSRC_MMIO 741 select TIMER_OF 742 help 743 Enables support for the Cirrus Logic timer block 744 EP93XX. 745 746endmenu 747