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