blob: cb7e7f417a60198d58072f8ee5507d80df6804f1 [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
35
Sebastian Hesselbarth0c1dcfd2013-06-11 08:38:50 +020036config ORION_TIMER
37 select CLKSRC_OF
38 select CLKSRC_MMIO
39 bool
40
Maxime Ripard119fd632013-03-24 11:49:25 +010041config SUN4I_TIMER
Maxime Ripard71c568c2013-10-14 21:07:46 +020042 select CLKSRC_MMIO
Maxime Ripardb2ac5d72012-11-12 15:07:50 +010043 bool
44
Maxime Ripard67905542013-11-07 12:01:48 +010045config SUN5I_HSTIMER
46 select CLKSRC_MMIO
47 bool
48
Tony Priskff7ec342013-01-14 17:58:21 +130049config VT8500_TIMER
50 bool
51
Michal Simek4f0f2342013-03-20 10:46:01 +010052config CADENCE_TTC_TIMER
53 bool
54
Linus Walleij694e33a2012-10-18 14:01:25 +020055config 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
Mattias Wallin489bcce2011-05-27 10:30:12 +020070config CLKSRC_DBX500_PRCMU
71 bool "Clocksource PRCMU Timer"
Linus Walleij29746f42012-04-13 13:16:31 +020072 depends on UX500_SOC_DB8500
Mattias Wallin489bcce2011-05-27 10:30:12 +020073 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"
Linus Walleij694e33a2012-10-18 14:01:25 +020079 depends on (CLKSRC_DBX500_PRCMU && !CLKSRC_NOMADIK_MTU_SCHED_CLOCK)
Mattias Wallin489bcce2011-05-27 10:30:12 +020080 default y
81 help
82 Use the always on PRCMU Timer as sched_clock
Marc Zyngier985c0672012-03-05 11:49:30 +000083
Uwe Kleine-König9c9b7812013-10-03 21:56:29 +020084config CLKSRC_EFM32
85 bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32
86 depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST)
Axel Lin09ca2752013-11-20 10:15:11 +080087 select CLKSRC_MMIO
Uwe Kleine-König9c9b7812013-10-03 21:56:29 +020088 default ARCH_EFM32
89 help
90 Support to use the timers of EFM32 SoCs as clock source and clock
91 event device.
92
Mark Rutland8a4da6e2012-11-12 14:33:44 +000093config ARM_ARCH_TIMER
94 bool
Rob Herring0583fe42013-04-10 18:27:51 -050095 select CLKSRC_OF if OF
James Hogana2c5d4e2012-10-09 10:54:39 +010096
Will Deacon037f6372013-08-23 15:32:29 +010097config ARM_ARCH_TIMER_EVTSTREAM
98 bool "Support for ARM architected timer event stream generation"
99 default y if ARM_ARCH_TIMER
Stephen Boyd77f7ce92013-11-20 12:02:03 -0800100 depends on ARM_ARCH_TIMER
Will Deacon037f6372013-08-23 15:32:29 +0100101 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
Stuart Menefyc1b40e42013-06-26 12:48:38 +0100113config 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
Maxime Ripardb052ff32014-09-02 18:12:35 +0200126config ATMEL_PIT
127 select CLKSRC_OF if OF
128 def_bool SOC_AT91SAM9 || SOC_SAMA5
129
James Hogana2c5d4e2012-10-09 10:54:39 +0100130config CLKSRC_METAG_GENERIC
131 def_bool y if METAG
132 help
133 This option enables support for the Meta per-thread timers.
Thomas Abraham6938d75a2013-03-09 16:16:13 +0900134
135config CLKSRC_EXYNOS_MCT
136 def_bool y if ARCH_EXYNOS
Doug Anderson3252a642014-07-05 06:43:26 +0900137 depends on !ARM64
Thomas Abraham6938d75a2013-03-09 16:16:13 +0900138 help
139 Support for Multi Core Timer controller on Exynos SoCs.
Arnd Bergmann241a9872013-05-06 23:49:09 +0200140
Tomasz Figaf1189982013-04-20 23:22:13 +0200141config CLKSRC_SAMSUNG_PWM
Tomasz Figa77d84432013-04-23 17:46:23 +0200142 bool
Tomasz Figaf1189982013-04-20 23:22:13 +0200143 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.
Jingchang Luc1967242013-05-29 10:12:17 +0200148
Xiubo Li2529c3a2014-05-23 10:12:04 +0200149config FSL_FTM_TIMER
150 bool
151 help
152 Support for Freescale FlexTimer Module (FTM) timer.
153
Jingchang Luc1967242013-05-29 10:12:17 +0200154config VF_PIT_TIMER
155 bool
156 help
157 Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
Magnus Dammfd3f1272014-02-20 12:54:45 +0100158
159config SYS_SUPPORTS_SH_CMT
160 bool
161
Matthias Bruggerecb35302014-07-18 11:36:43 +0200162config MTK_TIMER
163 select CLKSRC_OF
164 select CLKSRC_MMIO
165 bool
166
Magnus Dammfd3f1272014-02-20 12:54:45 +0100167config 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
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100178 depends on GENERIC_CLOCKEVENTS
Magnus Dammfd3f1272014-02-20 12:54:45 +0100179 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
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100187 depends on GENERIC_CLOCKEVENTS
Magnus Dammfd3f1272014-02-20 12:54:45 +0100188 default SYS_SUPPORTS_SH_MTU2
189 help
190 This enables build of a clockevent driver for the Multi-Function
Kuninori Morimoto7e139182014-07-18 11:36:36 +0200191 Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
Magnus Dammfd3f1272014-02-20 12:54:45 +0100192 This hardware comes with 16 bit-timer registers.
193
194config SH_TIMER_TMU
195 bool "Renesas TMU timer driver" if COMPILE_TEST
Geert Uytterhoeven87291a92014-03-20 15:05:50 +0100196 depends on GENERIC_CLOCKEVENTS
Magnus Dammfd3f1272014-02-20 12:54:45 +0100197 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
Chen Gang40c96312014-07-08 20:39:40 +0800205 depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
Magnus Dammfd3f1272014-02-20 12:54:45 +0100206 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.
Linus Torvaldsdfc25e42014-04-05 13:51:19 -0700211
Kumar Gala3f8e8ce2014-01-29 16:17:30 -0600212config CLKSRC_QCOM
213 bool
Pawel Moll220e2a82014-04-16 18:22:59 +0100214
215config CLKSRC_VERSATILE
216 bool "ARM Versatile (Express) reference platforms clock source"
Arnd Bergmannb33cdd22014-05-26 17:25:22 +0200217 depends on GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET
Pawel Moll220e2a82014-04-16 18:22:59 +0100218 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.
Jean Delvare58394272014-06-16 11:48:45 +0200225
Andrew Brestickerfa5635a2014-10-20 12:03:58 -0700226config CLKSRC_MIPS_GIC
227 bool
228 depends on MIPS_GIC
229
Jean Delvare58394272014-06-16 11:48:45 +0200230endmenu