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 ECONET_EN751221_TIMER 77 bool "EcoNet EN751221 High Precision Timer" if COMPILE_TEST 78 depends on HAS_IOMEM 79 select CLKSRC_MMIO 80 select TIMER_OF 81 help 82 Support for CPU timer found on EcoNet MIPS based SoCs. 83 84config FTTMR010_TIMER 85 bool "Faraday Technology timer driver" if COMPILE_TEST 86 depends on HAS_IOMEM 87 select CLKSRC_MMIO 88 select TIMER_OF 89 select MFD_SYSCON 90 help 91 Enables support for the Faraday Technology timer block 92 FTTMR010. 93 94config IXP4XX_TIMER 95 bool "Intel XScale IXP4xx timer driver" if COMPILE_TEST 96 depends on HAS_IOMEM 97 select CLKSRC_MMIO 98 select TIMER_OF 99 help 100 Enables support for the Intel XScale IXP4xx SoC timer. 101 102config ROCKCHIP_TIMER 103 bool "Rockchip timer driver" if COMPILE_TEST 104 depends on ARM || ARM64 105 select TIMER_OF 106 select CLKSRC_MMIO 107 help 108 Enables the support for the Rockchip timer driver. 109 110config ARMADA_370_XP_TIMER 111 bool "Armada 370 and XP timer driver" if COMPILE_TEST 112 depends on ARM 113 select TIMER_OF 114 select CLKSRC_MMIO 115 help 116 Enables the support for the Armada 370 and XP timer driver. 117 118config MESON6_TIMER 119 bool "Meson6 timer driver" if COMPILE_TEST 120 select CLKSRC_MMIO 121 help 122 Enables the support for the Meson6 timer driver. 123 124config ORION_TIMER 125 bool "Orion timer driver" if COMPILE_TEST 126 depends on ARM 127 select TIMER_OF 128 select CLKSRC_MMIO 129 help 130 Enables the support for the Orion timer driver 131 132config OWL_TIMER 133 bool "Owl timer driver" if COMPILE_TEST 134 select CLKSRC_MMIO 135 help 136 Enables the support for the Actions Semi Owl timer driver. 137 138config RDA_TIMER 139 bool "RDA timer driver" if COMPILE_TEST 140 select CLKSRC_MMIO 141 select TIMER_OF 142 help 143 Enables the support for the RDA Micro timer driver. 144 145config REALTEK_OTTO_TIMER 146 bool "Clocksource/timer for the Realtek Otto platform" if COMPILE_TEST 147 select TIMER_OF 148 help 149 This driver adds support for the timers found in the Realtek RTL83xx 150 and RTL93xx SoCs series. This includes chips such as RTL8380, RTL8381 151 and RTL832, as well as chips from the RTL839x series, such as RTL8390 152 RT8391, RTL8392, RTL8393 and RTL8396 and chips of the RTL930x series 153 such as RTL9301, RTL9302 or RTL9303. 154 155config SUN4I_TIMER 156 bool "Sun4i timer driver" if COMPILE_TEST 157 depends on HAS_IOMEM 158 select CLKSRC_MMIO 159 select TIMER_OF 160 help 161 Enables support for the Sun4i timer. 162 163config SUN5I_HSTIMER 164 bool "Sun5i timer driver" if COMPILE_TEST 165 select CLKSRC_MMIO 166 depends on COMMON_CLK 167 help 168 Enables support the Sun5i timer. 169 170config TEGRA_TIMER 171 bool "Tegra timer driver" if COMPILE_TEST 172 select CLKSRC_MMIO 173 select TIMER_OF 174 depends on ARCH_TEGRA || COMPILE_TEST 175 help 176 Enables support for the Tegra driver. 177 178config TEGRA186_TIMER 179 bool "NVIDIA Tegra186 timer driver" 180 depends on ARCH_TEGRA || COMPILE_TEST 181 depends on WATCHDOG && WATCHDOG_CORE 182 help 183 Enables support for the timers and watchdogs found on NVIDIA 184 Tegra186 and later SoCs. 185 186config VT8500_TIMER 187 bool "VT8500 timer driver" if COMPILE_TEST 188 depends on HAS_IOMEM 189 help 190 Enables support for the VT8500 driver. 191 192config NPCM7XX_TIMER 193 bool "NPCM7xx timer driver" if COMPILE_TEST 194 depends on HAS_IOMEM 195 select TIMER_OF 196 select CLKSRC_MMIO 197 help 198 Enable 24-bit TIMER0 and TIMER1 counters in the NPCM7xx architecture, 199 where TIMER0 serves as clockevent and TIMER1 serves as clocksource. 200 201config CADENCE_TTC_TIMER 202 bool "Cadence TTC timer driver" if COMPILE_TEST 203 depends on COMMON_CLK 204 help 205 Enables support for the Cadence TTC driver. 206 207config ASM9260_TIMER 208 bool "ASM9260 timer driver" if COMPILE_TEST 209 select CLKSRC_MMIO 210 select TIMER_OF 211 help 212 Enables support for the ASM9260 timer. 213 214config CLKSRC_NOMADIK_MTU 215 bool "Nomakdik clocksource driver" if COMPILE_TEST 216 depends on ARM 217 select CLKSRC_MMIO 218 help 219 Support for Multi Timer Unit. MTU provides access 220 to multiple interrupt generating programmable 221 32-bit free running decrementing counters. 222 223config CLKSRC_DBX500_PRCMU 224 bool "Clocksource PRCMU Timer" if COMPILE_TEST 225 depends on HAS_IOMEM 226 help 227 Use the always on PRCMU Timer as clocksource. 228 229config CLPS711X_TIMER 230 bool "Cirrus Logic timer driver" if COMPILE_TEST 231 select CLKSRC_MMIO 232 help 233 Enables support for the Cirrus Logic PS711 timer. 234 235config MXS_TIMER 236 bool "MXS timer driver" if COMPILE_TEST 237 select CLKSRC_MMIO 238 select STMP_DEVICE 239 help 240 Enables support for the MXS timer. 241 242config NSPIRE_TIMER 243 bool "NSpire timer driver" if COMPILE_TEST 244 select CLKSRC_MMIO 245 help 246 Enables support for the Nspire timer. 247 248config KEYSTONE_TIMER 249 bool "Keystone timer driver" if COMPILE_TEST 250 depends on ARM || ARM64 251 select CLKSRC_MMIO 252 help 253 Enables support for the Keystone timer. 254 255config INTEGRATOR_AP_TIMER 256 bool "Integrator-AP timer driver" if COMPILE_TEST 257 depends on OF 258 select CLKSRC_MMIO 259 help 260 Enables support for the Integrator-AP timer. 261 262config CLKSRC_LPC32XX 263 bool "Clocksource for LPC32XX" if COMPILE_TEST 264 depends on HAS_IOMEM 265 depends on ARM 266 select CLKSRC_MMIO 267 select TIMER_OF 268 help 269 Support for the LPC32XX clocksource. 270 271config CLKSRC_PISTACHIO 272 bool "Clocksource for Pistachio SoC" 273 depends on HAS_IOMEM 274 depends on MIPS || COMPILE_TEST 275 select TIMER_OF 276 help 277 Enables the clocksource for the Pistachio SoC. 278 279config CLKSRC_TI_32K 280 bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST 281 depends on GENERIC_SCHED_CLOCK 282 select TIMER_OF if OF 283 help 284 This option enables support for Texas Instruments 32.768 Hz clocksource 285 available on many OMAP-like platforms. 286 287config CLKSRC_STM32 288 bool "Clocksource for STM32 SoCs" if !ARCH_STM32 289 depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST) 290 select CLKSRC_MMIO 291 select TIMER_OF 292 293config CLKSRC_STM32_LP 294 bool "Low power clocksource for STM32 SoCs" 295 depends on MFD_STM32_LPTIMER || COMPILE_TEST 296 297config CLKSRC_MPS2 298 bool "Clocksource for MPS2 SoCs" if COMPILE_TEST 299 depends on GENERIC_SCHED_CLOCK 300 select CLKSRC_MMIO 301 select TIMER_OF 302 303config ARC_TIMERS 304 bool "Support for 32-bit TIMERn counters in ARC Cores" if COMPILE_TEST 305 depends on GENERIC_SCHED_CLOCK 306 select TIMER_OF 307 help 308 These are legacy 32-bit TIMER0 and TIMER1 counters found on all ARC cores 309 (ARC700 as well as ARC HS38). 310 TIMER0 serves as clockevent while TIMER1 provides clocksource. 311 312config ARC_TIMERS_64BIT 313 bool "Support for 64-bit counters in ARC HS38 cores" if COMPILE_TEST 314 depends on ARC_TIMERS 315 select TIMER_OF 316 help 317 This enables 2 different 64-bit timers: RTC (for UP) and GFRC (for SMP). 318 RTC is implemented inside the core, while GFRC sits outside the core in 319 ARConnect IP block. Driver automatically picks one of them for clocksource 320 as appropriate. 321 322config ARM_ARCH_TIMER 323 bool 324 select TIMER_OF if OF 325 select TIMER_ACPI if ACPI 326 327config ARM_ARCH_TIMER_EVTSTREAM 328 bool "Enable ARM architected timer event stream generation by default" 329 default y if ARM_ARCH_TIMER 330 depends on ARM_ARCH_TIMER 331 help 332 This option enables support by default for event stream generation 333 based on the ARM architected timer. It is used for waking up CPUs 334 executing the wfe instruction at a frequency represented as a 335 power-of-2 divisor of the clock rate. The behaviour can also be 336 overridden on the command line using the 337 clocksource.arm_arch_timer.evtstream parameter. 338 The main use of the event stream is wfe-based timeouts of userspace 339 locking implementations. It might also be useful for imposing timeout 340 on wfe to safeguard against any programming errors in case an expected 341 event is not generated. 342 This must be disabled for hardware validation purposes to detect any 343 hardware anomalies of missing events. 344 345config ARM_ARCH_TIMER_OOL_WORKAROUND 346 bool 347 348config FSL_ERRATUM_A008585 349 bool "Workaround for Freescale/NXP Erratum A-008585" 350 default y 351 depends on ARM_ARCH_TIMER && ARM64 352 select ARM_ARCH_TIMER_OOL_WORKAROUND 353 help 354 This option enables a workaround for Freescale/NXP Erratum 355 A-008585 ("ARM generic timer may contain an erroneous 356 value"). The workaround will only be active if the 357 fsl,erratum-a008585 property is found in the timer node. 358 359config HISILICON_ERRATUM_161010101 360 bool "Workaround for Hisilicon Erratum 161010101" 361 default y 362 select ARM_ARCH_TIMER_OOL_WORKAROUND 363 depends on ARM_ARCH_TIMER && ARM64 364 help 365 This option enables a workaround for Hisilicon Erratum 366 161010101. The workaround will be active if the hisilicon,erratum-161010101 367 property is found in the timer node. 368 369config ARM64_ERRATUM_858921 370 bool "Workaround for Cortex-A73 erratum 858921" 371 default y 372 select ARM_ARCH_TIMER_OOL_WORKAROUND 373 depends on ARM_ARCH_TIMER && ARM64 374 help 375 This option enables a workaround applicable to Cortex-A73 376 (all versions), whose counter may return incorrect values. 377 The workaround will be dynamically enabled when an affected 378 core is detected. 379 380config SUN50I_ERRATUM_UNKNOWN1 381 bool "Workaround for Allwinner A64 erratum UNKNOWN1" 382 default y 383 depends on ARM_ARCH_TIMER && ARM64 && ARCH_SUNXI 384 select ARM_ARCH_TIMER_OOL_WORKAROUND 385 help 386 This option enables a workaround for instability in the timer on 387 the Allwinner A64 SoC. The workaround will only be active if the 388 allwinner,erratum-unknown1 property is found in the timer node. 389 390config ARM_GLOBAL_TIMER 391 bool "Support for the ARM global timer" if COMPILE_TEST 392 select TIMER_OF if OF 393 depends on ARM 394 help 395 This option enables support for the ARM global timer unit. 396 397config ARM_GT_INITIAL_PRESCALER_VAL 398 int "ARM global timer initial prescaler value" 399 default 0 400 depends on ARM_GLOBAL_TIMER 401 help 402 When the ARM global timer initializes, its current rate is declared 403 to the kernel and maintained forever. Should its parent clock 404 change, the driver tries to fix the timer's internal prescaler. 405 On some machs (i.e. Zynq) the initial prescaler value thus poses 406 bounds about how much the parent clock is allowed to decrease or 407 increase wrt the initial clock value. 408 This affects CPU_FREQ max delta from the initial frequency. 409 Use 0 to use auto-detection in the driver. 410 411config ARM_TIMER_SP804 412 bool "Support for Dual Timer SP804 module" 413 depends on ARM || ARM64 || COMPILE_TEST 414 depends on GENERIC_SCHED_CLOCK && HAVE_CLK 415 select CLKSRC_MMIO 416 select TIMER_OF if OF 417 418config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK 419 bool 420 depends on ARM_GLOBAL_TIMER 421 default y 422 help 423 Use ARM global timer clock source as sched_clock. 424 425config ARMV7M_SYSTICK 426 bool "Support for the ARMv7M system time" if COMPILE_TEST 427 select TIMER_OF if OF 428 select CLKSRC_MMIO 429 help 430 This option enables support for the ARMv7M system timer unit. 431 432config ATMEL_PIT 433 bool "Atmel PIT support" if COMPILE_TEST 434 depends on HAS_IOMEM 435 select TIMER_OF if OF 436 help 437 Support for the Periodic Interval Timer found on Atmel SoCs. 438 439config ATMEL_ST 440 bool "Atmel ST timer support" if COMPILE_TEST 441 depends on HAS_IOMEM 442 select TIMER_OF 443 select MFD_SYSCON 444 help 445 Support for the Atmel ST timer. 446 447config ATMEL_TCB_CLKSRC 448 bool "Atmel TC Block timer driver" if COMPILE_TEST 449 depends on ARM && OF && HAS_IOMEM 450 select TIMER_OF 451 help 452 Support for Timer Counter Blocks on Atmel SoCs. 453 454config CLKSRC_EXYNOS_MCT 455 bool "Exynos multi core timer driver" if COMPILE_TEST 456 depends on ARM || ARM64 457 depends on ARCH_ARTPEC || ARCH_EXYNOS || COMPILE_TEST 458 help 459 Support for Multi Core Timer controller on Exynos SoCs. 460 461config CLKSRC_SAMSUNG_PWM 462 bool "PWM timer driver for Samsung S3C, S5P" if COMPILE_TEST 463 depends on HAS_IOMEM 464 depends on ARCH_EXYNOS || ARCH_S3C64XX || ARCH_S5PV210 || COMPILE_TEST 465 help 466 This is a new clocksource driver for the PWM timer found in 467 Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver 468 for all devicetree enabled platforms. This driver will be 469 needed only on systems that do not have the Exynos MCT available. 470 471config FSL_FTM_TIMER 472 bool "Freescale FlexTimer Module driver" if COMPILE_TEST 473 depends on HAS_IOMEM 474 select CLKSRC_MMIO 475 help 476 Support for Freescale FlexTimer Module (FTM) timer. 477 478config NXP_PIT_TIMER 479 bool "NXP Periodic Interrupt Timer" if COMPILE_TEST 480 select CLKSRC_MMIO 481 help 482 Support for Periodic Interrupt Timer on Freescale / NXP 483 SoCs. This periodic timer is found on the Vybrid Family and 484 the Automotive S32G2/3 platforms. It contains 4 channels 485 where two can be coupled to form a 64 bits channel. 486 487config SYS_SUPPORTS_SH_CMT 488 bool 489 490config MTK_TIMER 491 bool "Mediatek timer driver" if COMPILE_TEST 492 depends on HAS_IOMEM 493 select TIMER_OF 494 select CLKSRC_MMIO 495 help 496 Support for Mediatek timer driver. 497 498config MTK_CPUX_TIMER 499 bool "MediaTek CPUX timer driver" if COMPILE_TEST 500 depends on HAS_IOMEM 501 default ARCH_MEDIATEK 502 select TIMER_OF 503 select CLKSRC_MMIO 504 help 505 Support for MediaTek CPUXGPT timer driver. 506 507config SPRD_TIMER 508 bool "Spreadtrum timer driver" if EXPERT 509 depends on HAS_IOMEM 510 depends on (ARCH_SPRD || COMPILE_TEST) 511 default ARCH_SPRD 512 select TIMER_OF 513 help 514 Enables support for the Spreadtrum timer driver. 515 516config SYS_SUPPORTS_SH_MTU2 517 bool 518 519config SYS_SUPPORTS_SH_TMU 520 bool 521 522config SYS_SUPPORTS_EM_STI 523 bool 524 525config CLKSRC_JCORE_PIT 526 bool "J-Core PIT timer driver" if COMPILE_TEST 527 depends on OF 528 depends on HAS_IOMEM 529 select CLKSRC_MMIO 530 help 531 This enables build of clocksource and clockevent driver for 532 the integrated PIT in the J-Core synthesizable, open source SoC. 533 534config SH_TIMER_CMT 535 bool "Renesas CMT timer driver" if COMPILE_TEST 536 depends on HAS_IOMEM 537 default SYS_SUPPORTS_SH_CMT 538 help 539 This enables build of a clocksource and clockevent driver for 540 the Compare Match Timer (CMT) hardware available in 16/32/48-bit 541 variants on a wide range of Mobile and Automotive SoCs from Renesas. 542 543config SH_TIMER_MTU2 544 bool "Renesas MTU2 timer driver" if COMPILE_TEST 545 depends on HAS_IOMEM 546 default SYS_SUPPORTS_SH_MTU2 547 help 548 This enables build of a clockevent driver for the Multi-Function 549 Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas. 550 This hardware comes with 16-bit timer registers. 551 552config RENESAS_OSTM 553 bool "Renesas OSTM timer driver" 554 depends on ARCH_RENESAS || COMPILE_TEST 555 select CLKSRC_MMIO 556 select TIMER_OF 557 help 558 Enables the support for the Renesas OSTM. 559 560config SH_TIMER_TMU 561 bool "Renesas TMU timer driver" if COMPILE_TEST 562 depends on HAS_IOMEM 563 default SYS_SUPPORTS_SH_TMU 564 help 565 This enables build of a clocksource and clockevent driver for 566 the 32-bit Timer Unit (TMU) hardware available on a wide range 567 SoCs from Renesas. 568 569config EM_TIMER_STI 570 bool "Renesas STI timer driver" if COMPILE_TEST 571 depends on HAS_IOMEM 572 default SYS_SUPPORTS_EM_STI 573 help 574 This enables build of a clocksource and clockevent driver for 575 the 48-bit System Timer (STI) hardware available on a SoCs 576 such as EMEV2 from former NEC Electronics. 577 578config CLKSRC_QCOM 579 bool "Qualcomm MSM timer" if COMPILE_TEST 580 depends on ARM 581 select TIMER_OF 582 help 583 This enables the clocksource and the per CPU clockevent driver for the 584 Qualcomm SoCs. 585 586config CLKSRC_VERSATILE 587 bool "ARM Versatile (Express) reference platforms clock source" if COMPILE_TEST 588 depends on GENERIC_SCHED_CLOCK 589 select TIMER_OF 590 default y if (ARCH_VEXPRESS || ARCH_VERSATILE) && ARM 591 help 592 This option enables clock source based on free running 593 counter available in the "System Registers" block of 594 ARM Versatile and Versatile Express reference platforms. 595 596config CLKSRC_MIPS_GIC 597 bool 598 depends on MIPS_GIC 599 select CLOCKSOURCE_WATCHDOG 600 select TIMER_OF 601 602config CLKSRC_PXA 603 bool "Clocksource for PXA or SA-11x0 platform" if COMPILE_TEST 604 depends on HAS_IOMEM 605 select CLKSRC_MMIO 606 help 607 This enables OST0 support available on PXA and SA-11x0 608 platforms. 609 610config CLKSRC_IMX_GPT 611 bool "Clocksource using i.MX GPT" if COMPILE_TEST 612 depends on (ARM || ARM64) && HAVE_CLK 613 select CLKSRC_MMIO 614 615config CLKSRC_IMX_TPM 616 bool "Clocksource using i.MX TPM" if COMPILE_TEST 617 depends on (ARM || ARM64) && HAVE_CLK 618 select CLKSRC_MMIO 619 select TIMER_OF 620 help 621 Enable this option to use IMX Timer/PWM Module (TPM) timer as 622 clocksource. 623 624config TIMER_IMX_SYS_CTR 625 bool "i.MX system counter timer" if COMPILE_TEST 626 select TIMER_OF 627 help 628 Enable this option to use i.MX system counter timer as a 629 clockevent. 630 631config CLKSRC_LOONGSON1_PWM 632 bool "Clocksource using Loongson1 PWM" 633 depends on MACH_LOONGSON32 || COMPILE_TEST 634 select MIPS_EXTERNAL_TIMER 635 select TIMER_OF 636 help 637 Enable this option to use Loongson1 PWM timer as clocksource 638 instead of the performance counter. 639 640config CLKSRC_ST_LPC 641 bool "Low power clocksource found in the LPC" if COMPILE_TEST 642 select TIMER_OF if OF 643 depends on HAS_IOMEM 644 select CLKSRC_MMIO 645 help 646 Enable this option to use the Low Power controller timer 647 as clocksource. 648 649config GXP_TIMER 650 bool "GXP timer driver" if COMPILE_TEST && !ARCH_HPE 651 default ARCH_HPE 652 select TIMER_OF if OF 653 help 654 Provides a driver for the timer control found on HPE 655 GXP SOCs. This is required for all GXP SOCs. 656 657config RISCV_TIMER 658 bool "Timer for the RISC-V platform" if COMPILE_TEST 659 depends on GENERIC_SCHED_CLOCK && RISCV && RISCV_SBI 660 select TIMER_PROBE 661 select TIMER_OF 662 help 663 This enables the per-hart timer built into all RISC-V systems, which 664 is accessed via both the SBI and the rdcycle instruction. This is 665 required for all RISC-V systems. 666 667config CLINT_TIMER 668 bool "CLINT Timer for the RISC-V platform" if COMPILE_TEST 669 depends on GENERIC_SCHED_CLOCK && RISCV 670 select TIMER_PROBE 671 select TIMER_OF 672 help 673 This option enables the CLINT timer for RISC-V systems. The CLINT 674 driver is usually used for NoMMU RISC-V systems. 675 676config CSKY_MP_TIMER 677 bool "SMP Timer for the C-SKY platform" if COMPILE_TEST 678 depends on CSKY 679 select TIMER_OF 680 help 681 Say yes here to enable C-SKY SMP timer driver used for C-SKY SMP 682 system. 683 csky,mptimer is not only used in SMP system, it also could be used in 684 single core system. It's not a mmio reg and it uses mtcr/mfcr instruction. 685 686config GX6605S_TIMER 687 bool "Gx6605s SOC system timer driver" if COMPILE_TEST 688 depends on CSKY 689 select CLKSRC_MMIO 690 select TIMER_OF 691 help 692 This option enables support for gx6605s SOC's timer. 693 694config MILBEAUT_TIMER 695 bool "Milbeaut timer driver" if COMPILE_TEST 696 depends on OF 697 depends on ARM 698 select TIMER_OF 699 select CLKSRC_MMIO 700 help 701 Enables the support for Milbeaut timer driver. 702 703config MSC313E_TIMER 704 bool "MSC313E timer driver" if COMPILE_TEST 705 select TIMER_OF 706 select CLKSRC_MMIO 707 help 708 Enables support for the MStar MSC313E timer driver. 709 This provides access to multiple interrupt generating 710 programmable 32-bit free running incrementing counters. 711 712config INGENIC_TIMER 713 bool "Clocksource/timer using the TCU in Ingenic JZ SoCs" 714 default MACH_INGENIC 715 depends on MIPS || COMPILE_TEST 716 depends on COMMON_CLK 717 select MFD_SYSCON 718 select TIMER_OF 719 select IRQ_DOMAIN 720 help 721 Support for the timer/counter unit of the Ingenic JZ SoCs. 722 723config INGENIC_SYSOST 724 bool "Clocksource/timer using the SYSOST in Ingenic X SoCs" 725 depends on MIPS || COMPILE_TEST 726 depends on COMMON_CLK 727 select MFD_SYSCON 728 select TIMER_OF 729 select IRQ_DOMAIN 730 help 731 Support for the SYSOST of the Ingenic X Series SoCs. 732 733config INGENIC_OST 734 bool "Clocksource using the OST in Ingenic JZ SoCs" 735 depends on MIPS || COMPILE_TEST 736 depends on COMMON_CLK 737 select MFD_SYSCON 738 help 739 Support for the Operating System Timer of the Ingenic JZ SoCs. 740 741config MICROCHIP_PIT64B 742 bool "Microchip PIT64B support" 743 depends on OF && ARM 744 select TIMER_OF 745 help 746 This option enables Microchip PIT64B timer for Atmel 747 based system. It supports the oneshot, the periodic 748 modes and high resolution. It is used as a clocksource 749 and a clockevent. 750 751config GOLDFISH_TIMER 752 bool "Clocksource using goldfish-rtc" 753 depends on M68K || COMPILE_TEST 754 depends on RTC_DRV_GOLDFISH 755 help 756 Support for the timer/counter of goldfish-rtc 757 758config EP93XX_TIMER 759 bool "Cirrus Logic ep93xx timer driver" if COMPILE_TEST 760 depends on ARCH_EP93XX 761 depends on GENERIC_CLOCKEVENTS 762 depends on HAS_IOMEM 763 select CLKSRC_MMIO 764 select TIMER_OF 765 help 766 Enables support for the Cirrus Logic timer block 767 EP93XX. 768 769config RALINK_TIMER 770 bool "Ralink System Tick Counter" 771 depends on SOC_RT305X || SOC_MT7620 || COMPILE_TEST 772 select CLKSRC_MMIO 773 select TIMER_OF 774 help 775 Enables support for system tick counter present on 776 Ralink SoCs RT3352 and MT7620. 777 778config NXP_STM_TIMER 779 bool "NXP System Timer Module driver" 780 depends on ARCH_S32 || COMPILE_TEST 781 select CLKSRC_MMIO 782 help 783 Enables the support for NXP System Timer Module found in the 784 s32g NXP platform series. 785 786config RTK_SYSTIMER 787 bool "Realtek SYSTIMER support" 788 depends on ARM || ARM64 789 depends on ARCH_REALTEK || COMPILE_TEST 790 select TIMER_OF 791 help 792 This option enables the driver that registers the global 1 MHz hardware 793 counter as a clock event device on Realtek SoCs. Make sure to enable 794 this option only when building for a Realtek platform or for compilation 795 testing. 796 797endmenu 798