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 DW_APB_TIMER 22 bool 23 24config DW_APB_TIMER_OF 25 bool 26 select DW_APB_TIMER 27 select CLKSRC_OF 28 29config ARMADA_370_XP_TIMER 30 bool 31 select CLKSRC_OF 32 33config MESON6_TIMER 34 bool 35 36config ORION_TIMER 37 select CLKSRC_OF 38 select CLKSRC_MMIO 39 bool 40 41config SUN4I_TIMER 42 select CLKSRC_MMIO 43 bool 44 45config SUN5I_HSTIMER 46 select CLKSRC_MMIO 47 bool 48 49config VT8500_TIMER 50 bool 51 52config CADENCE_TTC_TIMER 53 bool 54 55config CLKSRC_NOMADIK_MTU 56 bool 57 depends on (ARCH_NOMADIK || ARCH_U8500) 58 select CLKSRC_MMIO 59 help 60 Support for Multi Timer Unit. MTU provides access 61 to multiple interrupt generating programmable 62 32-bit free running decrementing counters. 63 64config CLKSRC_NOMADIK_MTU_SCHED_CLOCK 65 bool 66 depends on CLKSRC_NOMADIK_MTU 67 help 68 Use the Multi Timer Unit as the sched_clock. 69 70config CLKSRC_DBX500_PRCMU 71 bool "Clocksource PRCMU Timer" 72 depends on UX500_SOC_DB8500 73 default y 74 help 75 Use the always on PRCMU Timer as clocksource 76 77config CLKSRC_DBX500_PRCMU_SCHED_CLOCK 78 bool "Clocksource PRCMU Timer sched_clock" 79 depends on (CLKSRC_DBX500_PRCMU && !CLKSRC_NOMADIK_MTU_SCHED_CLOCK) 80 default y 81 help 82 Use the always on PRCMU Timer as sched_clock 83 84config CLKSRC_EFM32 85 bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32 86 depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST) 87 select CLKSRC_MMIO 88 default ARCH_EFM32 89 help 90 Support to use the timers of EFM32 SoCs as clock source and clock 91 event device. 92 93config ARM_ARCH_TIMER 94 bool 95 select CLKSRC_OF if OF 96 97config ARM_ARCH_TIMER_EVTSTREAM 98 bool "Support for ARM architected timer event stream generation" 99 default y if ARM_ARCH_TIMER 100 depends on ARM_ARCH_TIMER 101 help 102 This option enables support for event stream generation based on 103 the ARM architected timer. It is used for waking up CPUs executing 104 the wfe instruction at a frequency represented as a power-of-2 105 divisor of the clock rate. 106 The main use of the event stream is wfe-based timeouts of userspace 107 locking implementations. It might also be useful for imposing timeout 108 on wfe to safeguard against any programming errors in case an expected 109 event is not generated. 110 This must be disabled for hardware validation purposes to detect any 111 hardware anomalies of missing events. 112 113config ARM_ARCH_TIMER_VCT_ACCESS 114 bool "Support for ARM architected timer virtual counter access in userspace" 115 default !ARM64 116 depends on ARM_ARCH_TIMER 117 help 118 This option enables support for reading the ARM architected timer's 119 virtual counter in userspace. 120 121config ARM_GLOBAL_TIMER 122 bool 123 select CLKSRC_OF if OF 124 help 125 This options enables support for the ARM global timer unit 126 127config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK 128 bool 129 depends on ARM_GLOBAL_TIMER 130 default y 131 help 132 Use ARM global timer clock source as sched_clock 133 134config ATMEL_PIT 135 select CLKSRC_OF if OF 136 def_bool SOC_AT91SAM9 || SOC_SAMA5 137 138config CLKSRC_METAG_GENERIC 139 def_bool y if METAG 140 help 141 This option enables support for the Meta per-thread timers. 142 143config CLKSRC_EXYNOS_MCT 144 def_bool y if ARCH_EXYNOS 145 depends on !ARM64 146 help 147 Support for Multi Core Timer controller on Exynos SoCs. 148 149config CLKSRC_SAMSUNG_PWM 150 bool 151 help 152 This is a new clocksource driver for the PWM timer found in 153 Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver 154 for all devicetree enabled platforms. This driver will be 155 needed only on systems that do not have the Exynos MCT available. 156 157config FSL_FTM_TIMER 158 bool 159 help 160 Support for Freescale FlexTimer Module (FTM) timer. 161 162config VF_PIT_TIMER 163 bool 164 help 165 Support for Period Interrupt Timer on Freescale Vybrid Family SoCs. 166 167config SYS_SUPPORTS_SH_CMT 168 bool 169 170config MTK_TIMER 171 select CLKSRC_OF 172 select CLKSRC_MMIO 173 bool 174 175config SYS_SUPPORTS_SH_MTU2 176 bool 177 178config SYS_SUPPORTS_SH_TMU 179 bool 180 181config SYS_SUPPORTS_EM_STI 182 bool 183 184config SH_TIMER_CMT 185 bool "Renesas CMT timer driver" if COMPILE_TEST 186 depends on GENERIC_CLOCKEVENTS 187 default SYS_SUPPORTS_SH_CMT 188 help 189 This enables build of a clocksource and clockevent driver for 190 the Compare Match Timer (CMT) hardware available in 16/32/48-bit 191 variants on a wide range of Mobile and Automotive SoCs from Renesas. 192 193config SH_TIMER_MTU2 194 bool "Renesas MTU2 timer driver" if COMPILE_TEST 195 depends on GENERIC_CLOCKEVENTS 196 default SYS_SUPPORTS_SH_MTU2 197 help 198 This enables build of a clockevent driver for the Multi-Function 199 Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas. 200 This hardware comes with 16 bit-timer registers. 201 202config SH_TIMER_TMU 203 bool "Renesas TMU timer driver" if COMPILE_TEST 204 depends on GENERIC_CLOCKEVENTS 205 default SYS_SUPPORTS_SH_TMU 206 help 207 This enables build of a clocksource and clockevent driver for 208 the 32-bit Timer Unit (TMU) hardware available on a wide range 209 SoCs from Renesas. 210 211config EM_TIMER_STI 212 bool "Renesas STI timer driver" if COMPILE_TEST 213 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM 214 default SYS_SUPPORTS_EM_STI 215 help 216 This enables build of a clocksource and clockevent driver for 217 the 48-bit System Timer (STI) hardware available on a SoCs 218 such as EMEV2 from former NEC Electronics. 219 220config CLKSRC_QCOM 221 bool 222 223config CLKSRC_VERSATILE 224 bool "ARM Versatile (Express) reference platforms clock source" 225 depends on GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET 226 select CLKSRC_OF 227 default y if MFD_VEXPRESS_SYSREG 228 help 229 This option enables clock source based on free running 230 counter available in the "System Registers" block of 231 ARM Versatile, RealView and Versatile Express reference 232 platforms. 233 234endmenu 235