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