1menu "Clock Source drivers" 2 3config CLKSRC_OF 4 bool 5 select CLKSRC_PROBE 6 7config CLKSRC_ACPI 8 bool 9 select CLKSRC_PROBE 10 11config CLKSRC_PROBE 12 bool 13 14config CLKSRC_I8253 15 bool 16 17config CLKEVT_I8253 18 bool 19 20config I8253_LOCK 21 bool 22 23config CLKBLD_I8253 24 def_bool y if CLKSRC_I8253 || CLKEVT_I8253 || I8253_LOCK 25 26config CLKSRC_MMIO 27 bool 28 29config DIGICOLOR_TIMER 30 bool 31 32config DW_APB_TIMER 33 bool 34 35config DW_APB_TIMER_OF 36 bool 37 select DW_APB_TIMER 38 select CLKSRC_OF 39 40config ROCKCHIP_TIMER 41 bool 42 select CLKSRC_OF 43 44config ARMADA_370_XP_TIMER 45 bool 46 select CLKSRC_OF 47 48config MESON6_TIMER 49 bool 50 select CLKSRC_MMIO 51 52config ORION_TIMER 53 select CLKSRC_OF 54 select CLKSRC_MMIO 55 bool 56 57config SUN4I_TIMER 58 select CLKSRC_MMIO 59 bool 60 61config SUN5I_HSTIMER 62 select CLKSRC_MMIO 63 bool 64 65config TEGRA_TIMER 66 bool 67 68config VT8500_TIMER 69 bool 70 71config CADENCE_TTC_TIMER 72 bool 73 74config ASM9260_TIMER 75 bool 76 select CLKSRC_MMIO 77 select CLKSRC_OF 78 79config CLKSRC_NOMADIK_MTU 80 bool 81 depends on (ARCH_NOMADIK || ARCH_U8500) 82 select CLKSRC_MMIO 83 help 84 Support for Multi Timer Unit. MTU provides access 85 to multiple interrupt generating programmable 86 32-bit free running decrementing counters. 87 88config CLKSRC_NOMADIK_MTU_SCHED_CLOCK 89 bool 90 depends on CLKSRC_NOMADIK_MTU 91 help 92 Use the Multi Timer Unit as the sched_clock. 93 94config CLKSRC_DBX500_PRCMU 95 bool "Clocksource PRCMU Timer" 96 depends on UX500_SOC_DB8500 97 default y 98 help 99 Use the always on PRCMU Timer as clocksource 100 101config CLKSRC_DBX500_PRCMU_SCHED_CLOCK 102 bool "Clocksource PRCMU Timer sched_clock" 103 depends on (CLKSRC_DBX500_PRCMU && !CLKSRC_NOMADIK_MTU_SCHED_CLOCK) 104 default y 105 help 106 Use the always on PRCMU Timer as sched_clock 107 108config CLKSRC_EFM32 109 bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32 110 depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST) 111 select CLKSRC_MMIO 112 default ARCH_EFM32 113 help 114 Support to use the timers of EFM32 SoCs as clock source and clock 115 event device. 116 117config CLKSRC_LPC32XX 118 bool 119 select CLKSRC_MMIO 120 select CLKSRC_OF 121 122config CLKSRC_PISTACHIO 123 bool 124 select CLKSRC_OF 125 126config CLKSRC_STM32 127 bool "Clocksource for STM32 SoCs" if !ARCH_STM32 128 depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST) 129 select CLKSRC_MMIO 130 131config ARM_ARCH_TIMER 132 bool 133 select CLKSRC_OF if OF 134 select CLKSRC_ACPI if ACPI 135 136config ARM_ARCH_TIMER_EVTSTREAM 137 bool "Support for ARM architected timer event stream generation" 138 default y if ARM_ARCH_TIMER 139 depends on ARM_ARCH_TIMER 140 help 141 This option enables support for event stream generation based on 142 the ARM architected timer. It is used for waking up CPUs executing 143 the wfe instruction at a frequency represented as a power-of-2 144 divisor of the clock rate. 145 The main use of the event stream is wfe-based timeouts of userspace 146 locking implementations. It might also be useful for imposing timeout 147 on wfe to safeguard against any programming errors in case an expected 148 event is not generated. 149 This must be disabled for hardware validation purposes to detect any 150 hardware anomalies of missing events. 151 152config ARM_GLOBAL_TIMER 153 bool 154 select CLKSRC_OF if OF 155 help 156 This options enables support for the ARM global timer unit 157 158config ARM_TIMER_SP804 159 bool "Support for Dual Timer SP804 module" 160 depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP 161 select CLKSRC_MMIO 162 select CLKSRC_OF if OF 163 164config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK 165 bool 166 depends on ARM_GLOBAL_TIMER 167 default y 168 help 169 Use ARM global timer clock source as sched_clock 170 171config ARMV7M_SYSTICK 172 bool 173 select CLKSRC_OF if OF 174 select CLKSRC_MMIO 175 help 176 This options enables support for the ARMv7M system timer unit 177 178config ATMEL_PIT 179 select CLKSRC_OF if OF 180 def_bool SOC_AT91SAM9 || SOC_SAMA5 181 182config ATMEL_ST 183 bool 184 select CLKSRC_OF 185 select MFD_SYSCON 186 187config CLKSRC_METAG_GENERIC 188 def_bool y if METAG 189 help 190 This option enables support for the Meta per-thread timers. 191 192config CLKSRC_EXYNOS_MCT 193 def_bool y if ARCH_EXYNOS 194 depends on !ARM64 195 help 196 Support for Multi Core Timer controller on Exynos SoCs. 197 198config CLKSRC_SAMSUNG_PWM 199 bool 200 help 201 This is a new clocksource driver for the PWM timer found in 202 Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver 203 for all devicetree enabled platforms. This driver will be 204 needed only on systems that do not have the Exynos MCT available. 205 206config FSL_FTM_TIMER 207 bool 208 help 209 Support for Freescale FlexTimer Module (FTM) timer. 210 211config VF_PIT_TIMER 212 bool 213 help 214 Support for Period Interrupt Timer on Freescale Vybrid Family SoCs. 215 216config SYS_SUPPORTS_SH_CMT 217 bool 218 219config MTK_TIMER 220 select CLKSRC_OF 221 select CLKSRC_MMIO 222 bool 223 224config SYS_SUPPORTS_SH_MTU2 225 bool 226 227config SYS_SUPPORTS_SH_TMU 228 bool 229 230config SYS_SUPPORTS_EM_STI 231 bool 232 233config SH_TIMER_CMT 234 bool "Renesas CMT timer driver" if COMPILE_TEST 235 depends on GENERIC_CLOCKEVENTS 236 depends on HAS_IOMEM 237 default SYS_SUPPORTS_SH_CMT 238 help 239 This enables build of a clocksource and clockevent driver for 240 the Compare Match Timer (CMT) hardware available in 16/32/48-bit 241 variants on a wide range of Mobile and Automotive SoCs from Renesas. 242 243config SH_TIMER_MTU2 244 bool "Renesas MTU2 timer driver" if COMPILE_TEST 245 depends on GENERIC_CLOCKEVENTS 246 depends on HAS_IOMEM 247 default SYS_SUPPORTS_SH_MTU2 248 help 249 This enables build of a clockevent driver for the Multi-Function 250 Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas. 251 This hardware comes with 16 bit-timer registers. 252 253config SH_TIMER_TMU 254 bool "Renesas TMU timer driver" if COMPILE_TEST 255 depends on GENERIC_CLOCKEVENTS 256 depends on HAS_IOMEM 257 default SYS_SUPPORTS_SH_TMU 258 help 259 This enables build of a clocksource and clockevent driver for 260 the 32-bit Timer Unit (TMU) hardware available on a wide range 261 SoCs from Renesas. 262 263config EM_TIMER_STI 264 bool "Renesas STI timer driver" if COMPILE_TEST 265 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM 266 default SYS_SUPPORTS_EM_STI 267 help 268 This enables build of a clocksource and clockevent driver for 269 the 48-bit System Timer (STI) hardware available on a SoCs 270 such as EMEV2 from former NEC Electronics. 271 272config CLKSRC_QCOM 273 bool 274 275config CLKSRC_VERSATILE 276 bool "ARM Versatile (Express) reference platforms clock source" 277 depends on PLAT_VERSATILE && GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET 278 select CLKSRC_OF 279 default y if MFD_VEXPRESS_SYSREG 280 help 281 This option enables clock source based on free running 282 counter available in the "System Registers" block of 283 ARM Versatile, RealView and Versatile Express reference 284 platforms. 285 286config CLKSRC_MIPS_GIC 287 bool 288 depends on MIPS_GIC 289 select CLKSRC_OF 290 291config CLKSRC_TANGO_XTAL 292 bool 293 select CLKSRC_OF 294 295config CLKSRC_PXA 296 def_bool y if ARCH_PXA || ARCH_SA1100 297 select CLKSRC_OF if OF 298 help 299 This enables OST0 support available on PXA and SA-11x0 300 platforms. 301 302config H8300_TMR16 303 bool 304 305config H8300_TPU 306 bool 307 308config CLKSRC_IMX_GPT 309 bool "Clocksource using i.MX GPT" if COMPILE_TEST 310 depends on ARM && CLKDEV_LOOKUP 311 select CLKSRC_MMIO 312 313config CLKSRC_ST_LPC 314 bool 315 depends on ARCH_STI 316 select CLKSRC_OF if OF 317 help 318 Enable this option to use the Low Power controller timer 319 as clocksource. 320 321endmenu 322