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 depends on ARM 164 select CLKSRC_MMIO 165 select CLKSRC_OF 166 help 167 Support for the LPC32XX clocksource. 168 169config CLKSRC_PISTACHIO 170 bool "Clocksource for Pistachio SoC" if COMPILE_TEST 171 depends on HAS_IOMEM 172 select CLKSRC_OF 173 help 174 Enables the clocksource for the Pistachio SoC. 175 176config CLKSRC_TI_32K 177 bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST 178 depends on GENERIC_SCHED_CLOCK 179 select CLKSRC_OF if OF 180 help 181 This option enables support for Texas Instruments 32.768 Hz clocksource 182 available on many OMAP-like platforms. 183 184config CLKSRC_NPS 185 bool "NPS400 clocksource driver" if COMPILE_TEST 186 depends on !PHYS_ADDR_T_64BIT 187 select CLKSRC_MMIO 188 select CLKSRC_OF if OF 189 help 190 NPS400 clocksource support. 191 Got 64 bit counter with update rate up to 1000MHz. 192 This counter is accessed via couple of 32 bit memory mapped registers. 193 194config CLKSRC_STM32 195 bool "Clocksource for STM32 SoCs" if !ARCH_STM32 196 depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST) 197 select CLKSRC_MMIO 198 199config CLKSRC_MPS2 200 bool "Clocksource for MPS2 SoCs" if COMPILE_TEST 201 depends on GENERIC_SCHED_CLOCK 202 select CLKSRC_MMIO 203 select CLKSRC_OF 204 205config ARM_ARCH_TIMER 206 bool 207 select CLKSRC_OF if OF 208 select CLKSRC_ACPI if ACPI 209 210config ARM_ARCH_TIMER_EVTSTREAM 211 bool "Support for ARM architected timer event stream generation" 212 default y if ARM_ARCH_TIMER 213 depends on ARM_ARCH_TIMER 214 help 215 This option enables support for event stream generation based on 216 the ARM architected timer. It is used for waking up CPUs executing 217 the wfe instruction at a frequency represented as a power-of-2 218 divisor of the clock rate. 219 The main use of the event stream is wfe-based timeouts of userspace 220 locking implementations. It might also be useful for imposing timeout 221 on wfe to safeguard against any programming errors in case an expected 222 event is not generated. 223 This must be disabled for hardware validation purposes to detect any 224 hardware anomalies of missing events. 225 226config ARM_GLOBAL_TIMER 227 bool 228 select CLKSRC_OF if OF 229 help 230 This options enables support for the ARM global timer unit 231 232config ARM_TIMER_SP804 233 bool "Support for Dual Timer SP804 module" 234 depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP 235 select CLKSRC_MMIO 236 select CLKSRC_OF if OF 237 238config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK 239 bool 240 depends on ARM_GLOBAL_TIMER 241 default y 242 help 243 Use ARM global timer clock source as sched_clock 244 245config ARMV7M_SYSTICK 246 bool 247 select CLKSRC_OF if OF 248 select CLKSRC_MMIO 249 help 250 This options enables support for the ARMv7M system timer unit 251 252config ATMEL_PIT 253 select CLKSRC_OF if OF 254 def_bool SOC_AT91SAM9 || SOC_SAMA5 255 256config ATMEL_ST 257 bool 258 select CLKSRC_OF 259 select MFD_SYSCON 260 261config CLKSRC_METAG_GENERIC 262 def_bool y if METAG 263 help 264 This option enables support for the Meta per-thread timers. 265 266config CLKSRC_EXYNOS_MCT 267 bool "Exynos multi core timer driver" if COMPILE_TEST 268 depends on ARM 269 help 270 Support for Multi Core Timer controller on Exynos SoCs. 271 272config CLKSRC_SAMSUNG_PWM 273 bool "PWM timer drvier for Samsung S3C, S5P" if COMPILE_TEST 274 depends on GENERIC_CLOCKEVENTS 275 depends on HAS_IOMEM 276 help 277 This is a new clocksource driver for the PWM timer found in 278 Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver 279 for all devicetree enabled platforms. This driver will be 280 needed only on systems that do not have the Exynos MCT available. 281 282config FSL_FTM_TIMER 283 bool "Freescale FlexTimer Module driver" if COMPILE_TEST 284 depends on GENERIC_CLOCKEVENTS 285 depends on HAS_IOMEM 286 select CLKSRC_MMIO 287 help 288 Support for Freescale FlexTimer Module (FTM) timer. 289 290config VF_PIT_TIMER 291 bool 292 select CLKSRC_MMIO 293 help 294 Support for Period Interrupt Timer on Freescale Vybrid Family SoCs. 295 296config SYS_SUPPORTS_SH_CMT 297 bool 298 299config MTK_TIMER 300 bool "Mediatek timer driver" if COMPILE_TEST 301 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM 302 select CLKSRC_OF 303 select CLKSRC_MMIO 304 help 305 Support for Mediatek timer driver. 306 307config SYS_SUPPORTS_SH_MTU2 308 bool 309 310config SYS_SUPPORTS_SH_TMU 311 bool 312 313config SYS_SUPPORTS_EM_STI 314 bool 315 316config SH_TIMER_CMT 317 bool "Renesas CMT timer driver" if COMPILE_TEST 318 depends on GENERIC_CLOCKEVENTS 319 depends on HAS_IOMEM 320 default SYS_SUPPORTS_SH_CMT 321 help 322 This enables build of a clocksource and clockevent driver for 323 the Compare Match Timer (CMT) hardware available in 16/32/48-bit 324 variants on a wide range of Mobile and Automotive SoCs from Renesas. 325 326config SH_TIMER_MTU2 327 bool "Renesas MTU2 timer driver" if COMPILE_TEST 328 depends on GENERIC_CLOCKEVENTS 329 depends on HAS_IOMEM 330 default SYS_SUPPORTS_SH_MTU2 331 help 332 This enables build of a clockevent driver for the Multi-Function 333 Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas. 334 This hardware comes with 16 bit-timer registers. 335 336config SH_TIMER_TMU 337 bool "Renesas TMU timer driver" if COMPILE_TEST 338 depends on GENERIC_CLOCKEVENTS 339 depends on HAS_IOMEM 340 default SYS_SUPPORTS_SH_TMU 341 help 342 This enables build of a clocksource and clockevent driver for 343 the 32-bit Timer Unit (TMU) hardware available on a wide range 344 SoCs from Renesas. 345 346config EM_TIMER_STI 347 bool "Renesas STI timer driver" if COMPILE_TEST 348 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM 349 default SYS_SUPPORTS_EM_STI 350 help 351 This enables build of a clocksource and clockevent driver for 352 the 48-bit System Timer (STI) hardware available on a SoCs 353 such as EMEV2 from former NEC Electronics. 354 355config CLKSRC_QCOM 356 bool "Qualcomm MSM timer" if COMPILE_TEST 357 depends on ARM 358 select CLKSRC_OF 359 help 360 This enables the clocksource and the per CPU clockevent driver for the 361 Qualcomm SoCs. 362 363config CLKSRC_VERSATILE 364 bool "ARM Versatile (Express) reference platforms clock source" 365 depends on PLAT_VERSATILE && GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET 366 select CLKSRC_OF 367 default y if MFD_VEXPRESS_SYSREG 368 help 369 This option enables clock source based on free running 370 counter available in the "System Registers" block of 371 ARM Versatile, RealView and Versatile Express reference 372 platforms. 373 374config CLKSRC_MIPS_GIC 375 bool 376 depends on MIPS_GIC 377 select CLKSRC_OF 378 379config CLKSRC_TANGO_XTAL 380 bool "Clocksource for Tango SoC" if COMPILE_TEST 381 depends on ARM 382 select CLKSRC_OF 383 select CLKSRC_MMIO 384 help 385 This enables the clocksource for Tango SoC 386 387config CLKSRC_PXA 388 bool "Clocksource for PXA or SA-11x0 platform" if COMPILE_TEST 389 depends on GENERIC_CLOCKEVENTS 390 depends on HAS_IOMEM 391 select CLKSRC_MMIO 392 help 393 This enables OST0 support available on PXA and SA-11x0 394 platforms. 395 396config H8300_TMR8 397 bool "Clockevent timer for the H8300 platform" if COMPILE_TEST 398 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM 399 help 400 This enables the 8 bits timer for the H8300 platform. 401 402config H8300_TMR16 403 bool "Clockevent timer for the H83069 platform" if COMPILE_TEST 404 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM 405 help 406 This enables the 16 bits timer for the H8300 platform with the 407 H83069 cpu. 408 409config H8300_TPU 410 bool "Clocksource for the H8300 platform" if COMPILE_TEST 411 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM 412 help 413 This enables the clocksource for the H8300 platform with the 414 H8S2678 cpu. 415 416config CLKSRC_IMX_GPT 417 bool "Clocksource using i.MX GPT" if COMPILE_TEST 418 depends on ARM && CLKDEV_LOOKUP 419 select CLKSRC_MMIO 420 421config CLKSRC_ST_LPC 422 bool "Low power clocksource found in the LPC" if COMPILE_TEST 423 select CLKSRC_OF if OF 424 depends on HAS_IOMEM 425 select CLKSRC_MMIO 426 help 427 Enable this option to use the Low Power controller timer 428 as clocksource. 429 430endmenu 431