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 BCM2835_TIMER 31 bool "BCM2835 timer driver" if COMPILE_TEST 32 depends on GENERIC_CLOCKEVENTS 33 select CLKSRC_MMIO 34 help 35 Enables the support for the BCM2835 timer driver. 36 37config BCM_KONA_TIMER 38 bool "BCM mobile timer driver" if COMPILE_TEST 39 depends on GENERIC_CLOCKEVENTS 40 select CLKSRC_MMIO 41 help 42 Enables the support for the BCM Kona mobile timer driver. 43 44config DIGICOLOR_TIMER 45 bool "Digicolor timer driver" if COMPILE_TEST 46 depends on GENERIC_CLOCKEVENTS 47 select CLKSRC_MMIO 48 depends on HAS_IOMEM 49 help 50 Enables the support for the digicolor timer driver. 51 52config DW_APB_TIMER 53 bool "DW APB timer driver" if COMPILE_TEST 54 depends on GENERIC_CLOCKEVENTS 55 help 56 Enables the support for the dw_apb timer. 57 58config DW_APB_TIMER_OF 59 bool 60 select DW_APB_TIMER 61 select CLKSRC_OF 62 63config ROCKCHIP_TIMER 64 bool "Rockchip timer driver" if COMPILE_TEST 65 depends on ARM || ARM64 66 select CLKSRC_OF 67 help 68 Enables the support for the rockchip timer driver. 69 70config ARMADA_370_XP_TIMER 71 bool "Armada 370 and XP timer driver" if COMPILE_TEST 72 depends on ARM 73 select CLKSRC_OF 74 select CLKSRC_MMIO 75 help 76 Enables the support for the Armada 370 and XP timer driver. 77 78config MESON6_TIMER 79 bool "Meson6 timer driver" if COMPILE_TEST 80 depends on GENERIC_CLOCKEVENTS 81 select CLKSRC_MMIO 82 help 83 Enables the support for the Meson6 timer driver. 84 85config ORION_TIMER 86 bool "Orion timer driver" if COMPILE_TEST 87 depends on ARM 88 select CLKSRC_OF 89 select CLKSRC_MMIO 90 help 91 Enables the support for the Orion timer driver 92 93config SUN4I_TIMER 94 bool "Sun4i timer driver" if COMPILE_TEST 95 depends on GENERIC_CLOCKEVENTS 96 depends on HAS_IOMEM 97 select CLKSRC_MMIO 98 help 99 Enables support for the Sun4i timer. 100 101config SUN5I_HSTIMER 102 bool "Sun5i timer driver" if COMPILE_TEST 103 select CLKSRC_MMIO 104 depends on COMMON_CLK 105 help 106 Enables support the Sun5i timer. 107 108config TEGRA_TIMER 109 bool "Tegra timer driver" if COMPILE_TEST 110 select CLKSRC_MMIO 111 depends on ARM 112 help 113 Enables support for the Tegra driver. 114 115config VT8500_TIMER 116 bool "VT8500 timer driver" if COMPILE_TEST 117 depends on GENERIC_CLOCKEVENTS 118 depends on HAS_IOMEM 119 help 120 Enables support for the VT8500 driver. 121 122config CADENCE_TTC_TIMER 123 bool "Cadence TTC timer driver" if COMPILE_TEST 124 depends on COMMON_CLK 125 help 126 Enables support for the cadence ttc driver. 127 128config ASM9260_TIMER 129 bool "ASM9260 timer driver" if COMPILE_TEST 130 depends on GENERIC_CLOCKEVENTS 131 select CLKSRC_MMIO 132 select CLKSRC_OF 133 help 134 Enables support for the ASM9260 timer. 135 136config CLKSRC_NOMADIK_MTU 137 bool "Nomakdik clocksource driver" if COMPILE_TEST 138 depends on ARM 139 select CLKSRC_MMIO 140 help 141 Support for Multi Timer Unit. MTU provides access 142 to multiple interrupt generating programmable 143 32-bit free running decrementing counters. 144 145config CLKSRC_NOMADIK_MTU_SCHED_CLOCK 146 bool 147 depends on CLKSRC_NOMADIK_MTU 148 help 149 Use the Multi Timer Unit as the sched_clock. 150 151config CLKSRC_DBX500_PRCMU 152 bool "Clocksource PRCMU Timer" if COMPILE_TEST 153 depends on GENERIC_CLOCKEVENTS 154 depends on HAS_IOMEM 155 help 156 Use the always on PRCMU Timer as clocksource 157 158config CLPS711X_TIMER 159 bool "Cirrus logic timer driver" if COMPILE_TEST 160 depends on GENERIC_CLOCKEVENTS 161 select CLKSRC_MMIO 162 help 163 Enables support for the Cirrus Logic PS711 timer. 164 165config ATLAS7_TIMER 166 bool "Atlas7 timer driver" if COMPILE_TEST 167 depends on GENERIC_CLOCKEVENTS 168 select CLKSRC_MMIO 169 help 170 Enables support for the Atlas7 timer. 171 172config MOXART_TIMER 173 bool "Moxart timer driver" if COMPILE_TEST 174 depends on GENERIC_CLOCKEVENTS 175 select CLKSRC_MMIO 176 help 177 Enables support for the Moxart timer. 178 179config MXS_TIMER 180 bool "Mxs timer driver" if COMPILE_TEST 181 depends on GENERIC_CLOCKEVENTS 182 select CLKSRC_MMIO 183 select STMP_DEVICE 184 help 185 Enables support for the Mxs timer. 186 187config PRIMA2_TIMER 188 bool "Prima2 timer driver" if COMPILE_TEST 189 depends on GENERIC_CLOCKEVENTS 190 select CLKSRC_MMIO 191 help 192 Enables support for the Prima2 timer. 193 194config U300_TIMER 195 bool "U300 timer driver" if COMPILE_TEST 196 depends on GENERIC_CLOCKEVENTS 197 depends on ARM 198 select CLKSRC_MMIO 199 help 200 Enables support for the U300 timer. 201 202config NSPIRE_TIMER 203 bool "NSpire timer driver" if COMPILE_TEST 204 depends on GENERIC_CLOCKEVENTS 205 select CLKSRC_MMIO 206 help 207 Enables support for the Nspire timer. 208 209config KEYSTONE_TIMER 210 bool "Keystone timer driver" if COMPILE_TEST 211 depends on GENERIC_CLOCKEVENTS 212 depends on ARM || ARM64 213 select CLKSRC_MMIO 214 help 215 Enables support for the Keystone timer. 216 217config INTEGRATOR_AP_TIMER 218 bool "Integrator-ap timer driver" if COMPILE_TEST 219 depends on GENERIC_CLOCKEVENTS 220 select CLKSRC_MMIO 221 help 222 Enables support for the Integrator-ap timer. 223 224config CLKSRC_DBX500_PRCMU_SCHED_CLOCK 225 bool "Clocksource PRCMU Timer sched_clock" 226 depends on (CLKSRC_DBX500_PRCMU && !CLKSRC_NOMADIK_MTU_SCHED_CLOCK) 227 default y 228 help 229 Use the always on PRCMU Timer as sched_clock 230 231config CLKSRC_EFM32 232 bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32 233 depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST) 234 select CLKSRC_MMIO 235 default ARCH_EFM32 236 help 237 Support to use the timers of EFM32 SoCs as clock source and clock 238 event device. 239 240config CLKSRC_LPC32XX 241 bool "Clocksource for LPC32XX" if COMPILE_TEST 242 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM 243 depends on ARM 244 select CLKSRC_MMIO 245 select CLKSRC_OF 246 help 247 Support for the LPC32XX clocksource. 248 249config CLKSRC_PISTACHIO 250 bool "Clocksource for Pistachio SoC" if COMPILE_TEST 251 depends on HAS_IOMEM 252 select CLKSRC_OF 253 help 254 Enables the clocksource for the Pistachio SoC. 255 256config CLKSRC_TI_32K 257 bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST 258 depends on GENERIC_SCHED_CLOCK 259 select CLKSRC_OF if OF 260 help 261 This option enables support for Texas Instruments 32.768 Hz clocksource 262 available on many OMAP-like platforms. 263 264config CLKSRC_NPS 265 bool "NPS400 clocksource driver" if COMPILE_TEST 266 depends on !PHYS_ADDR_T_64BIT 267 select CLKSRC_MMIO 268 select CLKSRC_OF if OF 269 help 270 NPS400 clocksource support. 271 Got 64 bit counter with update rate up to 1000MHz. 272 This counter is accessed via couple of 32 bit memory mapped registers. 273 274config CLKSRC_STM32 275 bool "Clocksource for STM32 SoCs" if !ARCH_STM32 276 depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST) 277 select CLKSRC_MMIO 278 279config CLKSRC_MPS2 280 bool "Clocksource for MPS2 SoCs" if COMPILE_TEST 281 depends on GENERIC_SCHED_CLOCK 282 select CLKSRC_MMIO 283 select CLKSRC_OF 284 285config ARC_TIMERS 286 bool "Support for 32-bit TIMERn counters in ARC Cores" if COMPILE_TEST 287 depends on GENERIC_CLOCKEVENTS 288 select CLKSRC_OF 289 help 290 These are legacy 32-bit TIMER0 and TIMER1 counters found on all ARC cores 291 (ARC700 as well as ARC HS38). 292 TIMER0 serves as clockevent while TIMER1 provides clocksource 293 294config ARC_TIMERS_64BIT 295 bool "Support for 64-bit counters in ARC HS38 cores" if COMPILE_TEST 296 depends on GENERIC_CLOCKEVENTS 297 depends on ARC_TIMERS 298 select CLKSRC_OF 299 help 300 This enables 2 different 64-bit timers: RTC (for UP) and GFRC (for SMP) 301 RTC is implemented inside the core, while GFRC sits outside the core in 302 ARConnect IP block. Driver automatically picks one of them for clocksource 303 as appropriate. 304 305config ARM_ARCH_TIMER 306 bool 307 select CLKSRC_OF if OF 308 select CLKSRC_ACPI if ACPI 309 310config ARM_ARCH_TIMER_EVTSTREAM 311 bool "Enable ARM architected timer event stream generation by default" 312 default y if ARM_ARCH_TIMER 313 depends on ARM_ARCH_TIMER 314 help 315 This option enables support by default for event stream generation 316 based on the ARM architected timer. It is used for waking up CPUs 317 executing the wfe instruction at a frequency represented as a 318 power-of-2 divisor of the clock rate. The behaviour can also be 319 overridden on the command line using the 320 clocksource.arm_arch_timer.evtstream parameter. 321 The main use of the event stream is wfe-based timeouts of userspace 322 locking implementations. It might also be useful for imposing timeout 323 on wfe to safeguard against any programming errors in case an expected 324 event is not generated. 325 This must be disabled for hardware validation purposes to detect any 326 hardware anomalies of missing events. 327 328config FSL_ERRATUM_A008585 329 bool "Workaround for Freescale/NXP Erratum A-008585" 330 default y 331 depends on ARM_ARCH_TIMER && ARM64 332 help 333 This option enables a workaround for Freescale/NXP Erratum 334 A-008585 ("ARM generic timer may contain an erroneous 335 value"). The workaround will only be active if the 336 fsl,erratum-a008585 property is found in the timer node. 337 338config ARM_GLOBAL_TIMER 339 bool "Support for the ARM global timer" if COMPILE_TEST 340 select CLKSRC_OF if OF 341 depends on ARM 342 help 343 This options enables support for the ARM global timer unit 344 345config ARM_TIMER_SP804 346 bool "Support for Dual Timer SP804 module" 347 depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP 348 select CLKSRC_MMIO 349 select CLKSRC_OF if OF 350 351config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK 352 bool 353 depends on ARM_GLOBAL_TIMER 354 default y 355 help 356 Use ARM global timer clock source as sched_clock 357 358config ARMV7M_SYSTICK 359 bool "Support for the ARMv7M system time" if COMPILE_TEST 360 select CLKSRC_OF if OF 361 select CLKSRC_MMIO 362 help 363 This options enables support for the ARMv7M system timer unit 364 365config ATMEL_PIT 366 select CLKSRC_OF if OF 367 def_bool SOC_AT91SAM9 || SOC_SAMA5 368 369config ATMEL_ST 370 bool "Atmel ST timer support" if COMPILE_TEST 371 depends on GENERIC_CLOCKEVENTS 372 select CLKSRC_OF 373 select MFD_SYSCON 374 help 375 Support for the Atmel ST timer. 376 377config CLKSRC_METAG_GENERIC 378 def_bool y if METAG 379 help 380 This option enables support for the Meta per-thread timers. 381 382config CLKSRC_EXYNOS_MCT 383 bool "Exynos multi core timer driver" if COMPILE_TEST 384 depends on ARM || ARM64 385 help 386 Support for Multi Core Timer controller on Exynos SoCs. 387 388config CLKSRC_SAMSUNG_PWM 389 bool "PWM timer driver for Samsung S3C, S5P" if COMPILE_TEST 390 depends on GENERIC_CLOCKEVENTS 391 depends on HAS_IOMEM 392 help 393 This is a new clocksource driver for the PWM timer found in 394 Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver 395 for all devicetree enabled platforms. This driver will be 396 needed only on systems that do not have the Exynos MCT available. 397 398config FSL_FTM_TIMER 399 bool "Freescale FlexTimer Module driver" if COMPILE_TEST 400 depends on GENERIC_CLOCKEVENTS 401 depends on HAS_IOMEM 402 select CLKSRC_MMIO 403 help 404 Support for Freescale FlexTimer Module (FTM) timer. 405 406config VF_PIT_TIMER 407 bool 408 select CLKSRC_MMIO 409 help 410 Support for Period Interrupt Timer on Freescale Vybrid Family SoCs. 411 412config OXNAS_RPS_TIMER 413 bool "Oxford Semiconductor OXNAS RPS Timers driver" if COMPILE_TEST 414 depends on GENERIC_CLOCKEVENTS 415 select CLKSRC_OF 416 select CLKSRC_MMIO 417 help 418 This enables support for the Oxford Semiconductor OXNAS RPS timers. 419 420config SYS_SUPPORTS_SH_CMT 421 bool 422 423config MTK_TIMER 424 bool "Mediatek timer driver" if COMPILE_TEST 425 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM 426 select CLKSRC_OF 427 select CLKSRC_MMIO 428 help 429 Support for Mediatek timer driver. 430 431config SYS_SUPPORTS_SH_MTU2 432 bool 433 434config SYS_SUPPORTS_SH_TMU 435 bool 436 437config SYS_SUPPORTS_EM_STI 438 bool 439 440config CLKSRC_JCORE_PIT 441 bool "J-Core PIT timer driver" if COMPILE_TEST 442 depends on OF 443 depends on GENERIC_CLOCKEVENTS 444 depends on HAS_IOMEM 445 select CLKSRC_MMIO 446 help 447 This enables build of clocksource and clockevent driver for 448 the integrated PIT in the J-Core synthesizable, open source SoC. 449 450config SH_TIMER_CMT 451 bool "Renesas CMT timer driver" if COMPILE_TEST 452 depends on GENERIC_CLOCKEVENTS 453 depends on HAS_IOMEM 454 default SYS_SUPPORTS_SH_CMT 455 help 456 This enables build of a clocksource and clockevent driver for 457 the Compare Match Timer (CMT) hardware available in 16/32/48-bit 458 variants on a wide range of Mobile and Automotive SoCs from Renesas. 459 460config SH_TIMER_MTU2 461 bool "Renesas MTU2 timer driver" if COMPILE_TEST 462 depends on GENERIC_CLOCKEVENTS 463 depends on HAS_IOMEM 464 default SYS_SUPPORTS_SH_MTU2 465 help 466 This enables build of a clockevent driver for the Multi-Function 467 Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas. 468 This hardware comes with 16 bit-timer registers. 469 470config SH_TIMER_TMU 471 bool "Renesas TMU timer driver" if COMPILE_TEST 472 depends on GENERIC_CLOCKEVENTS 473 depends on HAS_IOMEM 474 default SYS_SUPPORTS_SH_TMU 475 help 476 This enables build of a clocksource and clockevent driver for 477 the 32-bit Timer Unit (TMU) hardware available on a wide range 478 SoCs from Renesas. 479 480config EM_TIMER_STI 481 bool "Renesas STI timer driver" if COMPILE_TEST 482 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM 483 default SYS_SUPPORTS_EM_STI 484 help 485 This enables build of a clocksource and clockevent driver for 486 the 48-bit System Timer (STI) hardware available on a SoCs 487 such as EMEV2 from former NEC Electronics. 488 489config CLKSRC_QCOM 490 bool "Qualcomm MSM timer" if COMPILE_TEST 491 depends on ARM 492 select CLKSRC_OF 493 help 494 This enables the clocksource and the per CPU clockevent driver for the 495 Qualcomm SoCs. 496 497config CLKSRC_VERSATILE 498 bool "ARM Versatile (Express) reference platforms clock source" if COMPILE_TEST 499 depends on GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET 500 select CLKSRC_OF 501 default y if MFD_VEXPRESS_SYSREG 502 help 503 This option enables clock source based on free running 504 counter available in the "System Registers" block of 505 ARM Versatile, RealView and Versatile Express reference 506 platforms. 507 508config CLKSRC_MIPS_GIC 509 bool 510 depends on MIPS_GIC 511 select CLKSRC_OF 512 513config CLKSRC_TANGO_XTAL 514 bool "Clocksource for Tango SoC" if COMPILE_TEST 515 depends on ARM 516 select CLKSRC_OF 517 select CLKSRC_MMIO 518 help 519 This enables the clocksource for Tango SoC 520 521config CLKSRC_PXA 522 bool "Clocksource for PXA or SA-11x0 platform" if COMPILE_TEST 523 depends on GENERIC_CLOCKEVENTS 524 depends on HAS_IOMEM 525 select CLKSRC_MMIO 526 help 527 This enables OST0 support available on PXA and SA-11x0 528 platforms. 529 530config H8300_TMR8 531 bool "Clockevent timer for the H8300 platform" if COMPILE_TEST 532 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM 533 help 534 This enables the 8 bits timer for the H8300 platform. 535 536config H8300_TMR16 537 bool "Clockevent timer for the H83069 platform" if COMPILE_TEST 538 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM 539 help 540 This enables the 16 bits timer for the H8300 platform with the 541 H83069 cpu. 542 543config H8300_TPU 544 bool "Clocksource for the H8300 platform" if COMPILE_TEST 545 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM 546 help 547 This enables the clocksource for the H8300 platform with the 548 H8S2678 cpu. 549 550config CLKSRC_IMX_GPT 551 bool "Clocksource using i.MX GPT" if COMPILE_TEST 552 depends on ARM && CLKDEV_LOOKUP 553 select CLKSRC_MMIO 554 555config CLKSRC_ST_LPC 556 bool "Low power clocksource found in the LPC" if COMPILE_TEST 557 select CLKSRC_OF if OF 558 depends on HAS_IOMEM 559 select CLKSRC_MMIO 560 help 561 Enable this option to use the Low Power controller timer 562 as clocksource. 563 564endmenu 565