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