blob: a89120bf640c9e3df7a82c2a8c23c45041c2d955 [file] [log] [blame]
Jean Delvare58394272014-06-16 11:48:45 +02001menu "Clock Source drivers"
2
Stephen Warrenae278a92012-11-19 16:41:20 -07003config CLKSRC_OF
4 bool
5
Russell King89c0b8e2011-05-08 18:47:58 +01006config CLKSRC_I8253
7 bool
Russell King442c8172011-05-08 14:06:52 +01008
Thomas Gleixnere6220bd2011-06-09 13:08:25 +00009config CLKEVT_I8253
10 bool
11
Ralf Baechle15f304b2011-06-01 19:04:59 +010012config I8253_LOCK
13 bool
14
15config CLKBLD_I8253
Thomas Gleixnere6220bd2011-06-09 13:08:25 +000016 def_bool y if CLKSRC_I8253 || CLKEVT_I8253 || I8253_LOCK
Ralf Baechle15f304b2011-06-01 19:04:59 +010017
Russell King442c8172011-05-08 14:06:52 +010018config CLKSRC_MMIO
19 bool
Jamie Iles06c3df42011-06-06 12:43:07 +010020
21config DW_APB_TIMER
22 bool
Mattias Wallin489bcce2011-05-27 10:30:12 +020023
Dinh Nguyencfda5902012-07-11 15:13:16 -050024config DW_APB_TIMER_OF
25 bool
Heiko Stuebner1b4eca02013-06-04 11:38:11 +020026 select DW_APB_TIMER
Heiko Stuebner10021482013-06-04 11:38:42 +020027 select CLKSRC_OF
Dinh Nguyencfda5902012-07-11 15:13:16 -050028
Daniel Lezcano468b8c42015-01-25 22:06:02 +010029config ROCKCHIP_TIMER
30 bool
31 select CLKSRC_OF
32
Gregory CLEMENT6fe9cbd2012-06-13 18:58:09 +020033config ARMADA_370_XP_TIMER
34 bool
Jean Pihet7b0dd722013-09-18 20:55:09 +020035 select CLKSRC_OF
Gregory CLEMENT6fe9cbd2012-06-13 18:58:09 +020036
Carlo Caionee4a6b372014-09-29 01:50:05 +020037config MESON6_TIMER
38 bool
Beniamino Galvani7b6b0a42014-11-18 16:41:20 +010039 select CLKSRC_MMIO
Carlo Caionee4a6b372014-09-29 01:50:05 +020040
Sebastian Hesselbarth0c1dcfd2013-06-11 08:38:50 +020041config ORION_TIMER
42 select CLKSRC_OF
43 select CLKSRC_MMIO
44 bool
45
Maxime Ripard119fd632013-03-24 11:49:25 +010046config SUN4I_TIMER
Maxime Ripard71c568c2013-10-14 21:07:46 +020047 select CLKSRC_MMIO
Maxime Ripardb2ac5d72012-11-12 15:07:50 +010048 bool
49
Maxime Ripard67905542013-11-07 12:01:48 +010050config SUN5I_HSTIMER
51 select CLKSRC_MMIO
52 bool
53
Tony Priskff7ec342013-01-14 17:58:21 +130054config VT8500_TIMER
55 bool
56
Michal Simek4f0f2342013-03-20 10:46:01 +010057config CADENCE_TTC_TIMER
58 bool
59
Linus Walleij694e33a2012-10-18 14:01:25 +020060config CLKSRC_NOMADIK_MTU
61 bool
62 depends on (ARCH_NOMADIK || ARCH_U8500)
63 select CLKSRC_MMIO
64 help
65 Support for Multi Timer Unit. MTU provides access
66 to multiple interrupt generating programmable
67 32-bit free running decrementing counters.
68
69config CLKSRC_NOMADIK_MTU_SCHED_CLOCK
70 bool
71 depends on CLKSRC_NOMADIK_MTU
72 help
73 Use the Multi Timer Unit as the sched_clock.
74
Mattias Wallin489bcce2011-05-27 10:30:12 +020075config CLKSRC_DBX500_PRCMU
76 bool "Clocksource PRCMU Timer"
Linus Walleij29746f42012-04-13 13:16:31 +020077 depends on UX500_SOC_DB8500
Mattias Wallin489bcce2011-05-27 10:30:12 +020078 default y
79 help
80 Use the always on PRCMU Timer as clocksource
81
82config CLKSRC_DBX500_PRCMU_SCHED_CLOCK
83 bool "Clocksource PRCMU Timer sched_clock"
Linus Walleij694e33a2012-10-18 14:01:25 +020084 depends on (CLKSRC_DBX500_PRCMU && !CLKSRC_NOMADIK_MTU_SCHED_CLOCK)
Mattias Wallin489bcce2011-05-27 10:30:12 +020085 default y
86 help
87 Use the always on PRCMU Timer as sched_clock
Marc Zyngier985c0672012-03-05 11:49:30 +000088
Uwe Kleine-König9c9b7812013-10-03 21:56:29 +020089config CLKSRC_EFM32
90 bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32
91 depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST)
Axel Lin09ca2752013-11-20 10:15:11 +080092 select CLKSRC_MMIO
Uwe Kleine-König9c9b7812013-10-03 21:56:29 +020093 default ARCH_EFM32
94 help
95 Support to use the timers of EFM32 SoCs as clock source and clock
96 event device.
97
Mark Rutland8a4da6e2012-11-12 14:33:44 +000098config ARM_ARCH_TIMER
99 bool
Rob Herring0583fe42013-04-10 18:27:51 -0500100 select CLKSRC_OF if OF
James Hogana2c5d4e2012-10-09 10:54:39 +0100101
Will Deacon037f6372013-08-23 15:32:29 +0100102config ARM_ARCH_TIMER_EVTSTREAM
103 bool "Support for ARM architected timer event stream generation"
104 default y if ARM_ARCH_TIMER
Stephen Boyd77f7ce92013-11-20 12:02:03 -0800105 depends on ARM_ARCH_TIMER
Will Deacon037f6372013-08-23 15:32:29 +0100106 help
107 This option enables support for event stream generation based on
108 the ARM architected timer. It is used for waking up CPUs executing
109 the wfe instruction at a frequency represented as a power-of-2
110 divisor of the clock rate.
111 The main use of the event stream is wfe-based timeouts of userspace
112 locking implementations. It might also be useful for imposing timeout
113 on wfe to safeguard against any programming errors in case an expected
114 event is not generated.
115 This must be disabled for hardware validation purposes to detect any
116 hardware anomalies of missing events.
117
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100118config ARM_GLOBAL_TIMER
119 bool
120 select CLKSRC_OF if OF
121 help
122 This options enables support for the ARM global timer unit
123
124config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
125 bool
126 depends on ARM_GLOBAL_TIMER
127 default y
128 help
129 Use ARM global timer clock source as sched_clock
130
Maxime Ripardb052ff32014-09-02 18:12:35 +0200131config ATMEL_PIT
132 select CLKSRC_OF if OF
133 def_bool SOC_AT91SAM9 || SOC_SAMA5
134
James Hogana2c5d4e2012-10-09 10:54:39 +0100135config CLKSRC_METAG_GENERIC
136 def_bool y if METAG
137 help
138 This option enables support for the Meta per-thread timers.
Thomas Abraham6938d75a2013-03-09 16:16:13 +0900139
140config CLKSRC_EXYNOS_MCT
141 def_bool y if ARCH_EXYNOS
Doug Anderson3252a642014-07-05 06:43:26 +0900142 depends on !ARM64
Thomas Abraham6938d75a2013-03-09 16:16:13 +0900143 help
144 Support for Multi Core Timer controller on Exynos SoCs.
Arnd Bergmann241a9872013-05-06 23:49:09 +0200145
Tomasz Figaf1189982013-04-20 23:22:13 +0200146config CLKSRC_SAMSUNG_PWM
Tomasz Figa77d84432013-04-23 17:46:23 +0200147 bool
Tomasz Figaf1189982013-04-20 23:22:13 +0200148 help
149 This is a new clocksource driver for the PWM timer found in
150 Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
151 for all devicetree enabled platforms. This driver will be
152 needed only on systems that do not have the Exynos MCT available.
Jingchang Luc1967242013-05-29 10:12:17 +0200153
Xiubo Li2529c3a2014-05-23 10:12:04 +0200154config FSL_FTM_TIMER
155 bool
156 help
157 Support for Freescale FlexTimer Module (FTM) timer.
158
Jingchang Luc1967242013-05-29 10:12:17 +0200159config VF_PIT_TIMER
160 bool
161 help
162 Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
Magnus Dammfd3f1272014-02-20 12:54:45 +0100163
164config SYS_SUPPORTS_SH_CMT
165 bool
166
Matthias Bruggerecb35302014-07-18 11:36:43 +0200167config MTK_TIMER
168 select CLKSRC_OF
169 select CLKSRC_MMIO
170 bool
171
Magnus Dammfd3f1272014-02-20 12:54:45 +0100172config SYS_SUPPORTS_SH_MTU2
173 bool
174
175config SYS_SUPPORTS_SH_TMU
176 bool
177
178config SYS_SUPPORTS_EM_STI
179 bool
180
181config SH_TIMER_CMT
182 bool "Renesas CMT timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100183 depends on GENERIC_CLOCKEVENTS
Magnus Dammfd3f1272014-02-20 12:54:45 +0100184 default SYS_SUPPORTS_SH_CMT
185 help
186 This enables build of a clocksource and clockevent driver for
187 the Compare Match Timer (CMT) hardware available in 16/32/48-bit
188 variants on a wide range of Mobile and Automotive SoCs from Renesas.
189
190config SH_TIMER_MTU2
191 bool "Renesas MTU2 timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100192 depends on GENERIC_CLOCKEVENTS
Magnus Dammfd3f1272014-02-20 12:54:45 +0100193 default SYS_SUPPORTS_SH_MTU2
194 help
195 This enables build of a clockevent driver for the Multi-Function
Kuninori Morimoto7e139182014-07-18 11:36:36 +0200196 Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
Magnus Dammfd3f1272014-02-20 12:54:45 +0100197 This hardware comes with 16 bit-timer registers.
198
199config SH_TIMER_TMU
200 bool "Renesas TMU timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100201 depends on GENERIC_CLOCKEVENTS
Magnus Dammfd3f1272014-02-20 12:54:45 +0100202 default SYS_SUPPORTS_SH_TMU
203 help
204 This enables build of a clocksource and clockevent driver for
205 the 32-bit Timer Unit (TMU) hardware available on a wide range
206 SoCs from Renesas.
207
208config EM_TIMER_STI
209 bool "Renesas STI timer driver" if COMPILE_TEST
Chen Gang40c96312014-07-08 20:39:40 +0800210 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100211 default SYS_SUPPORTS_EM_STI
212 help
213 This enables build of a clocksource and clockevent driver for
214 the 48-bit System Timer (STI) hardware available on a SoCs
215 such as EMEV2 from former NEC Electronics.
Linus Torvaldsdfc25e42014-04-05 13:51:19 -0700216
Kumar Gala3f8e8ce2014-01-29 16:17:30 -0600217config CLKSRC_QCOM
218 bool
Pawel Moll220e2a82014-04-16 18:22:59 +0100219
220config CLKSRC_VERSATILE
221 bool "ARM Versatile (Express) reference platforms clock source"
Arnd Bergmannb33cdd22014-05-26 17:25:22 +0200222 depends on GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET
Pawel Moll220e2a82014-04-16 18:22:59 +0100223 select CLKSRC_OF
224 default y if MFD_VEXPRESS_SYSREG
225 help
226 This option enables clock source based on free running
227 counter available in the "System Registers" block of
228 ARM Versatile, RealView and Versatile Express reference
229 platforms.
Jean Delvare58394272014-06-16 11:48:45 +0200230
Andrew Brestickerfa5635a2014-10-20 12:03:58 -0700231config CLKSRC_MIPS_GIC
232 bool
233 depends on MIPS_GIC
Andrew Brestickere12aa822014-11-12 11:43:39 -0800234 select CLKSRC_OF
Andrew Brestickerfa5635a2014-10-20 12:03:58 -0700235
Oleksij Rempel8d8bd7b2015-01-08 10:07:22 +0100236config ASM9260_TIMER
237 bool "Alphascale ASM9260 timer driver"
238 depends on GENERIC_CLOCKEVENTS
239 select CLKSRC_MMIO
240 select CLKSRC_OF
241 default y if MACH_ASM9260
242 help
243 This enables build of a clocksource and clockevent driver for
244 the 32-bit System Timer hardware available on a Alphascale ASM9260.
245
Jean Delvare58394272014-06-16 11:48:45 +0200246endmenu