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