Merge tag 'socfpga_driver_for_v3.18' of git://git.rocketboards.org/linux-socfpga...
[cascardo/linux.git] / drivers / clocksource / Kconfig
1 menu "Clock Source drivers"
2
3 config CLKSRC_OF
4         bool
5
6 config CLKSRC_I8253
7         bool
8
9 config CLKEVT_I8253
10         bool
11
12 config I8253_LOCK
13         bool
14
15 config CLKBLD_I8253
16         def_bool y if CLKSRC_I8253 || CLKEVT_I8253 || I8253_LOCK
17
18 config CLKSRC_MMIO
19         bool
20
21 config DW_APB_TIMER
22         bool
23
24 config DW_APB_TIMER_OF
25         bool
26         select DW_APB_TIMER
27         select CLKSRC_OF
28
29 config ARMADA_370_XP_TIMER
30         bool
31         select CLKSRC_OF
32
33 config ORION_TIMER
34         select CLKSRC_OF
35         select CLKSRC_MMIO
36         bool
37
38 config SUN4I_TIMER
39         select CLKSRC_MMIO
40         bool
41
42 config SUN5I_HSTIMER
43         select CLKSRC_MMIO
44         bool
45
46 config VT8500_TIMER
47         bool
48
49 config CADENCE_TTC_TIMER
50         bool
51
52 config 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
61 config 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
67 config 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
74 config 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
81 config 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
90 config ARM_ARCH_TIMER
91         bool
92         select CLKSRC_OF if OF
93
94 config 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
110 config 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
116 config 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
123 config CLKSRC_METAG_GENERIC
124         def_bool y if METAG
125         help
126           This option enables support for the Meta per-thread timers.
127
128 config 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
134 config 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
142 config FSL_FTM_TIMER
143         bool
144         help
145           Support for Freescale FlexTimer Module (FTM) timer.
146
147 config VF_PIT_TIMER
148         bool
149         help
150           Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
151
152 config SYS_SUPPORTS_SH_CMT
153         bool
154
155 config MTK_TIMER
156         select CLKSRC_OF
157         select CLKSRC_MMIO
158         bool
159
160 config SYS_SUPPORTS_SH_MTU2
161         bool
162
163 config SYS_SUPPORTS_SH_TMU
164         bool
165
166 config SYS_SUPPORTS_EM_STI
167         bool
168
169 config 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
178 config 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
187 config 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
196 config 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
205 config CLKSRC_QCOM
206         bool
207
208 config 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
219 endmenu