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 "Digicolor timer driver" if COMPILE_TEST 32 depends on GENERIC_CLOCKEVENTS 33 select CLKSRC_MMIO 34 depends on HAS_IOMEM 35 help 36 Enables the support for the digicolor timer driver. 37 38config DW_APB_TIMER 39 bool "DW APB timer driver" if COMPILE_TEST 40 depends on GENERIC_CLOCKEVENTS 41 help 42 Enables the support for the dw_apb timer. 43 44config DW_APB_TIMER_OF 45 bool 46 select DW_APB_TIMER 47 select CLKSRC_OF 48 49config ROCKCHIP_TIMER 50 bool "Rockchip timer driver" if COMPILE_TEST 51 depends on ARM || ARM64 52 select CLKSRC_OF 53 help 54 Enables the support for the rockchip timer driver. 55 56config ARMADA_370_XP_TIMER 57 bool "Armada 370 and XP timer driver" if COMPILE_TEST 58 depends on ARM 59 select CLKSRC_OF 60 select CLKSRC_MMIO 61 help 62 Enables the support for the Armada 370 and XP timer driver. 63 64config MESON6_TIMER 65 bool "Meson6 timer driver" if COMPILE_TEST 66 depends on GENERIC_CLOCKEVENTS 67 select CLKSRC_MMIO 68 help 69 Enables the support for the Meson6 timer driver. 70 71config ORION_TIMER 72 bool "Orion timer driver" if COMPILE_TEST 73 depends on ARM 74 select CLKSRC_OF 75 select CLKSRC_MMIO 76 help 77 Enables the support for the Orion timer driver 78 79config SUN4I_TIMER 80 bool "Sun4i timer driver" if COMPILE_TEST 81 depends on GENERIC_CLOCKEVENTS 82 depends on HAS_IOMEM 83 select CLKSRC_MMIO 84 help 85 Enables support for the Sun4i timer. 86 87config SUN5I_HSTIMER 88 bool "Sun5i timer driver" if COMPILE_TEST 89 select CLKSRC_MMIO 90 depends on COMMON_CLK 91 help 92 Enables support the Sun5i timer. 93 94config TEGRA_TIMER 95 bool "Tegra timer driver" if COMPILE_TEST 96 select CLKSRC_MMIO 97 depends on ARM 98 help 99 Enables support for the Tegra driver. 100 101config VT8500_TIMER 102 bool "VT8500 timer driver" if COMPILE_TEST 103 depends on GENERIC_CLOCKEVENTS 104 depends on HAS_IOMEM 105 help 106 Enables support for the VT8500 driver. 107 108config CADENCE_TTC_TIMER 109 bool "Cadence TTC timer driver" if COMPILE_TEST 110 depends on COMMON_CLK 111 help 112 Enables support for the cadence ttc driver. 113 114config ASM9260_TIMER 115 bool "ASM9260 timer driver" if COMPILE_TEST 116 depends on GENERIC_CLOCKEVENTS 117 select CLKSRC_MMIO 118 select CLKSRC_OF 119 help 120 Enables support for the ASM9260 timer. 121 122config CLKSRC_NOMADIK_MTU 123 bool "Nomakdik clocksource driver" if COMPILE_TEST 124 depends on ARM 125 select CLKSRC_MMIO 126 help 127 Support for Multi Timer Unit. MTU provides access 128 to multiple interrupt generating programmable 129 32-bit free running decrementing counters. 130 131config CLKSRC_NOMADIK_MTU_SCHED_CLOCK 132 bool 133 depends on CLKSRC_NOMADIK_MTU 134 help 135 Use the Multi Timer Unit as the sched_clock. 136 137config CLKSRC_DBX500_PRCMU 138 bool "Clocksource PRCMU Timer" if COMPILE_TEST 139 depends on GENERIC_CLOCKEVENTS 140 depends on HAS_IOMEM 141 help 142 Use the always on PRCMU Timer as clocksource 143 144config CLKSRC_DBX500_PRCMU_SCHED_CLOCK 145 bool "Clocksource PRCMU Timer sched_clock" 146 depends on (CLKSRC_DBX500_PRCMU && !CLKSRC_NOMADIK_MTU_SCHED_CLOCK) 147 default y 148 help 149 Use the always on PRCMU Timer as sched_clock 150 151config CLKSRC_EFM32 152 bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32 153 depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST) 154 select CLKSRC_MMIO 155 default ARCH_EFM32 156 help 157 Support to use the timers of EFM32 SoCs as clock source and clock 158 event device. 159 160config CLKSRC_LPC32XX 161 bool "Clocksource for LPC32XX" if COMPILE_TEST 162 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM 163 select CLKSRC_MMIO 164 select CLKSRC_OF 165 help 166 Support for the LPC32XX clocksource. 167 168config CLKSRC_PISTACHIO 169 bool "Clocksource for Pistachio SoC" if COMPILE_TEST 170 depends on HAS_IOMEM 171 select CLKSRC_OF 172 help 173 Enables the clocksource for the Pistachio SoC. 174 175config CLKSRC_TI_32K 176 bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST 177 depends on GENERIC_SCHED_CLOCK 178 select CLKSRC_OF if OF 179 help 180 This option enables support for Texas Instruments 32.768 Hz clocksource 181 available on many OMAP-like platforms. 182 183config CLKSRC_STM32 184 bool "Clocksource for STM32 SoCs" if !ARCH_STM32 185 depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST) 186 select CLKSRC_MMIO 187 188config ARM_ARCH_TIMER 189 bool 190 select CLKSRC_OF if OF 191 select CLKSRC_ACPI if ACPI 192 193config ARM_ARCH_TIMER_EVTSTREAM 194 bool "Support for ARM architected timer event stream generation" 195 default y if ARM_ARCH_TIMER 196 depends on ARM_ARCH_TIMER 197 help 198 This option enables support for event stream generation based on 199 the ARM architected timer. It is used for waking up CPUs executing 200 the wfe instruction at a frequency represented as a power-of-2 201 divisor of the clock rate. 202 The main use of the event stream is wfe-based timeouts of userspace 203 locking implementations. It might also be useful for imposing timeout 204 on wfe to safeguard against any programming errors in case an expected 205 event is not generated. 206 This must be disabled for hardware validation purposes to detect any 207 hardware anomalies of missing events. 208 209config ARM_GLOBAL_TIMER 210 bool 211 select CLKSRC_OF if OF 212 help 213 This options enables support for the ARM global timer unit 214 215config ARM_TIMER_SP804 216 bool "Support for Dual Timer SP804 module" 217 depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP 218 select CLKSRC_MMIO 219 select CLKSRC_OF if OF 220 221config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK 222 bool 223 depends on ARM_GLOBAL_TIMER 224 default y 225 help 226 Use ARM global timer clock source as sched_clock 227 228config ARMV7M_SYSTICK 229 bool 230 select CLKSRC_OF if OF 231 select CLKSRC_MMIO 232 help 233 This options enables support for the ARMv7M system timer unit 234 235config ATMEL_PIT 236 select CLKSRC_OF if OF 237 def_bool SOC_AT91SAM9 || SOC_SAMA5 238 239config ATMEL_ST 240 bool 241 select CLKSRC_OF 242 select MFD_SYSCON 243 244config CLKSRC_METAG_GENERIC 245 def_bool y if METAG 246 help 247 This option enables support for the Meta per-thread timers. 248 249config CLKSRC_EXYNOS_MCT 250 bool "Exynos multi core timer driver" if COMPILE_TEST 251 depends on ARM 252 help 253 Support for Multi Core Timer controller on Exynos SoCs. 254 255config CLKSRC_SAMSUNG_PWM 256 bool "PWM timer drvier for Samsung S3C, S5P" if COMPILE_TEST 257 depends on GENERIC_CLOCKEVENTS 258 depends on HAS_IOMEM 259 help 260 This is a new clocksource driver for the PWM timer found in 261 Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver 262 for all devicetree enabled platforms. This driver will be 263 needed only on systems that do not have the Exynos MCT available. 264 265config FSL_FTM_TIMER 266 bool "Freescale FlexTimer Module driver" if COMPILE_TEST 267 depends on GENERIC_CLOCKEVENTS 268 depends on HAS_IOMEM 269 select CLKSRC_MMIO 270 help 271 Support for Freescale FlexTimer Module (FTM) timer. 272 273config VF_PIT_TIMER 274 bool 275 select CLKSRC_MMIO 276 help 277 Support for Period Interrupt Timer on Freescale Vybrid Family SoCs. 278 279config SYS_SUPPORTS_SH_CMT 280 bool 281 282config MTK_TIMER 283 bool "Mediatek timer driver" if COMPILE_TEST 284 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM 285 select CLKSRC_OF 286 select CLKSRC_MMIO 287 help 288 Support for Mediatek timer driver. 289 290config SYS_SUPPORTS_SH_MTU2 291 bool 292 293config SYS_SUPPORTS_SH_TMU 294 bool 295 296config SYS_SUPPORTS_EM_STI 297 bool 298 299config SH_TIMER_CMT 300 bool "Renesas CMT timer driver" if COMPILE_TEST 301 depends on GENERIC_CLOCKEVENTS 302 depends on HAS_IOMEM 303 default SYS_SUPPORTS_SH_CMT 304 help 305 This enables build of a clocksource and clockevent driver for 306 the Compare Match Timer (CMT) hardware available in 16/32/48-bit 307 variants on a wide range of Mobile and Automotive SoCs from Renesas. 308 309config SH_TIMER_MTU2 310 bool "Renesas MTU2 timer driver" if COMPILE_TEST 311 depends on GENERIC_CLOCKEVENTS 312 depends on HAS_IOMEM 313 default SYS_SUPPORTS_SH_MTU2 314 help 315 This enables build of a clockevent driver for the Multi-Function 316 Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas. 317 This hardware comes with 16 bit-timer registers. 318 319config SH_TIMER_TMU 320 bool "Renesas TMU timer driver" if COMPILE_TEST 321 depends on GENERIC_CLOCKEVENTS 322 depends on HAS_IOMEM 323 default SYS_SUPPORTS_SH_TMU 324 help 325 This enables build of a clocksource and clockevent driver for 326 the 32-bit Timer Unit (TMU) hardware available on a wide range 327 SoCs from Renesas. 328 329config EM_TIMER_STI 330 bool "Renesas STI timer driver" if COMPILE_TEST 331 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM 332 default SYS_SUPPORTS_EM_STI 333 help 334 This enables build of a clocksource and clockevent driver for 335 the 48-bit System Timer (STI) hardware available on a SoCs 336 such as EMEV2 from former NEC Electronics. 337 338config CLKSRC_QCOM 339 bool "Qualcomm MSM timer" if COMPILE_TEST 340 depends on ARM 341 select CLKSRC_OF 342 help 343 This enables the clocksource and the per CPU clockevent driver for the 344 Qualcomm SoCs. 345 346config CLKSRC_VERSATILE 347 bool "ARM Versatile (Express) reference platforms clock source" 348 depends on PLAT_VERSATILE && GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET 349 select CLKSRC_OF 350 default y if MFD_VEXPRESS_SYSREG 351 help 352 This option enables clock source based on free running 353 counter available in the "System Registers" block of 354 ARM Versatile, RealView and Versatile Express reference 355 platforms. 356 357config CLKSRC_MIPS_GIC 358 bool 359 depends on MIPS_GIC 360 select CLKSRC_OF 361 362config CLKSRC_TANGO_XTAL 363 bool "Clocksource for Tango SoC" if COMPILE_TEST 364 depends on ARM 365 select CLKSRC_OF 366 select CLKSRC_MMIO 367 help 368 This enables the clocksource for Tango SoC 369 370config CLKSRC_PXA 371 bool "Clocksource for PXA or SA-11x0 platform" if COMPILE_TEST 372 depends on GENERIC_CLOCKEVENTS 373 depends on HAS_IOMEM 374 select CLKSRC_MMIO 375 help 376 This enables OST0 support available on PXA and SA-11x0 377 platforms. 378 379config H8300_TMR8 380 bool "Clockevent timer for the H8300 platform" if COMPILE_TEST 381 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM 382 help 383 This enables the 8 bits timer for the H8300 platform. 384 385config H8300_TMR16 386 bool "Clockevent timer for the H83069 platform" if COMPILE_TEST 387 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM 388 help 389 This enables the 16 bits timer for the H8300 platform with the 390 H83069 cpu. 391 392config H8300_TPU 393 bool "Clocksource for the H8300 platform" if COMPILE_TEST 394 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM 395 help 396 This enables the clocksource for the H8300 platform with the 397 H8S2678 cpu. 398 399config CLKSRC_IMX_GPT 400 bool "Clocksource using i.MX GPT" if COMPILE_TEST 401 depends on ARM && CLKDEV_LOOKUP 402 select CLKSRC_MMIO 403 404config CLKSRC_ST_LPC 405 bool "Low power clocksource found in the LPC" if COMPILE_TEST 406 select CLKSRC_OF if OF 407 depends on HAS_IOMEM 408 select CLKSRC_MMIO 409 help 410 Enable this option to use the Low Power controller timer 411 as clocksource. 412 413endmenu 414