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