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