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