xref: /openbmc/linux/drivers/clocksource/Kconfig (revision 1a4e39c2e5ca2eb494a53ecd73055562f690bca0)
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