Merge tag 'dm-3.19-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device...
[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 MESON6_TIMER
34         bool
35
36 config ORION_TIMER
37         select CLKSRC_OF
38         select CLKSRC_MMIO
39         bool
40
41 config SUN4I_TIMER
42         select CLKSRC_MMIO
43         bool
44
45 config SUN5I_HSTIMER
46         select CLKSRC_MMIO
47         bool
48
49 config VT8500_TIMER
50         bool
51
52 config CADENCE_TTC_TIMER
53         bool
54
55 config 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
64 config 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
70 config 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
77 config 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
84 config 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
93 config ARM_ARCH_TIMER
94         bool
95         select CLKSRC_OF if OF
96
97 config 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
113 config 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
119 config 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
126 config ATMEL_PIT
127         select CLKSRC_OF if OF
128         def_bool SOC_AT91SAM9 || SOC_SAMA5
129
130 config CLKSRC_METAG_GENERIC
131         def_bool y if METAG
132         help
133           This option enables support for the Meta per-thread timers.
134
135 config 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
141 config 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
149 config FSL_FTM_TIMER
150         bool
151         help
152           Support for Freescale FlexTimer Module (FTM) timer.
153
154 config VF_PIT_TIMER
155         bool
156         help
157           Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
158
159 config SYS_SUPPORTS_SH_CMT
160         bool
161
162 config MTK_TIMER
163         select CLKSRC_OF
164         select CLKSRC_MMIO
165         bool
166
167 config SYS_SUPPORTS_SH_MTU2
168         bool
169
170 config SYS_SUPPORTS_SH_TMU
171         bool
172
173 config SYS_SUPPORTS_EM_STI
174         bool
175
176 config 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
185 config 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
194 config 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
203 config 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
212 config CLKSRC_QCOM
213         bool
214
215 config 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
226 endmenu