1menu "Clock Source drivers" 2 depends on !ARCH_USES_GETTIMEOFFSET 3 4config CLKSRC_OF 5 bool 6 select CLKSRC_PROBE 7 8config CLKSRC_ACPI 9 bool 10 select CLKSRC_PROBE 11 12config CLKSRC_PROBE 13 bool 14 15config CLKSRC_I8253 16 bool 17 18config CLKEVT_I8253 19 bool 20 21config I8253_LOCK 22 bool 23 24config CLKBLD_I8253 25 def_bool y if CLKSRC_I8253 || CLKEVT_I8253 || I8253_LOCK 26 27config CLKSRC_MMIO 28 bool 29 30config DIGICOLOR_TIMER 31 bool 32 33config DW_APB_TIMER 34 bool 35 36config DW_APB_TIMER_OF 37 bool 38 select DW_APB_TIMER 39 select CLKSRC_OF 40 41config ROCKCHIP_TIMER 42 bool 43 select CLKSRC_OF 44 45config ARMADA_370_XP_TIMER 46 bool 47 select CLKSRC_OF 48 49config MESON6_TIMER 50 bool 51 select CLKSRC_MMIO 52 53config ORION_TIMER 54 select CLKSRC_OF 55 select CLKSRC_MMIO 56 bool 57 58config SUN4I_TIMER 59 select CLKSRC_MMIO 60 bool 61 62config SUN5I_HSTIMER 63 select CLKSRC_MMIO 64 bool 65 66config TEGRA_TIMER 67 bool 68 69config VT8500_TIMER 70 bool 71 72config CADENCE_TTC_TIMER 73 bool 74 75config ASM9260_TIMER 76 bool 77 select CLKSRC_MMIO 78 select CLKSRC_OF 79 80config CLKSRC_NOMADIK_MTU 81 bool 82 depends on (ARCH_NOMADIK || ARCH_U8500) 83 select CLKSRC_MMIO 84 help 85 Support for Multi Timer Unit. MTU provides access 86 to multiple interrupt generating programmable 87 32-bit free running decrementing counters. 88 89config CLKSRC_NOMADIK_MTU_SCHED_CLOCK 90 bool 91 depends on CLKSRC_NOMADIK_MTU 92 help 93 Use the Multi Timer Unit as the sched_clock. 94 95config CLKSRC_DBX500_PRCMU 96 bool "Clocksource PRCMU Timer" 97 depends on UX500_SOC_DB8500 98 default y 99 help 100 Use the always on PRCMU Timer as clocksource 101 102config CLKSRC_DBX500_PRCMU_SCHED_CLOCK 103 bool "Clocksource PRCMU Timer sched_clock" 104 depends on (CLKSRC_DBX500_PRCMU && !CLKSRC_NOMADIK_MTU_SCHED_CLOCK) 105 default y 106 help 107 Use the always on PRCMU Timer as sched_clock 108 109config CLKSRC_EFM32 110 bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32 111 depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST) 112 select CLKSRC_MMIO 113 default ARCH_EFM32 114 help 115 Support to use the timers of EFM32 SoCs as clock source and clock 116 event device. 117 118config CLKSRC_LPC32XX 119 bool 120 select CLKSRC_MMIO 121 select CLKSRC_OF 122 123config CLKSRC_PISTACHIO 124 bool 125 select CLKSRC_OF 126 127config CLKSRC_TI_32K 128 bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST 129 depends on GENERIC_SCHED_CLOCK 130 select CLKSRC_OF if OF 131 help 132 This option enables support for Texas Instruments 32.768 Hz clocksource 133 available on many OMAP-like platforms. 134 135config CLKSRC_STM32 136 bool "Clocksource for STM32 SoCs" if !ARCH_STM32 137 depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST) 138 select CLKSRC_MMIO 139 140config ARM_ARCH_TIMER 141 bool 142 select CLKSRC_OF if OF 143 select CLKSRC_ACPI if ACPI 144 145config ARM_ARCH_TIMER_EVTSTREAM 146 bool "Support for ARM architected timer event stream generation" 147 default y if ARM_ARCH_TIMER 148 depends on ARM_ARCH_TIMER 149 help 150 This option enables support for event stream generation based on 151 the ARM architected timer. It is used for waking up CPUs executing 152 the wfe instruction at a frequency represented as a power-of-2 153 divisor of the clock rate. 154 The main use of the event stream is wfe-based timeouts of userspace 155 locking implementations. It might also be useful for imposing timeout 156 on wfe to safeguard against any programming errors in case an expected 157 event is not generated. 158 This must be disabled for hardware validation purposes to detect any 159 hardware anomalies of missing events. 160 161config ARM_GLOBAL_TIMER 162 bool 163 select CLKSRC_OF if OF 164 help 165 This options enables support for the ARM global timer unit 166 167config ARM_TIMER_SP804 168 bool "Support for Dual Timer SP804 module" 169 depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP 170 select CLKSRC_MMIO 171 select CLKSRC_OF if OF 172 173config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK 174 bool 175 depends on ARM_GLOBAL_TIMER 176 default y 177 help 178 Use ARM global timer clock source as sched_clock 179 180config ARMV7M_SYSTICK 181 bool 182 select CLKSRC_OF if OF 183 select CLKSRC_MMIO 184 help 185 This options enables support for the ARMv7M system timer unit 186 187config ATMEL_PIT 188 select CLKSRC_OF if OF 189 def_bool SOC_AT91SAM9 || SOC_SAMA5 190 191config ATMEL_ST 192 bool 193 select CLKSRC_OF 194 select MFD_SYSCON 195 196config CLKSRC_METAG_GENERIC 197 def_bool y if METAG 198 help 199 This option enables support for the Meta per-thread timers. 200 201config CLKSRC_EXYNOS_MCT 202 def_bool y if ARCH_EXYNOS 203 depends on !ARM64 204 help 205 Support for Multi Core Timer controller on Exynos SoCs. 206 207config CLKSRC_SAMSUNG_PWM 208 bool 209 help 210 This is a new clocksource driver for the PWM timer found in 211 Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver 212 for all devicetree enabled platforms. This driver will be 213 needed only on systems that do not have the Exynos MCT available. 214 215config FSL_FTM_TIMER 216 bool 217 help 218 Support for Freescale FlexTimer Module (FTM) timer. 219 220config VF_PIT_TIMER 221 bool 222 help 223 Support for Period Interrupt Timer on Freescale Vybrid Family SoCs. 224 225config SYS_SUPPORTS_SH_CMT 226 bool 227 228config MTK_TIMER 229 select CLKSRC_OF 230 select CLKSRC_MMIO 231 bool 232 233config SYS_SUPPORTS_SH_MTU2 234 bool 235 236config SYS_SUPPORTS_SH_TMU 237 bool 238 239config SYS_SUPPORTS_EM_STI 240 bool 241 242config SH_TIMER_CMT 243 bool "Renesas CMT timer driver" if COMPILE_TEST 244 depends on GENERIC_CLOCKEVENTS 245 depends on HAS_IOMEM 246 default SYS_SUPPORTS_SH_CMT 247 help 248 This enables build of a clocksource and clockevent driver for 249 the Compare Match Timer (CMT) hardware available in 16/32/48-bit 250 variants on a wide range of Mobile and Automotive SoCs from Renesas. 251 252config SH_TIMER_MTU2 253 bool "Renesas MTU2 timer driver" if COMPILE_TEST 254 depends on GENERIC_CLOCKEVENTS 255 depends on HAS_IOMEM 256 default SYS_SUPPORTS_SH_MTU2 257 help 258 This enables build of a clockevent driver for the Multi-Function 259 Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas. 260 This hardware comes with 16 bit-timer registers. 261 262config SH_TIMER_TMU 263 bool "Renesas TMU timer driver" if COMPILE_TEST 264 depends on GENERIC_CLOCKEVENTS 265 depends on HAS_IOMEM 266 default SYS_SUPPORTS_SH_TMU 267 help 268 This enables build of a clocksource and clockevent driver for 269 the 32-bit Timer Unit (TMU) hardware available on a wide range 270 SoCs from Renesas. 271 272config EM_TIMER_STI 273 bool "Renesas STI timer driver" if COMPILE_TEST 274 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM 275 default SYS_SUPPORTS_EM_STI 276 help 277 This enables build of a clocksource and clockevent driver for 278 the 48-bit System Timer (STI) hardware available on a SoCs 279 such as EMEV2 from former NEC Electronics. 280 281config CLKSRC_QCOM 282 bool 283 284config CLKSRC_VERSATILE 285 bool "ARM Versatile (Express) reference platforms clock source" 286 depends on PLAT_VERSATILE && GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET 287 select CLKSRC_OF 288 default y if MFD_VEXPRESS_SYSREG 289 help 290 This option enables clock source based on free running 291 counter available in the "System Registers" block of 292 ARM Versatile, RealView and Versatile Express reference 293 platforms. 294 295config CLKSRC_MIPS_GIC 296 bool 297 depends on MIPS_GIC 298 select CLKSRC_OF 299 300config CLKSRC_TANGO_XTAL 301 bool 302 select CLKSRC_OF 303 304config CLKSRC_PXA 305 def_bool y if ARCH_PXA || ARCH_SA1100 306 select CLKSRC_OF if OF 307 help 308 This enables OST0 support available on PXA and SA-11x0 309 platforms. 310 311config H8300_TMR16 312 bool 313 314config H8300_TPU 315 bool 316 317config CLKSRC_IMX_GPT 318 bool "Clocksource using i.MX GPT" if COMPILE_TEST 319 depends on ARM && CLKDEV_LOOKUP 320 select CLKSRC_MMIO 321 322config CLKSRC_ST_LPC 323 bool 324 depends on ARCH_STI 325 select CLKSRC_OF if OF 326 help 327 Enable this option to use the Low Power controller timer 328 as clocksource. 329 330endmenu 331