0001 # SPDX-License-Identifier: GPL-2.0-only
0002 menu "Clock Source drivers"
0003 depends on GENERIC_CLOCKEVENTS
0004
0005 config TIMER_OF
0006 bool
0007 select TIMER_PROBE
0008
0009 config TIMER_ACPI
0010 bool
0011 select TIMER_PROBE
0012
0013 config TIMER_PROBE
0014 bool
0015
0016 config CLKSRC_I8253
0017 bool
0018
0019 config CLKEVT_I8253
0020 bool
0021
0022 config I8253_LOCK
0023 bool
0024
0025 config OMAP_DM_SYSTIMER
0026 bool
0027 select TIMER_OF
0028
0029 config CLKBLD_I8253
0030 def_bool y if CLKSRC_I8253 || CLKEVT_I8253 || I8253_LOCK
0031
0032 config CLKSRC_MMIO
0033 bool
0034
0035 config BCM2835_TIMER
0036 bool "BCM2835 timer driver" if COMPILE_TEST
0037 select CLKSRC_MMIO
0038 help
0039 Enables the support for the BCM2835 timer driver.
0040
0041 config BCM_KONA_TIMER
0042 bool "BCM mobile timer driver" if COMPILE_TEST
0043 select CLKSRC_MMIO
0044 help
0045 Enables the support for the BCM Kona mobile timer driver.
0046
0047 config DAVINCI_TIMER
0048 bool "Texas Instruments DaVinci timer driver" if COMPILE_TEST
0049 help
0050 Enables the support for the TI DaVinci timer driver.
0051
0052 config DIGICOLOR_TIMER
0053 bool "Digicolor timer driver" if COMPILE_TEST
0054 select CLKSRC_MMIO
0055 depends on HAS_IOMEM
0056 help
0057 Enables the support for the digicolor timer driver.
0058
0059 config OMAP_DM_TIMER
0060 bool "OMAP dual-mode timer driver" if ARCH_K3 || COMPILE_TEST
0061 default y if ARCH_K3
0062 select TIMER_OF
0063 help
0064 Enables the support for the TI dual-mode timer driver.
0065
0066 config DW_APB_TIMER
0067 bool "DW APB timer driver" if COMPILE_TEST
0068 help
0069 Enables the support for the dw_apb timer.
0070
0071 config DW_APB_TIMER_OF
0072 bool
0073 select DW_APB_TIMER
0074 select TIMER_OF
0075
0076 config FTTMR010_TIMER
0077 bool "Faraday Technology timer driver" if COMPILE_TEST
0078 depends on HAS_IOMEM
0079 select CLKSRC_MMIO
0080 select TIMER_OF
0081 select MFD_SYSCON
0082 help
0083 Enables support for the Faraday Technology timer block
0084 FTTMR010.
0085
0086 config IXP4XX_TIMER
0087 bool "Intel XScale IXP4xx timer driver" if COMPILE_TEST
0088 depends on HAS_IOMEM
0089 select CLKSRC_MMIO
0090 select TIMER_OF
0091 help
0092 Enables support for the Intel XScale IXP4xx SoC timer.
0093
0094 config ROCKCHIP_TIMER
0095 bool "Rockchip timer driver" if COMPILE_TEST
0096 depends on ARM || ARM64
0097 select TIMER_OF
0098 select CLKSRC_MMIO
0099 help
0100 Enables the support for the Rockchip timer driver.
0101
0102 config ARMADA_370_XP_TIMER
0103 bool "Armada 370 and XP timer driver" if COMPILE_TEST
0104 depends on ARM
0105 select TIMER_OF
0106 select CLKSRC_MMIO
0107 help
0108 Enables the support for the Armada 370 and XP timer driver.
0109
0110 config MESON6_TIMER
0111 bool "Meson6 timer driver" if COMPILE_TEST
0112 select CLKSRC_MMIO
0113 help
0114 Enables the support for the Meson6 timer driver.
0115
0116 config ORION_TIMER
0117 bool "Orion timer driver" if COMPILE_TEST
0118 depends on ARM
0119 select TIMER_OF
0120 select CLKSRC_MMIO
0121 help
0122 Enables the support for the Orion timer driver
0123
0124 config OWL_TIMER
0125 bool "Owl timer driver" if COMPILE_TEST
0126 select CLKSRC_MMIO
0127 help
0128 Enables the support for the Actions Semi Owl timer driver.
0129
0130 config RDA_TIMER
0131 bool "RDA timer driver" if COMPILE_TEST
0132 select CLKSRC_MMIO
0133 select TIMER_OF
0134 help
0135 Enables the support for the RDA Micro timer driver.
0136
0137 config SUN4I_TIMER
0138 bool "Sun4i timer driver" if COMPILE_TEST
0139 depends on HAS_IOMEM
0140 select CLKSRC_MMIO
0141 select TIMER_OF
0142 help
0143 Enables support for the Sun4i timer.
0144
0145 config SUN5I_HSTIMER
0146 bool "Sun5i timer driver" if COMPILE_TEST
0147 select CLKSRC_MMIO
0148 depends on COMMON_CLK
0149 help
0150 Enables support the Sun5i timer.
0151
0152 config TEGRA_TIMER
0153 bool "Tegra timer driver" if COMPILE_TEST
0154 select CLKSRC_MMIO
0155 select TIMER_OF
0156 depends on ARCH_TEGRA || COMPILE_TEST
0157 help
0158 Enables support for the Tegra driver.
0159
0160 config TEGRA186_TIMER
0161 bool "NVIDIA Tegra186 timer driver"
0162 depends on ARCH_TEGRA || COMPILE_TEST
0163 depends on WATCHDOG && WATCHDOG_CORE
0164 help
0165 Enables support for the timers and watchdogs found on NVIDIA
0166 Tegra186 and later SoCs.
0167
0168 config VT8500_TIMER
0169 bool "VT8500 timer driver" if COMPILE_TEST
0170 depends on HAS_IOMEM
0171 help
0172 Enables support for the VT8500 driver.
0173
0174 config NPCM7XX_TIMER
0175 bool "NPCM7xx timer driver" if COMPILE_TEST
0176 depends on HAS_IOMEM
0177 select TIMER_OF
0178 select CLKSRC_MMIO
0179 help
0180 Enable 24-bit TIMER0 and TIMER1 counters in the NPCM7xx architecture,
0181 where TIMER0 serves as clockevent and TIMER1 serves as clocksource.
0182
0183 config CADENCE_TTC_TIMER
0184 bool "Cadence TTC timer driver" if COMPILE_TEST
0185 depends on COMMON_CLK
0186 help
0187 Enables support for the Cadence TTC driver.
0188
0189 config ASM9260_TIMER
0190 bool "ASM9260 timer driver" if COMPILE_TEST
0191 select CLKSRC_MMIO
0192 select TIMER_OF
0193 help
0194 Enables support for the ASM9260 timer.
0195
0196 config CLKSRC_NOMADIK_MTU
0197 bool "Nomakdik clocksource driver" if COMPILE_TEST
0198 depends on ARM
0199 select CLKSRC_MMIO
0200 help
0201 Support for Multi Timer Unit. MTU provides access
0202 to multiple interrupt generating programmable
0203 32-bit free running decrementing counters.
0204
0205 config CLKSRC_DBX500_PRCMU
0206 bool "Clocksource PRCMU Timer" if COMPILE_TEST
0207 depends on HAS_IOMEM
0208 help
0209 Use the always on PRCMU Timer as clocksource.
0210
0211 config CLPS711X_TIMER
0212 bool "Cirrus Logic timer driver" if COMPILE_TEST
0213 select CLKSRC_MMIO
0214 help
0215 Enables support for the Cirrus Logic PS711 timer.
0216
0217 config MXS_TIMER
0218 bool "MXS timer driver" if COMPILE_TEST
0219 select CLKSRC_MMIO
0220 select STMP_DEVICE
0221 help
0222 Enables support for the MXS timer.
0223
0224 config NSPIRE_TIMER
0225 bool "NSpire timer driver" if COMPILE_TEST
0226 select CLKSRC_MMIO
0227 help
0228 Enables support for the Nspire timer.
0229
0230 config KEYSTONE_TIMER
0231 bool "Keystone timer driver" if COMPILE_TEST
0232 depends on ARM || ARM64
0233 select CLKSRC_MMIO
0234 help
0235 Enables support for the Keystone timer.
0236
0237 config INTEGRATOR_AP_TIMER
0238 bool "Integrator-AP timer driver" if COMPILE_TEST
0239 select CLKSRC_MMIO
0240 help
0241 Enables support for the Integrator-AP timer.
0242
0243 config CLKSRC_LPC32XX
0244 bool "Clocksource for LPC32XX" if COMPILE_TEST
0245 depends on HAS_IOMEM
0246 depends on ARM
0247 select CLKSRC_MMIO
0248 select TIMER_OF
0249 help
0250 Support for the LPC32XX clocksource.
0251
0252 config CLKSRC_PISTACHIO
0253 bool "Clocksource for Pistachio SoC"
0254 depends on HAS_IOMEM
0255 depends on MIPS || COMPILE_TEST
0256 select TIMER_OF
0257 help
0258 Enables the clocksource for the Pistachio SoC.
0259
0260 config CLKSRC_TI_32K
0261 bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST
0262 depends on GENERIC_SCHED_CLOCK
0263 select TIMER_OF if OF
0264 help
0265 This option enables support for Texas Instruments 32.768 Hz clocksource
0266 available on many OMAP-like platforms.
0267
0268 config CLKSRC_STM32
0269 bool "Clocksource for STM32 SoCs" if !ARCH_STM32
0270 depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST)
0271 select CLKSRC_MMIO
0272 select TIMER_OF
0273
0274 config CLKSRC_STM32_LP
0275 bool "Low power clocksource for STM32 SoCs"
0276 depends on MFD_STM32_LPTIMER || COMPILE_TEST
0277
0278 config CLKSRC_MPS2
0279 bool "Clocksource for MPS2 SoCs" if COMPILE_TEST
0280 depends on GENERIC_SCHED_CLOCK
0281 select CLKSRC_MMIO
0282 select TIMER_OF
0283
0284 config ARC_TIMERS
0285 bool "Support for 32-bit TIMERn counters in ARC Cores" if COMPILE_TEST
0286 depends on GENERIC_SCHED_CLOCK
0287 select TIMER_OF
0288 help
0289 These are legacy 32-bit TIMER0 and TIMER1 counters found on all ARC cores
0290 (ARC700 as well as ARC HS38).
0291 TIMER0 serves as clockevent while TIMER1 provides clocksource.
0292
0293 config ARC_TIMERS_64BIT
0294 bool "Support for 64-bit counters in ARC HS38 cores" if COMPILE_TEST
0295 depends on ARC_TIMERS
0296 select TIMER_OF
0297 help
0298 This enables 2 different 64-bit timers: RTC (for UP) and GFRC (for SMP).
0299 RTC is implemented inside the core, while GFRC sits outside the core in
0300 ARConnect IP block. Driver automatically picks one of them for clocksource
0301 as appropriate.
0302
0303 config ARM_ARCH_TIMER
0304 bool
0305 select TIMER_OF if OF
0306 select TIMER_ACPI if ACPI
0307
0308 config ARM_ARCH_TIMER_EVTSTREAM
0309 bool "Enable ARM architected timer event stream generation by default"
0310 default y if ARM_ARCH_TIMER
0311 depends on ARM_ARCH_TIMER
0312 help
0313 This option enables support by default for event stream generation
0314 based on the ARM architected timer. It is used for waking up CPUs
0315 executing the wfe instruction at a frequency represented as a
0316 power-of-2 divisor of the clock rate. The behaviour can also be
0317 overridden on the command line using the
0318 clocksource.arm_arch_timer.evtstream parameter.
0319 The main use of the event stream is wfe-based timeouts of userspace
0320 locking implementations. It might also be useful for imposing timeout
0321 on wfe to safeguard against any programming errors in case an expected
0322 event is not generated.
0323 This must be disabled for hardware validation purposes to detect any
0324 hardware anomalies of missing events.
0325
0326 config ARM_ARCH_TIMER_OOL_WORKAROUND
0327 bool
0328
0329 config FSL_ERRATUM_A008585
0330 bool "Workaround for Freescale/NXP Erratum A-008585"
0331 default y
0332 depends on ARM_ARCH_TIMER && ARM64
0333 select ARM_ARCH_TIMER_OOL_WORKAROUND
0334 help
0335 This option enables a workaround for Freescale/NXP Erratum
0336 A-008585 ("ARM generic timer may contain an erroneous
0337 value"). The workaround will only be active if the
0338 fsl,erratum-a008585 property is found in the timer node.
0339
0340 config HISILICON_ERRATUM_161010101
0341 bool "Workaround for Hisilicon Erratum 161010101"
0342 default y
0343 select ARM_ARCH_TIMER_OOL_WORKAROUND
0344 depends on ARM_ARCH_TIMER && ARM64
0345 help
0346 This option enables a workaround for Hisilicon Erratum
0347 161010101. The workaround will be active if the hisilicon,erratum-161010101
0348 property is found in the timer node.
0349
0350 config ARM64_ERRATUM_858921
0351 bool "Workaround for Cortex-A73 erratum 858921"
0352 default y
0353 select ARM_ARCH_TIMER_OOL_WORKAROUND
0354 depends on ARM_ARCH_TIMER && ARM64
0355 help
0356 This option enables a workaround applicable to Cortex-A73
0357 (all versions), whose counter may return incorrect values.
0358 The workaround will be dynamically enabled when an affected
0359 core is detected.
0360
0361 config SUN50I_ERRATUM_UNKNOWN1
0362 bool "Workaround for Allwinner A64 erratum UNKNOWN1"
0363 default y
0364 depends on ARM_ARCH_TIMER && ARM64 && ARCH_SUNXI
0365 select ARM_ARCH_TIMER_OOL_WORKAROUND
0366 help
0367 This option enables a workaround for instability in the timer on
0368 the Allwinner A64 SoC. The workaround will only be active if the
0369 allwinner,erratum-unknown1 property is found in the timer node.
0370
0371 config ARM_GLOBAL_TIMER
0372 bool "Support for the ARM global timer" if COMPILE_TEST
0373 select TIMER_OF if OF
0374 depends on ARM
0375 help
0376 This option enables support for the ARM global timer unit.
0377
0378 config ARM_GT_INITIAL_PRESCALER_VAL
0379 int "ARM global timer initial prescaler value"
0380 default 2 if ARCH_ZYNQ
0381 default 1
0382 depends on ARM_GLOBAL_TIMER
0383 help
0384 When the ARM global timer initializes, its current rate is declared
0385 to the kernel and maintained forever. Should its parent clock
0386 change, the driver tries to fix the timer's internal prescaler.
0387 On some machs (i.e. Zynq) the initial prescaler value thus poses
0388 bounds about how much the parent clock is allowed to decrease or
0389 increase wrt the initial clock value.
0390 This affects CPU_FREQ max delta from the initial frequency.
0391
0392 config ARM_TIMER_SP804
0393 bool "Support for Dual Timer SP804 module" if COMPILE_TEST
0394 depends on GENERIC_SCHED_CLOCK && HAVE_CLK
0395 select CLKSRC_MMIO
0396 select TIMER_OF if OF
0397
0398 config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
0399 bool
0400 depends on ARM_GLOBAL_TIMER
0401 default y
0402 help
0403 Use ARM global timer clock source as sched_clock.
0404
0405 config ARMV7M_SYSTICK
0406 bool "Support for the ARMv7M system time" if COMPILE_TEST
0407 select TIMER_OF if OF
0408 select CLKSRC_MMIO
0409 help
0410 This option enables support for the ARMv7M system timer unit.
0411
0412 config ATMEL_PIT
0413 bool "Atmel PIT support" if COMPILE_TEST
0414 depends on HAS_IOMEM
0415 select TIMER_OF if OF
0416 help
0417 Support for the Periodic Interval Timer found on Atmel SoCs.
0418
0419 config ATMEL_ST
0420 bool "Atmel ST timer support" if COMPILE_TEST
0421 depends on HAS_IOMEM
0422 select TIMER_OF
0423 select MFD_SYSCON
0424 help
0425 Support for the Atmel ST timer.
0426
0427 config ATMEL_TCB_CLKSRC
0428 bool "Atmel TC Block timer driver" if COMPILE_TEST
0429 depends on ARM && HAS_IOMEM
0430 select TIMER_OF if OF
0431 help
0432 Support for Timer Counter Blocks on Atmel SoCs.
0433
0434 config CLKSRC_EXYNOS_MCT
0435 bool "Exynos multi core timer driver" if COMPILE_TEST
0436 depends on ARM || ARM64
0437 depends on ARCH_EXYNOS || COMPILE_TEST
0438 help
0439 Support for Multi Core Timer controller on Exynos SoCs.
0440
0441 config CLKSRC_SAMSUNG_PWM
0442 bool "PWM timer driver for Samsung S3C, S5P" if COMPILE_TEST
0443 depends on HAS_IOMEM
0444 depends on ARCH_EXYNOS || ARCH_S3C24XX || ARCH_S3C64XX || ARCH_S5PV210 || COMPILE_TEST
0445 help
0446 This is a new clocksource driver for the PWM timer found in
0447 Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
0448 for all devicetree enabled platforms. This driver will be
0449 needed only on systems that do not have the Exynos MCT available.
0450
0451 config FSL_FTM_TIMER
0452 bool "Freescale FlexTimer Module driver" if COMPILE_TEST
0453 depends on HAS_IOMEM
0454 select CLKSRC_MMIO
0455 help
0456 Support for Freescale FlexTimer Module (FTM) timer.
0457
0458 config VF_PIT_TIMER
0459 bool
0460 select CLKSRC_MMIO
0461 help
0462 Support for Periodic Interrupt Timer on Freescale Vybrid Family SoCs.
0463
0464 config OXNAS_RPS_TIMER
0465 bool "Oxford Semiconductor OXNAS RPS Timers driver" if COMPILE_TEST
0466 select TIMER_OF
0467 select CLKSRC_MMIO
0468 help
0469 This enables support for the Oxford Semiconductor OXNAS RPS timers.
0470
0471 config SYS_SUPPORTS_SH_CMT
0472 bool
0473
0474 config MTK_TIMER
0475 bool "Mediatek timer driver" if COMPILE_TEST
0476 depends on HAS_IOMEM
0477 select TIMER_OF
0478 select CLKSRC_MMIO
0479 help
0480 Support for Mediatek timer driver.
0481
0482 config SPRD_TIMER
0483 bool "Spreadtrum timer driver" if EXPERT
0484 depends on HAS_IOMEM
0485 depends on (ARCH_SPRD || COMPILE_TEST)
0486 default ARCH_SPRD
0487 select TIMER_OF
0488 help
0489 Enables support for the Spreadtrum timer driver.
0490
0491 config SYS_SUPPORTS_SH_MTU2
0492 bool
0493
0494 config SYS_SUPPORTS_SH_TMU
0495 bool
0496
0497 config SYS_SUPPORTS_EM_STI
0498 bool
0499
0500 config CLKSRC_JCORE_PIT
0501 bool "J-Core PIT timer driver" if COMPILE_TEST
0502 depends on OF
0503 depends on HAS_IOMEM
0504 select CLKSRC_MMIO
0505 help
0506 This enables build of clocksource and clockevent driver for
0507 the integrated PIT in the J-Core synthesizable, open source SoC.
0508
0509 config SH_TIMER_CMT
0510 bool "Renesas CMT timer driver" if COMPILE_TEST
0511 depends on HAS_IOMEM
0512 default SYS_SUPPORTS_SH_CMT
0513 help
0514 This enables build of a clocksource and clockevent driver for
0515 the Compare Match Timer (CMT) hardware available in 16/32/48-bit
0516 variants on a wide range of Mobile and Automotive SoCs from Renesas.
0517
0518 config SH_TIMER_MTU2
0519 bool "Renesas MTU2 timer driver" if COMPILE_TEST
0520 depends on HAS_IOMEM
0521 default SYS_SUPPORTS_SH_MTU2
0522 help
0523 This enables build of a clockevent driver for the Multi-Function
0524 Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
0525 This hardware comes with 16-bit timer registers.
0526
0527 config RENESAS_OSTM
0528 bool "Renesas OSTM timer driver"
0529 depends on ARCH_RENESAS || COMPILE_TEST
0530 select CLKSRC_MMIO
0531 select TIMER_OF
0532 help
0533 Enables the support for the Renesas OSTM.
0534
0535 config SH_TIMER_TMU
0536 bool "Renesas TMU timer driver" if COMPILE_TEST
0537 depends on HAS_IOMEM
0538 default SYS_SUPPORTS_SH_TMU
0539 help
0540 This enables build of a clocksource and clockevent driver for
0541 the 32-bit Timer Unit (TMU) hardware available on a wide range
0542 SoCs from Renesas.
0543
0544 config EM_TIMER_STI
0545 bool "Renesas STI timer driver" if COMPILE_TEST
0546 depends on HAS_IOMEM
0547 default SYS_SUPPORTS_EM_STI
0548 help
0549 This enables build of a clocksource and clockevent driver for
0550 the 48-bit System Timer (STI) hardware available on a SoCs
0551 such as EMEV2 from former NEC Electronics.
0552
0553 config CLKSRC_QCOM
0554 bool "Qualcomm MSM timer" if COMPILE_TEST
0555 depends on ARM
0556 select TIMER_OF
0557 help
0558 This enables the clocksource and the per CPU clockevent driver for the
0559 Qualcomm SoCs.
0560
0561 config CLKSRC_VERSATILE
0562 bool "ARM Versatile (Express) reference platforms clock source" if COMPILE_TEST
0563 depends on GENERIC_SCHED_CLOCK
0564 select TIMER_OF
0565 default y if (ARCH_VEXPRESS || ARCH_VERSATILE) && ARM
0566 help
0567 This option enables clock source based on free running
0568 counter available in the "System Registers" block of
0569 ARM Versatile and Versatile Express reference platforms.
0570
0571 config CLKSRC_MIPS_GIC
0572 bool
0573 depends on MIPS_GIC
0574 select CLOCKSOURCE_WATCHDOG
0575 select TIMER_OF
0576
0577 config CLKSRC_PXA
0578 bool "Clocksource for PXA or SA-11x0 platform" if COMPILE_TEST
0579 depends on HAS_IOMEM
0580 select CLKSRC_MMIO
0581 help
0582 This enables OST0 support available on PXA and SA-11x0
0583 platforms.
0584
0585 config CLKSRC_IMX_GPT
0586 bool "Clocksource using i.MX GPT" if COMPILE_TEST
0587 depends on (ARM || ARM64) && HAVE_CLK
0588 select CLKSRC_MMIO
0589
0590 config CLKSRC_IMX_TPM
0591 bool "Clocksource using i.MX TPM" if COMPILE_TEST
0592 depends on (ARM || ARM64) && HAVE_CLK
0593 select CLKSRC_MMIO
0594 select TIMER_OF
0595 help
0596 Enable this option to use IMX Timer/PWM Module (TPM) timer as
0597 clocksource.
0598
0599 config TIMER_IMX_SYS_CTR
0600 bool "i.MX system counter timer" if COMPILE_TEST
0601 select TIMER_OF
0602 help
0603 Enable this option to use i.MX system counter timer as a
0604 clockevent.
0605
0606 config CLKSRC_ST_LPC
0607 bool "Low power clocksource found in the LPC" if COMPILE_TEST
0608 select TIMER_OF if OF
0609 depends on HAS_IOMEM
0610 select CLKSRC_MMIO
0611 help
0612 Enable this option to use the Low Power controller timer
0613 as clocksource.
0614
0615 config GXP_TIMER
0616 bool "GXP timer driver" if COMPILE_TEST && !ARCH_HPE
0617 default ARCH_HPE
0618 select TIMER_OF if OF
0619 help
0620 Provides a driver for the timer control found on HPE
0621 GXP SOCs. This is required for all GXP SOCs.
0622
0623 config RISCV_TIMER
0624 bool "Timer for the RISC-V platform" if COMPILE_TEST
0625 depends on GENERIC_SCHED_CLOCK && RISCV && RISCV_SBI
0626 select TIMER_PROBE
0627 select TIMER_OF
0628 help
0629 This enables the per-hart timer built into all RISC-V systems, which
0630 is accessed via both the SBI and the rdcycle instruction. This is
0631 required for all RISC-V systems.
0632
0633 config CLINT_TIMER
0634 bool "CLINT Timer for the RISC-V platform" if COMPILE_TEST
0635 depends on GENERIC_SCHED_CLOCK && RISCV
0636 select TIMER_PROBE
0637 select TIMER_OF
0638 help
0639 This option enables the CLINT timer for RISC-V systems. The CLINT
0640 driver is usually used for NoMMU RISC-V systems.
0641
0642 config CSKY_MP_TIMER
0643 bool "SMP Timer for the C-SKY platform" if COMPILE_TEST
0644 depends on CSKY
0645 select TIMER_OF
0646 help
0647 Say yes here to enable C-SKY SMP timer driver used for C-SKY SMP
0648 system.
0649 csky,mptimer is not only used in SMP system, it also could be used in
0650 single core system. It's not a mmio reg and it uses mtcr/mfcr instruction.
0651
0652 config GX6605S_TIMER
0653 bool "Gx6605s SOC system timer driver" if COMPILE_TEST
0654 depends on CSKY
0655 select CLKSRC_MMIO
0656 select TIMER_OF
0657 help
0658 This option enables support for gx6605s SOC's timer.
0659
0660 config MILBEAUT_TIMER
0661 bool "Milbeaut timer driver" if COMPILE_TEST
0662 depends on OF
0663 depends on ARM
0664 select TIMER_OF
0665 select CLKSRC_MMIO
0666 help
0667 Enables the support for Milbeaut timer driver.
0668
0669 config MSC313E_TIMER
0670 bool "MSC313E timer driver" if COMPILE_TEST
0671 select TIMER_OF
0672 select CLKSRC_MMIO
0673 help
0674 Enables support for the MStar MSC313E timer driver.
0675 This provides access to multiple interrupt generating
0676 programmable 32-bit free running incrementing counters.
0677
0678 config INGENIC_TIMER
0679 bool "Clocksource/timer using the TCU in Ingenic JZ SoCs"
0680 default MACH_INGENIC
0681 depends on MIPS || COMPILE_TEST
0682 depends on COMMON_CLK
0683 select MFD_SYSCON
0684 select TIMER_OF
0685 select IRQ_DOMAIN
0686 help
0687 Support for the timer/counter unit of the Ingenic JZ SoCs.
0688
0689 config INGENIC_SYSOST
0690 bool "Clocksource/timer using the SYSOST in Ingenic X SoCs"
0691 depends on MIPS || COMPILE_TEST
0692 depends on COMMON_CLK
0693 select MFD_SYSCON
0694 select TIMER_OF
0695 select IRQ_DOMAIN
0696 help
0697 Support for the SYSOST of the Ingenic X Series SoCs.
0698
0699 config INGENIC_OST
0700 bool "Clocksource using the OST in Ingenic JZ SoCs"
0701 depends on MIPS || COMPILE_TEST
0702 depends on COMMON_CLK
0703 select MFD_SYSCON
0704 help
0705 Support for the Operating System Timer of the Ingenic JZ SoCs.
0706
0707 config MICROCHIP_PIT64B
0708 bool "Microchip PIT64B support"
0709 depends on OF || COMPILE_TEST
0710 select TIMER_OF
0711 help
0712 This option enables Microchip PIT64B timer for Atmel
0713 based system. It supports the oneshot, the periodic
0714 modes and high resolution. It is used as a clocksource
0715 and a clockevent.
0716
0717 config GOLDFISH_TIMER
0718 bool "Clocksource using goldfish-rtc"
0719 depends on M68K || COMPILE_TEST
0720 depends on RTC_DRV_GOLDFISH
0721 help
0722 Support for the timer/counter of goldfish-rtc
0723
0724 endmenu