18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 28c2ecf20Sopenharmony_cimenu "Clock Source drivers" 38c2ecf20Sopenharmony_ci depends on GENERIC_CLOCKEVENTS 48c2ecf20Sopenharmony_ci 58c2ecf20Sopenharmony_ciconfig TIMER_OF 68c2ecf20Sopenharmony_ci bool 78c2ecf20Sopenharmony_ci select TIMER_PROBE 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ciconfig TIMER_ACPI 108c2ecf20Sopenharmony_ci bool 118c2ecf20Sopenharmony_ci select TIMER_PROBE 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_ciconfig TIMER_PROBE 148c2ecf20Sopenharmony_ci bool 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ciconfig CLKSRC_I8253 178c2ecf20Sopenharmony_ci bool 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_ciconfig CLKEVT_I8253 208c2ecf20Sopenharmony_ci bool 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_ciconfig I8253_LOCK 238c2ecf20Sopenharmony_ci bool 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_ciconfig OMAP_DM_TIMER 268c2ecf20Sopenharmony_ci bool 278c2ecf20Sopenharmony_ci select TIMER_OF 288c2ecf20Sopenharmony_ci 298c2ecf20Sopenharmony_ciconfig CLKBLD_I8253 308c2ecf20Sopenharmony_ci def_bool y if CLKSRC_I8253 || CLKEVT_I8253 || I8253_LOCK 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_ciconfig CLKSRC_MMIO 338c2ecf20Sopenharmony_ci bool 348c2ecf20Sopenharmony_ci 358c2ecf20Sopenharmony_ciconfig BCM2835_TIMER 368c2ecf20Sopenharmony_ci bool "BCM2835 timer driver" if COMPILE_TEST 378c2ecf20Sopenharmony_ci select CLKSRC_MMIO 388c2ecf20Sopenharmony_ci help 398c2ecf20Sopenharmony_ci Enables the support for the BCM2835 timer driver. 408c2ecf20Sopenharmony_ci 418c2ecf20Sopenharmony_ciconfig BCM_KONA_TIMER 428c2ecf20Sopenharmony_ci bool "BCM mobile timer driver" if COMPILE_TEST 438c2ecf20Sopenharmony_ci select CLKSRC_MMIO 448c2ecf20Sopenharmony_ci help 458c2ecf20Sopenharmony_ci Enables the support for the BCM Kona mobile timer driver. 468c2ecf20Sopenharmony_ci 478c2ecf20Sopenharmony_ciconfig DAVINCI_TIMER 488c2ecf20Sopenharmony_ci bool "Texas Instruments DaVinci timer driver" if COMPILE_TEST 498c2ecf20Sopenharmony_ci help 508c2ecf20Sopenharmony_ci Enables the support for the TI DaVinci timer driver. 518c2ecf20Sopenharmony_ci 528c2ecf20Sopenharmony_ciconfig DIGICOLOR_TIMER 538c2ecf20Sopenharmony_ci bool "Digicolor timer driver" if COMPILE_TEST 548c2ecf20Sopenharmony_ci select CLKSRC_MMIO 558c2ecf20Sopenharmony_ci depends on HAS_IOMEM 568c2ecf20Sopenharmony_ci help 578c2ecf20Sopenharmony_ci Enables the support for the digicolor timer driver. 588c2ecf20Sopenharmony_ci 598c2ecf20Sopenharmony_ciconfig DW_APB_TIMER 608c2ecf20Sopenharmony_ci bool "DW APB timer driver" if COMPILE_TEST 618c2ecf20Sopenharmony_ci help 628c2ecf20Sopenharmony_ci Enables the support for the dw_apb timer. 638c2ecf20Sopenharmony_ci 648c2ecf20Sopenharmony_ciconfig DW_APB_TIMER_OF 658c2ecf20Sopenharmony_ci bool 668c2ecf20Sopenharmony_ci select DW_APB_TIMER 678c2ecf20Sopenharmony_ci select TIMER_OF 688c2ecf20Sopenharmony_ci 698c2ecf20Sopenharmony_ciconfig FTTMR010_TIMER 708c2ecf20Sopenharmony_ci bool "Faraday Technology timer driver" if COMPILE_TEST 718c2ecf20Sopenharmony_ci depends on HAS_IOMEM 728c2ecf20Sopenharmony_ci select CLKSRC_MMIO 738c2ecf20Sopenharmony_ci select TIMER_OF 748c2ecf20Sopenharmony_ci select MFD_SYSCON 758c2ecf20Sopenharmony_ci help 768c2ecf20Sopenharmony_ci Enables support for the Faraday Technology timer block 778c2ecf20Sopenharmony_ci FTTMR010. 788c2ecf20Sopenharmony_ci 798c2ecf20Sopenharmony_ciconfig IXP4XX_TIMER 808c2ecf20Sopenharmony_ci bool "Intel XScale IXP4xx timer driver" if COMPILE_TEST 818c2ecf20Sopenharmony_ci depends on HAS_IOMEM 828c2ecf20Sopenharmony_ci select CLKSRC_MMIO 838c2ecf20Sopenharmony_ci select TIMER_OF if OF 848c2ecf20Sopenharmony_ci help 858c2ecf20Sopenharmony_ci Enables support for the Intel XScale IXP4xx SoC timer. 868c2ecf20Sopenharmony_ci 878c2ecf20Sopenharmony_ciconfig ROCKCHIP_TIMER 888c2ecf20Sopenharmony_ci bool "Rockchip timer driver" if COMPILE_TEST 898c2ecf20Sopenharmony_ci depends on ARM || ARM64 908c2ecf20Sopenharmony_ci select TIMER_OF 918c2ecf20Sopenharmony_ci select CLKSRC_MMIO 928c2ecf20Sopenharmony_ci help 938c2ecf20Sopenharmony_ci Enables the support for the Rockchip timer driver. 948c2ecf20Sopenharmony_ci 958c2ecf20Sopenharmony_ciconfig ARMADA_370_XP_TIMER 968c2ecf20Sopenharmony_ci bool "Armada 370 and XP timer driver" if COMPILE_TEST 978c2ecf20Sopenharmony_ci depends on ARM 988c2ecf20Sopenharmony_ci select TIMER_OF 998c2ecf20Sopenharmony_ci select CLKSRC_MMIO 1008c2ecf20Sopenharmony_ci help 1018c2ecf20Sopenharmony_ci Enables the support for the Armada 370 and XP timer driver. 1028c2ecf20Sopenharmony_ci 1038c2ecf20Sopenharmony_ciconfig MESON6_TIMER 1048c2ecf20Sopenharmony_ci bool "Meson6 timer driver" if COMPILE_TEST 1058c2ecf20Sopenharmony_ci select CLKSRC_MMIO 1068c2ecf20Sopenharmony_ci help 1078c2ecf20Sopenharmony_ci Enables the support for the Meson6 timer driver. 1088c2ecf20Sopenharmony_ci 1098c2ecf20Sopenharmony_ciconfig ORION_TIMER 1108c2ecf20Sopenharmony_ci bool "Orion timer driver" if COMPILE_TEST 1118c2ecf20Sopenharmony_ci depends on ARM 1128c2ecf20Sopenharmony_ci select TIMER_OF 1138c2ecf20Sopenharmony_ci select CLKSRC_MMIO 1148c2ecf20Sopenharmony_ci help 1158c2ecf20Sopenharmony_ci Enables the support for the Orion timer driver 1168c2ecf20Sopenharmony_ci 1178c2ecf20Sopenharmony_ciconfig OWL_TIMER 1188c2ecf20Sopenharmony_ci bool "Owl timer driver" if COMPILE_TEST 1198c2ecf20Sopenharmony_ci select CLKSRC_MMIO 1208c2ecf20Sopenharmony_ci help 1218c2ecf20Sopenharmony_ci Enables the support for the Actions Semi Owl timer driver. 1228c2ecf20Sopenharmony_ci 1238c2ecf20Sopenharmony_ciconfig RDA_TIMER 1248c2ecf20Sopenharmony_ci bool "RDA timer driver" if COMPILE_TEST 1258c2ecf20Sopenharmony_ci select CLKSRC_MMIO 1268c2ecf20Sopenharmony_ci select TIMER_OF 1278c2ecf20Sopenharmony_ci help 1288c2ecf20Sopenharmony_ci Enables the support for the RDA Micro timer driver. 1298c2ecf20Sopenharmony_ci 1308c2ecf20Sopenharmony_ciconfig SUN4I_TIMER 1318c2ecf20Sopenharmony_ci bool "Sun4i timer driver" if COMPILE_TEST 1328c2ecf20Sopenharmony_ci depends on HAS_IOMEM 1338c2ecf20Sopenharmony_ci select CLKSRC_MMIO 1348c2ecf20Sopenharmony_ci select TIMER_OF 1358c2ecf20Sopenharmony_ci help 1368c2ecf20Sopenharmony_ci Enables support for the Sun4i timer. 1378c2ecf20Sopenharmony_ci 1388c2ecf20Sopenharmony_ciconfig SUN5I_HSTIMER 1398c2ecf20Sopenharmony_ci bool "Sun5i timer driver" if COMPILE_TEST 1408c2ecf20Sopenharmony_ci select CLKSRC_MMIO 1418c2ecf20Sopenharmony_ci depends on COMMON_CLK 1428c2ecf20Sopenharmony_ci help 1438c2ecf20Sopenharmony_ci Enables support the Sun5i timer. 1448c2ecf20Sopenharmony_ci 1458c2ecf20Sopenharmony_ciconfig TEGRA_TIMER 1468c2ecf20Sopenharmony_ci bool "Tegra timer driver" if COMPILE_TEST 1478c2ecf20Sopenharmony_ci select CLKSRC_MMIO 1488c2ecf20Sopenharmony_ci select TIMER_OF 1498c2ecf20Sopenharmony_ci depends on ARCH_TEGRA || COMPILE_TEST 1508c2ecf20Sopenharmony_ci help 1518c2ecf20Sopenharmony_ci Enables support for the Tegra driver. 1528c2ecf20Sopenharmony_ci 1538c2ecf20Sopenharmony_ciconfig VT8500_TIMER 1548c2ecf20Sopenharmony_ci bool "VT8500 timer driver" if COMPILE_TEST 1558c2ecf20Sopenharmony_ci depends on HAS_IOMEM 1568c2ecf20Sopenharmony_ci help 1578c2ecf20Sopenharmony_ci Enables support for the VT8500 driver. 1588c2ecf20Sopenharmony_ci 1598c2ecf20Sopenharmony_ciconfig NPCM7XX_TIMER 1608c2ecf20Sopenharmony_ci bool "NPCM7xx timer driver" if COMPILE_TEST 1618c2ecf20Sopenharmony_ci depends on HAS_IOMEM 1628c2ecf20Sopenharmony_ci select TIMER_OF 1638c2ecf20Sopenharmony_ci select CLKSRC_MMIO 1648c2ecf20Sopenharmony_ci help 1658c2ecf20Sopenharmony_ci Enable 24-bit TIMER0 and TIMER1 counters in the NPCM7xx architecture, 1668c2ecf20Sopenharmony_ci where TIMER0 serves as clockevent and TIMER1 serves as clocksource. 1678c2ecf20Sopenharmony_ci 1688c2ecf20Sopenharmony_ciconfig CADENCE_TTC_TIMER 1698c2ecf20Sopenharmony_ci bool "Cadence TTC timer driver" if COMPILE_TEST 1708c2ecf20Sopenharmony_ci depends on COMMON_CLK 1718c2ecf20Sopenharmony_ci help 1728c2ecf20Sopenharmony_ci Enables support for the Cadence TTC driver. 1738c2ecf20Sopenharmony_ci 1748c2ecf20Sopenharmony_ciconfig ASM9260_TIMER 1758c2ecf20Sopenharmony_ci bool "ASM9260 timer driver" if COMPILE_TEST 1768c2ecf20Sopenharmony_ci select CLKSRC_MMIO 1778c2ecf20Sopenharmony_ci select TIMER_OF 1788c2ecf20Sopenharmony_ci help 1798c2ecf20Sopenharmony_ci Enables support for the ASM9260 timer. 1808c2ecf20Sopenharmony_ci 1818c2ecf20Sopenharmony_ciconfig CLKSRC_NOMADIK_MTU 1828c2ecf20Sopenharmony_ci bool "Nomakdik clocksource driver" if COMPILE_TEST 1838c2ecf20Sopenharmony_ci depends on ARM 1848c2ecf20Sopenharmony_ci select CLKSRC_MMIO 1858c2ecf20Sopenharmony_ci help 1868c2ecf20Sopenharmony_ci Support for Multi Timer Unit. MTU provides access 1878c2ecf20Sopenharmony_ci to multiple interrupt generating programmable 1888c2ecf20Sopenharmony_ci 32-bit free running decrementing counters. 1898c2ecf20Sopenharmony_ci 1908c2ecf20Sopenharmony_ciconfig CLKSRC_DBX500_PRCMU 1918c2ecf20Sopenharmony_ci bool "Clocksource PRCMU Timer" if COMPILE_TEST 1928c2ecf20Sopenharmony_ci depends on HAS_IOMEM 1938c2ecf20Sopenharmony_ci help 1948c2ecf20Sopenharmony_ci Use the always on PRCMU Timer as clocksource. 1958c2ecf20Sopenharmony_ci 1968c2ecf20Sopenharmony_ciconfig CLPS711X_TIMER 1978c2ecf20Sopenharmony_ci bool "Cirrus Logic timer driver" if COMPILE_TEST 1988c2ecf20Sopenharmony_ci select CLKSRC_MMIO 1998c2ecf20Sopenharmony_ci help 2008c2ecf20Sopenharmony_ci Enables support for the Cirrus Logic PS711 timer. 2018c2ecf20Sopenharmony_ci 2028c2ecf20Sopenharmony_ciconfig ATLAS7_TIMER 2038c2ecf20Sopenharmony_ci bool "Atlas7 timer driver" if COMPILE_TEST 2048c2ecf20Sopenharmony_ci select CLKSRC_MMIO 2058c2ecf20Sopenharmony_ci help 2068c2ecf20Sopenharmony_ci Enables support for the Atlas7 timer. 2078c2ecf20Sopenharmony_ci 2088c2ecf20Sopenharmony_ciconfig MXS_TIMER 2098c2ecf20Sopenharmony_ci bool "MXS timer driver" if COMPILE_TEST 2108c2ecf20Sopenharmony_ci select CLKSRC_MMIO 2118c2ecf20Sopenharmony_ci select STMP_DEVICE 2128c2ecf20Sopenharmony_ci help 2138c2ecf20Sopenharmony_ci Enables support for the MXS timer. 2148c2ecf20Sopenharmony_ci 2158c2ecf20Sopenharmony_ciconfig PRIMA2_TIMER 2168c2ecf20Sopenharmony_ci bool "Prima2 timer driver" if COMPILE_TEST 2178c2ecf20Sopenharmony_ci select CLKSRC_MMIO 2188c2ecf20Sopenharmony_ci help 2198c2ecf20Sopenharmony_ci Enables support for the Prima2 timer. 2208c2ecf20Sopenharmony_ci 2218c2ecf20Sopenharmony_ciconfig U300_TIMER 2228c2ecf20Sopenharmony_ci bool "U300 timer driver" if COMPILE_TEST 2238c2ecf20Sopenharmony_ci depends on ARM 2248c2ecf20Sopenharmony_ci select CLKSRC_MMIO 2258c2ecf20Sopenharmony_ci help 2268c2ecf20Sopenharmony_ci Enables support for the U300 timer. 2278c2ecf20Sopenharmony_ci 2288c2ecf20Sopenharmony_ciconfig NSPIRE_TIMER 2298c2ecf20Sopenharmony_ci bool "NSpire timer driver" if COMPILE_TEST 2308c2ecf20Sopenharmony_ci select CLKSRC_MMIO 2318c2ecf20Sopenharmony_ci help 2328c2ecf20Sopenharmony_ci Enables support for the Nspire timer. 2338c2ecf20Sopenharmony_ci 2348c2ecf20Sopenharmony_ciconfig KEYSTONE_TIMER 2358c2ecf20Sopenharmony_ci bool "Keystone timer driver" if COMPILE_TEST 2368c2ecf20Sopenharmony_ci depends on ARM || ARM64 2378c2ecf20Sopenharmony_ci select CLKSRC_MMIO 2388c2ecf20Sopenharmony_ci help 2398c2ecf20Sopenharmony_ci Enables support for the Keystone timer. 2408c2ecf20Sopenharmony_ci 2418c2ecf20Sopenharmony_ciconfig INTEGRATOR_AP_TIMER 2428c2ecf20Sopenharmony_ci bool "Integrator-AP timer driver" if COMPILE_TEST 2438c2ecf20Sopenharmony_ci select CLKSRC_MMIO 2448c2ecf20Sopenharmony_ci help 2458c2ecf20Sopenharmony_ci Enables support for the Integrator-AP timer. 2468c2ecf20Sopenharmony_ci 2478c2ecf20Sopenharmony_ciconfig CLKSRC_EFM32 2488c2ecf20Sopenharmony_ci bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32 2498c2ecf20Sopenharmony_ci depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST) 2508c2ecf20Sopenharmony_ci select CLKSRC_MMIO 2518c2ecf20Sopenharmony_ci default ARCH_EFM32 2528c2ecf20Sopenharmony_ci help 2538c2ecf20Sopenharmony_ci Support to use the timers of EFM32 SoCs as clock source and clock 2548c2ecf20Sopenharmony_ci event device. 2558c2ecf20Sopenharmony_ci 2568c2ecf20Sopenharmony_ciconfig CLKSRC_LPC32XX 2578c2ecf20Sopenharmony_ci bool "Clocksource for LPC32XX" if COMPILE_TEST 2588c2ecf20Sopenharmony_ci depends on HAS_IOMEM 2598c2ecf20Sopenharmony_ci depends on ARM 2608c2ecf20Sopenharmony_ci select CLKSRC_MMIO 2618c2ecf20Sopenharmony_ci select TIMER_OF 2628c2ecf20Sopenharmony_ci help 2638c2ecf20Sopenharmony_ci Support for the LPC32XX clocksource. 2648c2ecf20Sopenharmony_ci 2658c2ecf20Sopenharmony_ciconfig CLKSRC_PISTACHIO 2668c2ecf20Sopenharmony_ci bool "Clocksource for Pistachio SoC" if COMPILE_TEST 2678c2ecf20Sopenharmony_ci depends on HAS_IOMEM 2688c2ecf20Sopenharmony_ci select TIMER_OF 2698c2ecf20Sopenharmony_ci help 2708c2ecf20Sopenharmony_ci Enables the clocksource for the Pistachio SoC. 2718c2ecf20Sopenharmony_ci 2728c2ecf20Sopenharmony_ciconfig CLKSRC_TI_32K 2738c2ecf20Sopenharmony_ci bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST 2748c2ecf20Sopenharmony_ci depends on GENERIC_SCHED_CLOCK 2758c2ecf20Sopenharmony_ci select TIMER_OF if OF 2768c2ecf20Sopenharmony_ci help 2778c2ecf20Sopenharmony_ci This option enables support for Texas Instruments 32.768 Hz clocksource 2788c2ecf20Sopenharmony_ci available on many OMAP-like platforms. 2798c2ecf20Sopenharmony_ci 2808c2ecf20Sopenharmony_ciconfig CLKSRC_NPS 2818c2ecf20Sopenharmony_ci bool "NPS400 clocksource driver" if COMPILE_TEST 2828c2ecf20Sopenharmony_ci depends on !PHYS_ADDR_T_64BIT 2838c2ecf20Sopenharmony_ci select CLKSRC_MMIO 2848c2ecf20Sopenharmony_ci select TIMER_OF if OF 2858c2ecf20Sopenharmony_ci help 2868c2ecf20Sopenharmony_ci NPS400 clocksource support. 2878c2ecf20Sopenharmony_ci It has a 64-bit counter with update rate up to 1000MHz. 2888c2ecf20Sopenharmony_ci This counter is accessed via couple of 32-bit memory-mapped registers. 2898c2ecf20Sopenharmony_ci 2908c2ecf20Sopenharmony_ciconfig CLKSRC_STM32 2918c2ecf20Sopenharmony_ci bool "Clocksource for STM32 SoCs" if !ARCH_STM32 2928c2ecf20Sopenharmony_ci depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST) 2938c2ecf20Sopenharmony_ci select CLKSRC_MMIO 2948c2ecf20Sopenharmony_ci select TIMER_OF 2958c2ecf20Sopenharmony_ci 2968c2ecf20Sopenharmony_ciconfig CLKSRC_STM32_LP 2978c2ecf20Sopenharmony_ci bool "Low power clocksource for STM32 SoCs" 2988c2ecf20Sopenharmony_ci depends on MFD_STM32_LPTIMER || COMPILE_TEST 2998c2ecf20Sopenharmony_ci 3008c2ecf20Sopenharmony_ciconfig CLKSRC_MPS2 3018c2ecf20Sopenharmony_ci bool "Clocksource for MPS2 SoCs" if COMPILE_TEST 3028c2ecf20Sopenharmony_ci depends on GENERIC_SCHED_CLOCK 3038c2ecf20Sopenharmony_ci select CLKSRC_MMIO 3048c2ecf20Sopenharmony_ci select TIMER_OF 3058c2ecf20Sopenharmony_ci 3068c2ecf20Sopenharmony_ciconfig ARC_TIMERS 3078c2ecf20Sopenharmony_ci bool "Support for 32-bit TIMERn counters in ARC Cores" if COMPILE_TEST 3088c2ecf20Sopenharmony_ci depends on GENERIC_SCHED_CLOCK 3098c2ecf20Sopenharmony_ci select TIMER_OF 3108c2ecf20Sopenharmony_ci help 3118c2ecf20Sopenharmony_ci These are legacy 32-bit TIMER0 and TIMER1 counters found on all ARC cores 3128c2ecf20Sopenharmony_ci (ARC700 as well as ARC HS38). 3138c2ecf20Sopenharmony_ci TIMER0 serves as clockevent while TIMER1 provides clocksource. 3148c2ecf20Sopenharmony_ci 3158c2ecf20Sopenharmony_ciconfig ARC_TIMERS_64BIT 3168c2ecf20Sopenharmony_ci bool "Support for 64-bit counters in ARC HS38 cores" if COMPILE_TEST 3178c2ecf20Sopenharmony_ci depends on ARC_TIMERS 3188c2ecf20Sopenharmony_ci select TIMER_OF 3198c2ecf20Sopenharmony_ci help 3208c2ecf20Sopenharmony_ci This enables 2 different 64-bit timers: RTC (for UP) and GFRC (for SMP). 3218c2ecf20Sopenharmony_ci RTC is implemented inside the core, while GFRC sits outside the core in 3228c2ecf20Sopenharmony_ci ARConnect IP block. Driver automatically picks one of them for clocksource 3238c2ecf20Sopenharmony_ci as appropriate. 3248c2ecf20Sopenharmony_ci 3258c2ecf20Sopenharmony_ciconfig ARM_ARCH_TIMER 3268c2ecf20Sopenharmony_ci bool 3278c2ecf20Sopenharmony_ci select TIMER_OF if OF 3288c2ecf20Sopenharmony_ci select TIMER_ACPI if ACPI 3298c2ecf20Sopenharmony_ci 3308c2ecf20Sopenharmony_ciconfig ARM_ARCH_TIMER_EVTSTREAM 3318c2ecf20Sopenharmony_ci bool "Enable ARM architected timer event stream generation by default" 3328c2ecf20Sopenharmony_ci default y if ARM_ARCH_TIMER 3338c2ecf20Sopenharmony_ci depends on ARM_ARCH_TIMER 3348c2ecf20Sopenharmony_ci help 3358c2ecf20Sopenharmony_ci This option enables support by default for event stream generation 3368c2ecf20Sopenharmony_ci based on the ARM architected timer. It is used for waking up CPUs 3378c2ecf20Sopenharmony_ci executing the wfe instruction at a frequency represented as a 3388c2ecf20Sopenharmony_ci power-of-2 divisor of the clock rate. The behaviour can also be 3398c2ecf20Sopenharmony_ci overridden on the command line using the 3408c2ecf20Sopenharmony_ci clocksource.arm_arch_timer.evtstream parameter. 3418c2ecf20Sopenharmony_ci The main use of the event stream is wfe-based timeouts of userspace 3428c2ecf20Sopenharmony_ci locking implementations. It might also be useful for imposing timeout 3438c2ecf20Sopenharmony_ci on wfe to safeguard against any programming errors in case an expected 3448c2ecf20Sopenharmony_ci event is not generated. 3458c2ecf20Sopenharmony_ci This must be disabled for hardware validation purposes to detect any 3468c2ecf20Sopenharmony_ci hardware anomalies of missing events. 3478c2ecf20Sopenharmony_ci 3488c2ecf20Sopenharmony_ciconfig ARM_ARCH_TIMER_OOL_WORKAROUND 3498c2ecf20Sopenharmony_ci bool 3508c2ecf20Sopenharmony_ci 3518c2ecf20Sopenharmony_ciconfig FSL_ERRATUM_A008585 3528c2ecf20Sopenharmony_ci bool "Workaround for Freescale/NXP Erratum A-008585" 3538c2ecf20Sopenharmony_ci default y 3548c2ecf20Sopenharmony_ci depends on ARM_ARCH_TIMER && ARM64 3558c2ecf20Sopenharmony_ci select ARM_ARCH_TIMER_OOL_WORKAROUND 3568c2ecf20Sopenharmony_ci help 3578c2ecf20Sopenharmony_ci This option enables a workaround for Freescale/NXP Erratum 3588c2ecf20Sopenharmony_ci A-008585 ("ARM generic timer may contain an erroneous 3598c2ecf20Sopenharmony_ci value"). The workaround will only be active if the 3608c2ecf20Sopenharmony_ci fsl,erratum-a008585 property is found in the timer node. 3618c2ecf20Sopenharmony_ci 3628c2ecf20Sopenharmony_ciconfig HISILICON_ERRATUM_161010101 3638c2ecf20Sopenharmony_ci bool "Workaround for Hisilicon Erratum 161010101" 3648c2ecf20Sopenharmony_ci default y 3658c2ecf20Sopenharmony_ci select ARM_ARCH_TIMER_OOL_WORKAROUND 3668c2ecf20Sopenharmony_ci depends on ARM_ARCH_TIMER && ARM64 3678c2ecf20Sopenharmony_ci help 3688c2ecf20Sopenharmony_ci This option enables a workaround for Hisilicon Erratum 3698c2ecf20Sopenharmony_ci 161010101. The workaround will be active if the hisilicon,erratum-161010101 3708c2ecf20Sopenharmony_ci property is found in the timer node. 3718c2ecf20Sopenharmony_ci 3728c2ecf20Sopenharmony_ciconfig ARM64_ERRATUM_858921 3738c2ecf20Sopenharmony_ci bool "Workaround for Cortex-A73 erratum 858921" 3748c2ecf20Sopenharmony_ci default y 3758c2ecf20Sopenharmony_ci select ARM_ARCH_TIMER_OOL_WORKAROUND 3768c2ecf20Sopenharmony_ci depends on ARM_ARCH_TIMER && ARM64 3778c2ecf20Sopenharmony_ci help 3788c2ecf20Sopenharmony_ci This option enables a workaround applicable to Cortex-A73 3798c2ecf20Sopenharmony_ci (all versions), whose counter may return incorrect values. 3808c2ecf20Sopenharmony_ci The workaround will be dynamically enabled when an affected 3818c2ecf20Sopenharmony_ci core is detected. 3828c2ecf20Sopenharmony_ci 3838c2ecf20Sopenharmony_ciconfig SUN50I_ERRATUM_UNKNOWN1 3848c2ecf20Sopenharmony_ci bool "Workaround for Allwinner A64 erratum UNKNOWN1" 3858c2ecf20Sopenharmony_ci default y 3868c2ecf20Sopenharmony_ci depends on ARM_ARCH_TIMER && ARM64 && ARCH_SUNXI 3878c2ecf20Sopenharmony_ci select ARM_ARCH_TIMER_OOL_WORKAROUND 3888c2ecf20Sopenharmony_ci help 3898c2ecf20Sopenharmony_ci This option enables a workaround for instability in the timer on 3908c2ecf20Sopenharmony_ci the Allwinner A64 SoC. The workaround will only be active if the 3918c2ecf20Sopenharmony_ci allwinner,erratum-unknown1 property is found in the timer node. 3928c2ecf20Sopenharmony_ci 3938c2ecf20Sopenharmony_ciconfig ARM_GLOBAL_TIMER 3948c2ecf20Sopenharmony_ci bool "Support for the ARM global timer" if COMPILE_TEST 3958c2ecf20Sopenharmony_ci select TIMER_OF if OF 3968c2ecf20Sopenharmony_ci depends on ARM 3978c2ecf20Sopenharmony_ci help 3988c2ecf20Sopenharmony_ci This option enables support for the ARM global timer unit. 3998c2ecf20Sopenharmony_ci 4008c2ecf20Sopenharmony_ciconfig ARM_TIMER_SP804 4018c2ecf20Sopenharmony_ci bool "Support for Dual Timer SP804 module" if COMPILE_TEST 4028c2ecf20Sopenharmony_ci depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP 4038c2ecf20Sopenharmony_ci select CLKSRC_MMIO 4048c2ecf20Sopenharmony_ci select TIMER_OF if OF 4058c2ecf20Sopenharmony_ci 4068c2ecf20Sopenharmony_ciconfig CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK 4078c2ecf20Sopenharmony_ci bool 4088c2ecf20Sopenharmony_ci depends on ARM_GLOBAL_TIMER 4098c2ecf20Sopenharmony_ci default y 4108c2ecf20Sopenharmony_ci help 4118c2ecf20Sopenharmony_ci Use ARM global timer clock source as sched_clock. 4128c2ecf20Sopenharmony_ci 4138c2ecf20Sopenharmony_ciconfig ARMV7M_SYSTICK 4148c2ecf20Sopenharmony_ci bool "Support for the ARMv7M system time" if COMPILE_TEST 4158c2ecf20Sopenharmony_ci select TIMER_OF if OF 4168c2ecf20Sopenharmony_ci select CLKSRC_MMIO 4178c2ecf20Sopenharmony_ci help 4188c2ecf20Sopenharmony_ci This option enables support for the ARMv7M system timer unit. 4198c2ecf20Sopenharmony_ci 4208c2ecf20Sopenharmony_ciconfig ATMEL_PIT 4218c2ecf20Sopenharmony_ci bool "Atmel PIT support" if COMPILE_TEST 4228c2ecf20Sopenharmony_ci depends on HAS_IOMEM 4238c2ecf20Sopenharmony_ci select TIMER_OF if OF 4248c2ecf20Sopenharmony_ci help 4258c2ecf20Sopenharmony_ci Support for the Periodic Interval Timer found on Atmel SoCs. 4268c2ecf20Sopenharmony_ci 4278c2ecf20Sopenharmony_ciconfig ATMEL_ST 4288c2ecf20Sopenharmony_ci bool "Atmel ST timer support" if COMPILE_TEST 4298c2ecf20Sopenharmony_ci depends on HAS_IOMEM 4308c2ecf20Sopenharmony_ci select TIMER_OF 4318c2ecf20Sopenharmony_ci select MFD_SYSCON 4328c2ecf20Sopenharmony_ci help 4338c2ecf20Sopenharmony_ci Support for the Atmel ST timer. 4348c2ecf20Sopenharmony_ci 4358c2ecf20Sopenharmony_ciconfig ATMEL_TCB_CLKSRC 4368c2ecf20Sopenharmony_ci bool "Atmel TC Block timer driver" if COMPILE_TEST 4378c2ecf20Sopenharmony_ci depends on ARM && HAS_IOMEM 4388c2ecf20Sopenharmony_ci select TIMER_OF if OF 4398c2ecf20Sopenharmony_ci help 4408c2ecf20Sopenharmony_ci Support for Timer Counter Blocks on Atmel SoCs. 4418c2ecf20Sopenharmony_ci 4428c2ecf20Sopenharmony_ciconfig CLKSRC_EXYNOS_MCT 4438c2ecf20Sopenharmony_ci bool "Exynos multi core timer driver" if COMPILE_TEST 4448c2ecf20Sopenharmony_ci depends on ARM || ARM64 4458c2ecf20Sopenharmony_ci help 4468c2ecf20Sopenharmony_ci Support for Multi Core Timer controller on Exynos SoCs. 4478c2ecf20Sopenharmony_ci 4488c2ecf20Sopenharmony_ciconfig CLKSRC_SAMSUNG_PWM 4498c2ecf20Sopenharmony_ci bool "PWM timer driver for Samsung S3C, S5P" if COMPILE_TEST 4508c2ecf20Sopenharmony_ci depends on HAS_IOMEM 4518c2ecf20Sopenharmony_ci help 4528c2ecf20Sopenharmony_ci This is a new clocksource driver for the PWM timer found in 4538c2ecf20Sopenharmony_ci Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver 4548c2ecf20Sopenharmony_ci for all devicetree enabled platforms. This driver will be 4558c2ecf20Sopenharmony_ci needed only on systems that do not have the Exynos MCT available. 4568c2ecf20Sopenharmony_ci 4578c2ecf20Sopenharmony_ciconfig FSL_FTM_TIMER 4588c2ecf20Sopenharmony_ci bool "Freescale FlexTimer Module driver" if COMPILE_TEST 4598c2ecf20Sopenharmony_ci depends on HAS_IOMEM 4608c2ecf20Sopenharmony_ci select CLKSRC_MMIO 4618c2ecf20Sopenharmony_ci help 4628c2ecf20Sopenharmony_ci Support for Freescale FlexTimer Module (FTM) timer. 4638c2ecf20Sopenharmony_ci 4648c2ecf20Sopenharmony_ciconfig VF_PIT_TIMER 4658c2ecf20Sopenharmony_ci bool 4668c2ecf20Sopenharmony_ci select CLKSRC_MMIO 4678c2ecf20Sopenharmony_ci help 4688c2ecf20Sopenharmony_ci Support for Periodic Interrupt Timer on Freescale Vybrid Family SoCs. 4698c2ecf20Sopenharmony_ci 4708c2ecf20Sopenharmony_ciconfig OXNAS_RPS_TIMER 4718c2ecf20Sopenharmony_ci bool "Oxford Semiconductor OXNAS RPS Timers driver" if COMPILE_TEST 4728c2ecf20Sopenharmony_ci select TIMER_OF 4738c2ecf20Sopenharmony_ci select CLKSRC_MMIO 4748c2ecf20Sopenharmony_ci help 4758c2ecf20Sopenharmony_ci This enables support for the Oxford Semiconductor OXNAS RPS timers. 4768c2ecf20Sopenharmony_ci 4778c2ecf20Sopenharmony_ciconfig SYS_SUPPORTS_SH_CMT 4788c2ecf20Sopenharmony_ci bool 4798c2ecf20Sopenharmony_ci 4808c2ecf20Sopenharmony_ciconfig MTK_TIMER 4818c2ecf20Sopenharmony_ci bool "Mediatek timer driver" if COMPILE_TEST 4828c2ecf20Sopenharmony_ci depends on HAS_IOMEM 4838c2ecf20Sopenharmony_ci select TIMER_OF 4848c2ecf20Sopenharmony_ci select CLKSRC_MMIO 4858c2ecf20Sopenharmony_ci help 4868c2ecf20Sopenharmony_ci Support for Mediatek timer driver. 4878c2ecf20Sopenharmony_ci 4888c2ecf20Sopenharmony_ciconfig SPRD_TIMER 4898c2ecf20Sopenharmony_ci bool "Spreadtrum timer driver" if EXPERT 4908c2ecf20Sopenharmony_ci depends on HAS_IOMEM 4918c2ecf20Sopenharmony_ci depends on (ARCH_SPRD || COMPILE_TEST) 4928c2ecf20Sopenharmony_ci default ARCH_SPRD 4938c2ecf20Sopenharmony_ci select TIMER_OF 4948c2ecf20Sopenharmony_ci help 4958c2ecf20Sopenharmony_ci Enables support for the Spreadtrum timer driver. 4968c2ecf20Sopenharmony_ci 4978c2ecf20Sopenharmony_ciconfig SYS_SUPPORTS_SH_MTU2 4988c2ecf20Sopenharmony_ci bool 4998c2ecf20Sopenharmony_ci 5008c2ecf20Sopenharmony_ciconfig SYS_SUPPORTS_SH_TMU 5018c2ecf20Sopenharmony_ci bool 5028c2ecf20Sopenharmony_ci 5038c2ecf20Sopenharmony_ciconfig SYS_SUPPORTS_EM_STI 5048c2ecf20Sopenharmony_ci bool 5058c2ecf20Sopenharmony_ci 5068c2ecf20Sopenharmony_ciconfig CLKSRC_JCORE_PIT 5078c2ecf20Sopenharmony_ci bool "J-Core PIT timer driver" if COMPILE_TEST 5088c2ecf20Sopenharmony_ci depends on OF 5098c2ecf20Sopenharmony_ci depends on HAS_IOMEM 5108c2ecf20Sopenharmony_ci select CLKSRC_MMIO 5118c2ecf20Sopenharmony_ci help 5128c2ecf20Sopenharmony_ci This enables build of clocksource and clockevent driver for 5138c2ecf20Sopenharmony_ci the integrated PIT in the J-Core synthesizable, open source SoC. 5148c2ecf20Sopenharmony_ci 5158c2ecf20Sopenharmony_ciconfig SH_TIMER_CMT 5168c2ecf20Sopenharmony_ci bool "Renesas CMT timer driver" if COMPILE_TEST 5178c2ecf20Sopenharmony_ci depends on HAS_IOMEM 5188c2ecf20Sopenharmony_ci default SYS_SUPPORTS_SH_CMT 5198c2ecf20Sopenharmony_ci help 5208c2ecf20Sopenharmony_ci This enables build of a clocksource and clockevent driver for 5218c2ecf20Sopenharmony_ci the Compare Match Timer (CMT) hardware available in 16/32/48-bit 5228c2ecf20Sopenharmony_ci variants on a wide range of Mobile and Automotive SoCs from Renesas. 5238c2ecf20Sopenharmony_ci 5248c2ecf20Sopenharmony_ciconfig SH_TIMER_MTU2 5258c2ecf20Sopenharmony_ci bool "Renesas MTU2 timer driver" if COMPILE_TEST 5268c2ecf20Sopenharmony_ci depends on HAS_IOMEM 5278c2ecf20Sopenharmony_ci default SYS_SUPPORTS_SH_MTU2 5288c2ecf20Sopenharmony_ci help 5298c2ecf20Sopenharmony_ci This enables build of a clockevent driver for the Multi-Function 5308c2ecf20Sopenharmony_ci Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas. 5318c2ecf20Sopenharmony_ci This hardware comes with 16-bit timer registers. 5328c2ecf20Sopenharmony_ci 5338c2ecf20Sopenharmony_ciconfig RENESAS_OSTM 5348c2ecf20Sopenharmony_ci bool "Renesas OSTM timer driver" if COMPILE_TEST 5358c2ecf20Sopenharmony_ci select CLKSRC_MMIO 5368c2ecf20Sopenharmony_ci select TIMER_OF 5378c2ecf20Sopenharmony_ci help 5388c2ecf20Sopenharmony_ci Enables the support for the Renesas OSTM. 5398c2ecf20Sopenharmony_ci 5408c2ecf20Sopenharmony_ciconfig SH_TIMER_TMU 5418c2ecf20Sopenharmony_ci bool "Renesas TMU timer driver" if COMPILE_TEST 5428c2ecf20Sopenharmony_ci depends on HAS_IOMEM 5438c2ecf20Sopenharmony_ci default SYS_SUPPORTS_SH_TMU 5448c2ecf20Sopenharmony_ci help 5458c2ecf20Sopenharmony_ci This enables build of a clocksource and clockevent driver for 5468c2ecf20Sopenharmony_ci the 32-bit Timer Unit (TMU) hardware available on a wide range 5478c2ecf20Sopenharmony_ci SoCs from Renesas. 5488c2ecf20Sopenharmony_ci 5498c2ecf20Sopenharmony_ciconfig EM_TIMER_STI 5508c2ecf20Sopenharmony_ci bool "Renesas STI timer driver" if COMPILE_TEST 5518c2ecf20Sopenharmony_ci depends on HAS_IOMEM 5528c2ecf20Sopenharmony_ci default SYS_SUPPORTS_EM_STI 5538c2ecf20Sopenharmony_ci help 5548c2ecf20Sopenharmony_ci This enables build of a clocksource and clockevent driver for 5558c2ecf20Sopenharmony_ci the 48-bit System Timer (STI) hardware available on a SoCs 5568c2ecf20Sopenharmony_ci such as EMEV2 from former NEC Electronics. 5578c2ecf20Sopenharmony_ci 5588c2ecf20Sopenharmony_ciconfig CLKSRC_QCOM 5598c2ecf20Sopenharmony_ci bool "Qualcomm MSM timer" if COMPILE_TEST 5608c2ecf20Sopenharmony_ci depends on ARM 5618c2ecf20Sopenharmony_ci select TIMER_OF 5628c2ecf20Sopenharmony_ci help 5638c2ecf20Sopenharmony_ci This enables the clocksource and the per CPU clockevent driver for the 5648c2ecf20Sopenharmony_ci Qualcomm SoCs. 5658c2ecf20Sopenharmony_ci 5668c2ecf20Sopenharmony_ciconfig CLKSRC_VERSATILE 5678c2ecf20Sopenharmony_ci bool "ARM Versatile (Express) reference platforms clock source" if COMPILE_TEST 5688c2ecf20Sopenharmony_ci depends on GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET 5698c2ecf20Sopenharmony_ci select TIMER_OF 5708c2ecf20Sopenharmony_ci default y if (ARCH_VEXPRESS || ARCH_VERSATILE) && ARM 5718c2ecf20Sopenharmony_ci help 5728c2ecf20Sopenharmony_ci This option enables clock source based on free running 5738c2ecf20Sopenharmony_ci counter available in the "System Registers" block of 5748c2ecf20Sopenharmony_ci ARM Versatile and Versatile Express reference platforms. 5758c2ecf20Sopenharmony_ci 5768c2ecf20Sopenharmony_ciconfig CLKSRC_MIPS_GIC 5778c2ecf20Sopenharmony_ci bool 5788c2ecf20Sopenharmony_ci depends on MIPS_GIC 5798c2ecf20Sopenharmony_ci select CLOCKSOURCE_WATCHDOG 5808c2ecf20Sopenharmony_ci select TIMER_OF 5818c2ecf20Sopenharmony_ci 5828c2ecf20Sopenharmony_ciconfig CLKSRC_TANGO_XTAL 5838c2ecf20Sopenharmony_ci bool "Clocksource for Tango SoC" if COMPILE_TEST 5848c2ecf20Sopenharmony_ci depends on ARM 5858c2ecf20Sopenharmony_ci select TIMER_OF 5868c2ecf20Sopenharmony_ci select CLKSRC_MMIO 5878c2ecf20Sopenharmony_ci help 5888c2ecf20Sopenharmony_ci This enables the clocksource for Tango SoC. 5898c2ecf20Sopenharmony_ci 5908c2ecf20Sopenharmony_ciconfig CLKSRC_PXA 5918c2ecf20Sopenharmony_ci bool "Clocksource for PXA or SA-11x0 platform" if COMPILE_TEST 5928c2ecf20Sopenharmony_ci depends on HAS_IOMEM 5938c2ecf20Sopenharmony_ci select CLKSRC_MMIO 5948c2ecf20Sopenharmony_ci help 5958c2ecf20Sopenharmony_ci This enables OST0 support available on PXA and SA-11x0 5968c2ecf20Sopenharmony_ci platforms. 5978c2ecf20Sopenharmony_ci 5988c2ecf20Sopenharmony_ciconfig H8300_TMR8 5998c2ecf20Sopenharmony_ci bool "Clockevent timer for the H8300 platform" if COMPILE_TEST 6008c2ecf20Sopenharmony_ci depends on HAS_IOMEM 6018c2ecf20Sopenharmony_ci help 6028c2ecf20Sopenharmony_ci This enables the 8 bits timer for the H8300 platform. 6038c2ecf20Sopenharmony_ci 6048c2ecf20Sopenharmony_ciconfig H8300_TMR16 6058c2ecf20Sopenharmony_ci bool "Clockevent timer for the H83069 platform" if COMPILE_TEST 6068c2ecf20Sopenharmony_ci depends on HAS_IOMEM 6078c2ecf20Sopenharmony_ci help 6088c2ecf20Sopenharmony_ci This enables the 16 bits timer for the H8300 platform with the 6098c2ecf20Sopenharmony_ci H83069 CPU. 6108c2ecf20Sopenharmony_ci 6118c2ecf20Sopenharmony_ciconfig H8300_TPU 6128c2ecf20Sopenharmony_ci bool "Clocksource for the H8300 platform" if COMPILE_TEST 6138c2ecf20Sopenharmony_ci depends on HAS_IOMEM 6148c2ecf20Sopenharmony_ci help 6158c2ecf20Sopenharmony_ci This enables the clocksource for the H8300 platform with the 6168c2ecf20Sopenharmony_ci H8S2678 CPU. 6178c2ecf20Sopenharmony_ci 6188c2ecf20Sopenharmony_ciconfig CLKSRC_IMX_GPT 6198c2ecf20Sopenharmony_ci bool "Clocksource using i.MX GPT" if COMPILE_TEST 6208c2ecf20Sopenharmony_ci depends on (ARM || ARM64) && CLKDEV_LOOKUP 6218c2ecf20Sopenharmony_ci select CLKSRC_MMIO 6228c2ecf20Sopenharmony_ci 6238c2ecf20Sopenharmony_ciconfig CLKSRC_IMX_TPM 6248c2ecf20Sopenharmony_ci bool "Clocksource using i.MX TPM" if COMPILE_TEST 6258c2ecf20Sopenharmony_ci depends on (ARM || ARM64) && CLKDEV_LOOKUP 6268c2ecf20Sopenharmony_ci select CLKSRC_MMIO 6278c2ecf20Sopenharmony_ci select TIMER_OF 6288c2ecf20Sopenharmony_ci help 6298c2ecf20Sopenharmony_ci Enable this option to use IMX Timer/PWM Module (TPM) timer as 6308c2ecf20Sopenharmony_ci clocksource. 6318c2ecf20Sopenharmony_ci 6328c2ecf20Sopenharmony_ciconfig TIMER_IMX_SYS_CTR 6338c2ecf20Sopenharmony_ci bool "i.MX system counter timer" if COMPILE_TEST 6348c2ecf20Sopenharmony_ci select TIMER_OF 6358c2ecf20Sopenharmony_ci help 6368c2ecf20Sopenharmony_ci Enable this option to use i.MX system counter timer as a 6378c2ecf20Sopenharmony_ci clockevent. 6388c2ecf20Sopenharmony_ci 6398c2ecf20Sopenharmony_ciconfig CLKSRC_ST_LPC 6408c2ecf20Sopenharmony_ci bool "Low power clocksource found in the LPC" if COMPILE_TEST 6418c2ecf20Sopenharmony_ci select TIMER_OF if OF 6428c2ecf20Sopenharmony_ci depends on HAS_IOMEM 6438c2ecf20Sopenharmony_ci select CLKSRC_MMIO 6448c2ecf20Sopenharmony_ci help 6458c2ecf20Sopenharmony_ci Enable this option to use the Low Power controller timer 6468c2ecf20Sopenharmony_ci as clocksource. 6478c2ecf20Sopenharmony_ci 6488c2ecf20Sopenharmony_ciconfig ATCPIT100_TIMER 6498c2ecf20Sopenharmony_ci bool "ATCPIT100 timer driver" 6508c2ecf20Sopenharmony_ci depends on NDS32 || COMPILE_TEST 6518c2ecf20Sopenharmony_ci depends on HAS_IOMEM 6528c2ecf20Sopenharmony_ci select TIMER_OF 6538c2ecf20Sopenharmony_ci default NDS32 6548c2ecf20Sopenharmony_ci help 6558c2ecf20Sopenharmony_ci This option enables support for the Andestech ATCPIT100 timers. 6568c2ecf20Sopenharmony_ci 6578c2ecf20Sopenharmony_ciconfig RISCV_TIMER 6588c2ecf20Sopenharmony_ci bool "Timer for the RISC-V platform" if COMPILE_TEST 6598c2ecf20Sopenharmony_ci depends on GENERIC_SCHED_CLOCK && RISCV && RISCV_SBI 6608c2ecf20Sopenharmony_ci select TIMER_PROBE 6618c2ecf20Sopenharmony_ci select TIMER_OF 6628c2ecf20Sopenharmony_ci help 6638c2ecf20Sopenharmony_ci This enables the per-hart timer built into all RISC-V systems, which 6648c2ecf20Sopenharmony_ci is accessed via both the SBI and the rdcycle instruction. This is 6658c2ecf20Sopenharmony_ci required for all RISC-V systems. 6668c2ecf20Sopenharmony_ci 6678c2ecf20Sopenharmony_ciconfig CLINT_TIMER 6688c2ecf20Sopenharmony_ci bool "CLINT Timer for the RISC-V platform" if COMPILE_TEST 6698c2ecf20Sopenharmony_ci depends on GENERIC_SCHED_CLOCK && RISCV 6708c2ecf20Sopenharmony_ci select TIMER_PROBE 6718c2ecf20Sopenharmony_ci select TIMER_OF 6728c2ecf20Sopenharmony_ci help 6738c2ecf20Sopenharmony_ci This option enables the CLINT timer for RISC-V systems. The CLINT 6748c2ecf20Sopenharmony_ci driver is usually used for NoMMU RISC-V systems. 6758c2ecf20Sopenharmony_ci 6768c2ecf20Sopenharmony_ciconfig CSKY_MP_TIMER 6778c2ecf20Sopenharmony_ci bool "SMP Timer for the C-SKY platform" if COMPILE_TEST 6788c2ecf20Sopenharmony_ci depends on CSKY 6798c2ecf20Sopenharmony_ci select TIMER_OF 6808c2ecf20Sopenharmony_ci help 6818c2ecf20Sopenharmony_ci Say yes here to enable C-SKY SMP timer driver used for C-SKY SMP 6828c2ecf20Sopenharmony_ci system. 6838c2ecf20Sopenharmony_ci csky,mptimer is not only used in SMP system, it also could be used in 6848c2ecf20Sopenharmony_ci single core system. It's not a mmio reg and it uses mtcr/mfcr instruction. 6858c2ecf20Sopenharmony_ci 6868c2ecf20Sopenharmony_ciconfig GX6605S_TIMER 6878c2ecf20Sopenharmony_ci bool "Gx6605s SOC system timer driver" if COMPILE_TEST 6888c2ecf20Sopenharmony_ci depends on CSKY 6898c2ecf20Sopenharmony_ci select CLKSRC_MMIO 6908c2ecf20Sopenharmony_ci select TIMER_OF 6918c2ecf20Sopenharmony_ci help 6928c2ecf20Sopenharmony_ci This option enables support for gx6605s SOC's timer. 6938c2ecf20Sopenharmony_ci 6948c2ecf20Sopenharmony_ciconfig MILBEAUT_TIMER 6958c2ecf20Sopenharmony_ci bool "Milbeaut timer driver" if COMPILE_TEST 6968c2ecf20Sopenharmony_ci depends on OF 6978c2ecf20Sopenharmony_ci depends on ARM 6988c2ecf20Sopenharmony_ci select TIMER_OF 6998c2ecf20Sopenharmony_ci select CLKSRC_MMIO 7008c2ecf20Sopenharmony_ci help 7018c2ecf20Sopenharmony_ci Enables the support for Milbeaut timer driver. 7028c2ecf20Sopenharmony_ci 7038c2ecf20Sopenharmony_ciconfig INGENIC_TIMER 7048c2ecf20Sopenharmony_ci bool "Clocksource/timer using the TCU in Ingenic JZ SoCs" 7058c2ecf20Sopenharmony_ci default MACH_INGENIC 7068c2ecf20Sopenharmony_ci depends on MIPS || COMPILE_TEST 7078c2ecf20Sopenharmony_ci depends on COMMON_CLK 7088c2ecf20Sopenharmony_ci select MFD_SYSCON 7098c2ecf20Sopenharmony_ci select TIMER_OF 7108c2ecf20Sopenharmony_ci select IRQ_DOMAIN 7118c2ecf20Sopenharmony_ci help 7128c2ecf20Sopenharmony_ci Support for the timer/counter unit of the Ingenic JZ SoCs. 7138c2ecf20Sopenharmony_ci 7148c2ecf20Sopenharmony_ciconfig INGENIC_SYSOST 7158c2ecf20Sopenharmony_ci bool "Clocksource/timer using the SYSOST in Ingenic X SoCs" 7168c2ecf20Sopenharmony_ci depends on MIPS || COMPILE_TEST 7178c2ecf20Sopenharmony_ci depends on COMMON_CLK 7188c2ecf20Sopenharmony_ci select MFD_SYSCON 7198c2ecf20Sopenharmony_ci select TIMER_OF 7208c2ecf20Sopenharmony_ci select IRQ_DOMAIN 7218c2ecf20Sopenharmony_ci help 7228c2ecf20Sopenharmony_ci Support for the SYSOST of the Ingenic X Series SoCs. 7238c2ecf20Sopenharmony_ci 7248c2ecf20Sopenharmony_ciconfig INGENIC_OST 7258c2ecf20Sopenharmony_ci bool "Clocksource using the OST in Ingenic JZ SoCs" 7268c2ecf20Sopenharmony_ci depends on MIPS || COMPILE_TEST 7278c2ecf20Sopenharmony_ci depends on COMMON_CLK 7288c2ecf20Sopenharmony_ci select MFD_SYSCON 7298c2ecf20Sopenharmony_ci help 7308c2ecf20Sopenharmony_ci Support for the Operating System Timer of the Ingenic JZ SoCs. 7318c2ecf20Sopenharmony_ci 7328c2ecf20Sopenharmony_ciconfig MICROCHIP_PIT64B 7338c2ecf20Sopenharmony_ci bool "Microchip PIT64B support" 7348c2ecf20Sopenharmony_ci depends on OF || COMPILE_TEST 7358c2ecf20Sopenharmony_ci select CLKSRC_MMIO 7368c2ecf20Sopenharmony_ci select TIMER_OF 7378c2ecf20Sopenharmony_ci help 7388c2ecf20Sopenharmony_ci This option enables Microchip PIT64B timer for Atmel 7398c2ecf20Sopenharmony_ci based system. It supports the oneshot, the periodic 7408c2ecf20Sopenharmony_ci modes and high resolution. It is used as a clocksource 7418c2ecf20Sopenharmony_ci and a clockevent. 7428c2ecf20Sopenharmony_ci 7438c2ecf20Sopenharmony_ciendmenu 744