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_GLOBAL_TIMER 114 bool 115 select CLKSRC_OF if OF 116 help 117 This options enables support for the ARM global timer unit 118 119config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK 120 bool 121 depends on ARM_GLOBAL_TIMER 122 default y 123 help 124 Use ARM global timer clock source as sched_clock 125 126config ATMEL_PIT 127 select CLKSRC_OF if OF 128 def_bool SOC_AT91SAM9 || SOC_SAMA5 129 130config CLKSRC_METAG_GENERIC 131 def_bool y if METAG 132 help 133 This option enables support for the Meta per-thread timers. 134 135config CLKSRC_EXYNOS_MCT 136 def_bool y if ARCH_EXYNOS 137 depends on !ARM64 138 help 139 Support for Multi Core Timer controller on Exynos SoCs. 140 141config CLKSRC_SAMSUNG_PWM 142 bool 143 help 144 This is a new clocksource driver for the PWM timer found in 145 Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver 146 for all devicetree enabled platforms. This driver will be 147 needed only on systems that do not have the Exynos MCT available. 148 149config FSL_FTM_TIMER 150 bool 151 help 152 Support for Freescale FlexTimer Module (FTM) timer. 153 154config VF_PIT_TIMER 155 bool 156 help 157 Support for Period Interrupt Timer on Freescale Vybrid Family SoCs. 158 159config SYS_SUPPORTS_SH_CMT 160 bool 161 162config MTK_TIMER 163 select CLKSRC_OF 164 select CLKSRC_MMIO 165 bool 166 167config SYS_SUPPORTS_SH_MTU2 168 bool 169 170config SYS_SUPPORTS_SH_TMU 171 bool 172 173config SYS_SUPPORTS_EM_STI 174 bool 175 176config SH_TIMER_CMT 177 bool "Renesas CMT timer driver" if COMPILE_TEST 178 depends on GENERIC_CLOCKEVENTS 179 default SYS_SUPPORTS_SH_CMT 180 help 181 This enables build of a clocksource and clockevent driver for 182 the Compare Match Timer (CMT) hardware available in 16/32/48-bit 183 variants on a wide range of Mobile and Automotive SoCs from Renesas. 184 185config SH_TIMER_MTU2 186 bool "Renesas MTU2 timer driver" if COMPILE_TEST 187 depends on GENERIC_CLOCKEVENTS 188 default SYS_SUPPORTS_SH_MTU2 189 help 190 This enables build of a clockevent driver for the Multi-Function 191 Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas. 192 This hardware comes with 16 bit-timer registers. 193 194config SH_TIMER_TMU 195 bool "Renesas TMU timer driver" if COMPILE_TEST 196 depends on GENERIC_CLOCKEVENTS 197 default SYS_SUPPORTS_SH_TMU 198 help 199 This enables build of a clocksource and clockevent driver for 200 the 32-bit Timer Unit (TMU) hardware available on a wide range 201 SoCs from Renesas. 202 203config EM_TIMER_STI 204 bool "Renesas STI timer driver" if COMPILE_TEST 205 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM 206 default SYS_SUPPORTS_EM_STI 207 help 208 This enables build of a clocksource and clockevent driver for 209 the 48-bit System Timer (STI) hardware available on a SoCs 210 such as EMEV2 from former NEC Electronics. 211 212config CLKSRC_QCOM 213 bool 214 215config CLKSRC_VERSATILE 216 bool "ARM Versatile (Express) reference platforms clock source" 217 depends on GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET 218 select CLKSRC_OF 219 default y if MFD_VEXPRESS_SYSREG 220 help 221 This option enables clock source based on free running 222 counter available in the "System Registers" block of 223 ARM Versatile, RealView and Versatile Express reference 224 platforms. 225 226endmenu 227