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