blob: c062b6105d494ef804ebd4c5389b92ec4130a873 [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
Gregory CLEMENT6fe9cbd2012-06-13 18:58:09 +020029config ARMADA_370_XP_TIMER
30 bool
Jean Pihet7b0dd722013-09-18 20:55:09 +020031 select CLKSRC_OF
Gregory CLEMENT6fe9cbd2012-06-13 18:58:09 +020032
Carlo Caionee4a6b372014-09-29 01:50:05 +020033config MESON6_TIMER
34 bool
Beniamino Galvani7b6b0a42014-11-18 16:41:20 +010035 select CLKSRC_MMIO
Carlo Caionee4a6b372014-09-29 01:50:05 +020036
Sebastian Hesselbarth0c1dcfd2013-06-11 08:38:50 +020037config ORION_TIMER
38 select CLKSRC_OF
39 select CLKSRC_MMIO
40 bool
41
Maxime Ripard119fd632013-03-24 11:49:25 +010042config SUN4I_TIMER
Maxime Ripard71c568c2013-10-14 21:07:46 +020043 select CLKSRC_MMIO
Maxime Ripardb2ac5d72012-11-12 15:07:50 +010044 bool
45
Maxime Ripard67905542013-11-07 12:01:48 +010046config SUN5I_HSTIMER
47 select CLKSRC_MMIO
48 bool
49
Thierry Reding910978e72014-07-07 15:26:30 +020050config TEGRA_TIMER
51 bool
52
Tony Priskff7ec342013-01-14 17:58:21 +130053config VT8500_TIMER
54 bool
55
Michal Simek4f0f2342013-03-20 10:46:01 +010056config CADENCE_TTC_TIMER
57 bool
58
Linus Walleij694e33a2012-10-18 14:01:25 +020059config CLKSRC_NOMADIK_MTU
60 bool
61 depends on (ARCH_NOMADIK || ARCH_U8500)
62 select CLKSRC_MMIO
63 help
64 Support for Multi Timer Unit. MTU provides access
65 to multiple interrupt generating programmable
66 32-bit free running decrementing counters.
67
68config CLKSRC_NOMADIK_MTU_SCHED_CLOCK
69 bool
70 depends on CLKSRC_NOMADIK_MTU
71 help
72 Use the Multi Timer Unit as the sched_clock.
73
Mattias Wallin489bcce2011-05-27 10:30:12 +020074config CLKSRC_DBX500_PRCMU
75 bool "Clocksource PRCMU Timer"
Linus Walleij29746f42012-04-13 13:16:31 +020076 depends on UX500_SOC_DB8500
Mattias Wallin489bcce2011-05-27 10:30:12 +020077 default y
78 help
79 Use the always on PRCMU Timer as clocksource
80
81config CLKSRC_DBX500_PRCMU_SCHED_CLOCK
82 bool "Clocksource PRCMU Timer sched_clock"
Linus Walleij694e33a2012-10-18 14:01:25 +020083 depends on (CLKSRC_DBX500_PRCMU && !CLKSRC_NOMADIK_MTU_SCHED_CLOCK)
Mattias Wallin489bcce2011-05-27 10:30:12 +020084 default y
85 help
86 Use the always on PRCMU Timer as sched_clock
Marc Zyngier985c0672012-03-05 11:49:30 +000087
Uwe Kleine-König9c9b7812013-10-03 21:56:29 +020088config CLKSRC_EFM32
89 bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32
90 depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST)
Axel Lin09ca2752013-11-20 10:15:11 +080091 select CLKSRC_MMIO
Uwe Kleine-König9c9b7812013-10-03 21:56:29 +020092 default ARCH_EFM32
93 help
94 Support to use the timers of EFM32 SoCs as clock source and clock
95 event device.
96
Mark Rutland8a4da6e2012-11-12 14:33:44 +000097config ARM_ARCH_TIMER
98 bool
Rob Herring0583fe42013-04-10 18:27:51 -050099 select CLKSRC_OF if OF
James Hogana2c5d4e2012-10-09 10:54:39 +0100100
Will Deacon037f6372013-08-23 15:32:29 +0100101config ARM_ARCH_TIMER_EVTSTREAM
102 bool "Support for ARM architected timer event stream generation"
103 default y if ARM_ARCH_TIMER
Stephen Boyd77f7ce92013-11-20 12:02:03 -0800104 depends on ARM_ARCH_TIMER
Will Deacon037f6372013-08-23 15:32:29 +0100105 help
106 This option enables support for event stream generation based on
107 the ARM architected timer. It is used for waking up CPUs executing
108 the wfe instruction at a frequency represented as a power-of-2
109 divisor of the clock rate.
110 The main use of the event stream is wfe-based timeouts of userspace
111 locking implementations. It might also be useful for imposing timeout
112 on wfe to safeguard against any programming errors in case an expected
113 event is not generated.
114 This must be disabled for hardware validation purposes to detect any
115 hardware anomalies of missing events.
116
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100117config ARM_GLOBAL_TIMER
118 bool
119 select CLKSRC_OF if OF
120 help
121 This options enables support for the ARM global timer unit
122
123config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
124 bool
125 depends on ARM_GLOBAL_TIMER
126 default y
127 help
128 Use ARM global timer clock source as sched_clock
129
Maxime Ripardb052ff32014-09-02 18:12:35 +0200130config ATMEL_PIT
131 select CLKSRC_OF if OF
132 def_bool SOC_AT91SAM9 || SOC_SAMA5
133
James Hogana2c5d4e2012-10-09 10:54:39 +0100134config CLKSRC_METAG_GENERIC
135 def_bool y if METAG
136 help
137 This option enables support for the Meta per-thread timers.
Thomas Abraham6938d75a2013-03-09 16:16:13 +0900138
139config CLKSRC_EXYNOS_MCT
140 def_bool y if ARCH_EXYNOS
Doug Anderson3252a642014-07-05 06:43:26 +0900141 depends on !ARM64
Thomas Abraham6938d75a2013-03-09 16:16:13 +0900142 help
143 Support for Multi Core Timer controller on Exynos SoCs.
Arnd Bergmann241a9872013-05-06 23:49:09 +0200144
Tomasz Figaf1189982013-04-20 23:22:13 +0200145config CLKSRC_SAMSUNG_PWM
Tomasz Figa77d84432013-04-23 17:46:23 +0200146 bool
Tomasz Figaf1189982013-04-20 23:22:13 +0200147 help
148 This is a new clocksource driver for the PWM timer found in
149 Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
150 for all devicetree enabled platforms. This driver will be
151 needed only on systems that do not have the Exynos MCT available.
Jingchang Luc1967242013-05-29 10:12:17 +0200152
Xiubo Li2529c3a2014-05-23 10:12:04 +0200153config FSL_FTM_TIMER
154 bool
155 help
156 Support for Freescale FlexTimer Module (FTM) timer.
157
Jingchang Luc1967242013-05-29 10:12:17 +0200158config VF_PIT_TIMER
159 bool
160 help
161 Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
Magnus Dammfd3f1272014-02-20 12:54:45 +0100162
163config SYS_SUPPORTS_SH_CMT
164 bool
165
Matthias Bruggerecb35302014-07-18 11:36:43 +0200166config MTK_TIMER
167 select CLKSRC_OF
168 select CLKSRC_MMIO
169 bool
170
Magnus Dammfd3f1272014-02-20 12:54:45 +0100171config SYS_SUPPORTS_SH_MTU2
172 bool
173
174config SYS_SUPPORTS_SH_TMU
175 bool
176
177config SYS_SUPPORTS_EM_STI
178 bool
179
180config SH_TIMER_CMT
181 bool "Renesas CMT timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100182 depends on GENERIC_CLOCKEVENTS
Magnus Dammfd3f1272014-02-20 12:54:45 +0100183 default SYS_SUPPORTS_SH_CMT
184 help
185 This enables build of a clocksource and clockevent driver for
186 the Compare Match Timer (CMT) hardware available in 16/32/48-bit
187 variants on a wide range of Mobile and Automotive SoCs from Renesas.
188
189config SH_TIMER_MTU2
190 bool "Renesas MTU2 timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100191 depends on GENERIC_CLOCKEVENTS
Magnus Dammfd3f1272014-02-20 12:54:45 +0100192 default SYS_SUPPORTS_SH_MTU2
193 help
194 This enables build of a clockevent driver for the Multi-Function
Kuninori Morimoto7e139182014-07-18 11:36:36 +0200195 Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
Magnus Dammfd3f1272014-02-20 12:54:45 +0100196 This hardware comes with 16 bit-timer registers.
197
198config SH_TIMER_TMU
199 bool "Renesas TMU timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100200 depends on GENERIC_CLOCKEVENTS
Magnus Dammfd3f1272014-02-20 12:54:45 +0100201 default SYS_SUPPORTS_SH_TMU
202 help
203 This enables build of a clocksource and clockevent driver for
204 the 32-bit Timer Unit (TMU) hardware available on a wide range
205 SoCs from Renesas.
206
207config EM_TIMER_STI
208 bool "Renesas STI timer driver" if COMPILE_TEST
Chen Gang40c96312014-07-08 20:39:40 +0800209 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100210 default SYS_SUPPORTS_EM_STI
211 help
212 This enables build of a clocksource and clockevent driver for
213 the 48-bit System Timer (STI) hardware available on a SoCs
214 such as EMEV2 from former NEC Electronics.
Linus Torvaldsdfc25e42014-04-05 13:51:19 -0700215
Kumar Gala3f8e8ce2014-01-29 16:17:30 -0600216config CLKSRC_QCOM
217 bool
Pawel Moll220e2a82014-04-16 18:22:59 +0100218
219config CLKSRC_VERSATILE
220 bool "ARM Versatile (Express) reference platforms clock source"
Arnd Bergmannb33cdd22014-05-26 17:25:22 +0200221 depends on GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET
Pawel Moll220e2a82014-04-16 18:22:59 +0100222 select CLKSRC_OF
223 default y if MFD_VEXPRESS_SYSREG
224 help
225 This option enables clock source based on free running
226 counter available in the "System Registers" block of
227 ARM Versatile, RealView and Versatile Express reference
228 platforms.
Jean Delvare58394272014-06-16 11:48:45 +0200229
Andrew Brestickerfa5635a2014-10-20 12:03:58 -0700230config CLKSRC_MIPS_GIC
231 bool
232 depends on MIPS_GIC
Andrew Brestickere12aa822014-11-12 11:43:39 -0800233 select CLKSRC_OF
Andrew Brestickerfa5635a2014-10-20 12:03:58 -0700234
Jean Delvare58394272014-06-16 11:48:45 +0200235endmenu