Merge branches 'clk-of-refcount', 'clk-mmio-fixed-clock', 'clk-remove-clps', 'clk...
[sfrench/cifs-2.6.git] / drivers / clk / Kconfig
1
2 config CLKDEV_LOOKUP
3         bool
4         select HAVE_CLK
5
6 config HAVE_CLK_PREPARE
7         bool
8
9 config COMMON_CLK
10         bool
11         select HAVE_CLK_PREPARE
12         select CLKDEV_LOOKUP
13         select SRCU
14         select RATIONAL
15         ---help---
16           The common clock framework is a single definition of struct
17           clk, useful across many platforms, as well as an
18           implementation of the clock API in include/linux/clk.h.
19           Architectures utilizing the common struct clk should select
20           this option.
21
22 menu "Common Clock Framework"
23         depends on COMMON_CLK
24
25 config COMMON_CLK_WM831X
26         tristate "Clock driver for WM831x/2x PMICs"
27         depends on MFD_WM831X
28         ---help---
29           Supports the clocking subsystem of the WM831x/2x series of
30           PMICs from Wolfson Microelectronics.
31
32 source "drivers/clk/versatile/Kconfig"
33
34 config CLK_HSDK
35         bool "PLL Driver for HSDK platform"
36         depends on OF || COMPILE_TEST
37         ---help---
38           This driver supports the HSDK core, system, ddr, tunnel and hdmi PLLs
39           control.
40
41 config COMMON_CLK_MAX77686
42         tristate "Clock driver for Maxim 77620/77686/77802 MFD"
43         depends on MFD_MAX77686 || MFD_MAX77620 || COMPILE_TEST
44         ---help---
45           This driver supports Maxim 77620/77686/77802 crystal oscillator
46           clock.
47
48 config COMMON_CLK_MAX9485
49         tristate "Maxim 9485 Programmable Clock Generator"
50         depends on I2C
51         help
52           This driver supports Maxim 9485 Programmable Audio Clock Generator
53
54 config COMMON_CLK_RK808
55         tristate "Clock driver for RK805/RK808/RK818"
56         depends on MFD_RK808
57         ---help---
58           This driver supports RK805, RK808 and RK818 crystal oscillator clock. These
59           multi-function devices have two fixed-rate oscillators,
60           clocked at 32KHz each. Clkout1 is always on, Clkout2 can off
61           by control register.
62
63 config COMMON_CLK_HI655X
64         tristate "Clock driver for Hi655x" if EXPERT
65         depends on (MFD_HI655X_PMIC || COMPILE_TEST)
66         depends on REGMAP
67         default MFD_HI655X_PMIC
68         ---help---
69           This driver supports the hi655x PMIC clock. This
70           multi-function device has one fixed-rate oscillator, clocked
71           at 32KHz.
72
73 config COMMON_CLK_SCMI
74         tristate "Clock driver controlled via SCMI interface"
75         depends on ARM_SCMI_PROTOCOL || COMPILE_TEST
76           ---help---
77           This driver provides support for clocks that are controlled
78           by firmware that implements the SCMI interface.
79
80           This driver uses SCMI Message Protocol to interact with the
81           firmware providing all the clock controls.
82
83 config COMMON_CLK_SCPI
84         tristate "Clock driver controlled via SCPI interface"
85         depends on ARM_SCPI_PROTOCOL || COMPILE_TEST
86           ---help---
87           This driver provides support for clocks that are controlled
88           by firmware that implements the SCPI interface.
89
90           This driver uses SCPI Message Protocol to interact with the
91           firmware providing all the clock controls.
92
93 config COMMON_CLK_SI5351
94         tristate "Clock driver for SiLabs 5351A/B/C"
95         depends on I2C
96         select REGMAP_I2C
97         select RATIONAL
98         ---help---
99           This driver supports Silicon Labs 5351A/B/C programmable clock
100           generators.
101
102 config COMMON_CLK_SI514
103         tristate "Clock driver for SiLabs 514 devices"
104         depends on I2C
105         depends on OF
106         select REGMAP_I2C
107         help
108         ---help---
109           This driver supports the Silicon Labs 514 programmable clock
110           generator.
111
112 config COMMON_CLK_SI544
113         tristate "Clock driver for SiLabs 544 devices"
114         depends on I2C
115         select REGMAP_I2C
116         help
117         ---help---
118           This driver supports the Silicon Labs 544 programmable clock
119           generator.
120
121 config COMMON_CLK_SI570
122         tristate "Clock driver for SiLabs 570 and compatible devices"
123         depends on I2C
124         depends on OF
125         select REGMAP_I2C
126         help
127         ---help---
128           This driver supports Silicon Labs 570/571/598/599 programmable
129           clock generators.
130
131 config COMMON_CLK_CDCE706
132         tristate "Clock driver for TI CDCE706 clock synthesizer"
133         depends on I2C
134         select REGMAP_I2C
135         select RATIONAL
136         ---help---
137           This driver supports TI CDCE706 programmable 3-PLL clock synthesizer.
138
139 config COMMON_CLK_CDCE925
140         tristate "Clock driver for TI CDCE913/925/937/949 devices"
141         depends on I2C
142         depends on OF
143         select REGMAP_I2C
144         help
145         ---help---
146           This driver supports the TI CDCE913/925/937/949 programmable clock
147           synthesizer. Each chip has different number of PLLs and outputs.
148           For example, the CDCE925 contains two PLLs with spread-spectrum
149           clocking support and five output dividers. The driver only supports
150           the following setup, and uses a fixed setting for the output muxes.
151           Y1 is derived from the input clock
152           Y2 and Y3 derive from PLL1
153           Y4 and Y5 derive from PLL2
154           Given a target output frequency, the driver will set the PLL and
155           divider to best approximate the desired output.
156
157 config COMMON_CLK_CS2000_CP
158         tristate "Clock driver for CS2000 Fractional-N Clock Synthesizer & Clock Multiplier"
159         depends on I2C
160         help
161           If you say yes here you get support for the CS2000 clock multiplier.
162
163 config COMMON_CLK_GEMINI
164         bool "Clock driver for Cortina Systems Gemini SoC"
165         depends on ARCH_GEMINI || COMPILE_TEST
166         select MFD_SYSCON
167         select RESET_CONTROLLER
168         ---help---
169           This driver supports the SoC clocks on the Cortina Systems Gemini
170           platform, also known as SL3516 or CS3516.
171
172 config COMMON_CLK_ASPEED
173         bool "Clock driver for Aspeed BMC SoCs"
174         depends on ARCH_ASPEED || COMPILE_TEST
175         default ARCH_ASPEED
176         select MFD_SYSCON
177         select RESET_CONTROLLER
178         ---help---
179           This driver supports the SoC clocks on the Aspeed BMC platforms.
180
181           The G4 and G5 series, including the ast2400 and ast2500, are supported
182           by this driver.
183
184 config COMMON_CLK_S2MPS11
185         tristate "Clock driver for S2MPS1X/S5M8767 MFD"
186         depends on MFD_SEC_CORE || COMPILE_TEST
187         ---help---
188           This driver supports S2MPS11/S2MPS14/S5M8767 crystal oscillator
189           clock. These multi-function devices have two (S2MPS14) or three
190           (S2MPS11, S5M8767) fixed-rate oscillators, clocked at 32KHz each.
191
192 config CLK_TWL6040
193         tristate "External McPDM functional clock from twl6040"
194         depends on TWL6040_CORE
195         ---help---
196           Enable the external functional clock support on OMAP4+ platforms for
197           McPDM. McPDM module is using the external bit clock on the McPDM bus
198           as functional clock.
199
200 config COMMON_CLK_AXI_CLKGEN
201         tristate "AXI clkgen driver"
202         depends on ARCH_ZYNQ || MICROBLAZE || COMPILE_TEST
203         help
204         ---help---
205           Support for the Analog Devices axi-clkgen pcore clock generator for Xilinx
206           FPGAs. It is commonly used in Analog Devices' reference designs.
207
208 config CLK_QORIQ
209         bool "Clock driver for Freescale QorIQ platforms"
210         depends on (PPC_E500MC || ARM || ARM64 || COMPILE_TEST) && OF
211         ---help---
212           This adds the clock driver support for Freescale QorIQ platforms
213           using common clock framework.
214
215 config COMMON_CLK_XGENE
216         bool "Clock driver for APM XGene SoC"
217         default y
218         depends on ARM64 || COMPILE_TEST
219         ---help---
220           Sypport for the APM X-Gene SoC reference, PLL, and device clocks.
221
222 config COMMON_CLK_NXP
223         def_bool COMMON_CLK && (ARCH_LPC18XX || ARCH_LPC32XX)
224         select REGMAP_MMIO if ARCH_LPC32XX
225         select MFD_SYSCON if ARCH_LPC18XX
226         ---help---
227           Support for clock providers on NXP platforms.
228
229 config COMMON_CLK_PALMAS
230         tristate "Clock driver for TI Palmas devices"
231         depends on MFD_PALMAS
232         ---help---
233           This driver supports TI Palmas devices 32KHz output KG and KG_AUDIO
234           using common clock framework.
235
236 config COMMON_CLK_PWM
237         tristate "Clock driver for PWMs used as clock outputs"
238         depends on PWM
239         ---help---
240           Adapter driver so that any PWM output can be (mis)used as clock signal
241           at 50% duty cycle.
242
243 config COMMON_CLK_PXA
244         def_bool COMMON_CLK && ARCH_PXA
245         ---help---
246           Support for the Marvell PXA SoC.
247
248 config COMMON_CLK_PIC32
249         def_bool COMMON_CLK && MACH_PIC32
250
251 config COMMON_CLK_OXNAS
252         bool "Clock driver for the OXNAS SoC Family"
253         depends on ARCH_OXNAS || COMPILE_TEST
254         select MFD_SYSCON
255         ---help---
256           Support for the OXNAS SoC Family clocks.
257
258 config COMMON_CLK_VC5
259         tristate "Clock driver for IDT VersaClock 5,6 devices"
260         depends on I2C
261         depends on OF
262         select REGMAP_I2C
263         help
264         ---help---
265           This driver supports the IDT VersaClock 5 and VersaClock 6
266           programmable clock generators.
267
268 config COMMON_CLK_STM32MP157
269         def_bool COMMON_CLK && MACH_STM32MP157
270         help
271         ---help---
272           Support for stm32mp157 SoC family clocks
273
274 config COMMON_CLK_STM32F
275         def_bool COMMON_CLK && (MACH_STM32F429 || MACH_STM32F469 || MACH_STM32F746)
276         help
277         ---help---
278           Support for stm32f4 and stm32f7 SoC families clocks
279
280 config COMMON_CLK_STM32H7
281         def_bool COMMON_CLK && MACH_STM32H743
282         help
283         ---help---
284           Support for stm32h7 SoC family clocks
285
286 config COMMON_CLK_BD718XX
287         tristate "Clock driver for ROHM BD718x7 PMIC"
288         depends on MFD_ROHM_BD718XX
289         help
290           This driver supports ROHM BD71837 and ROHM BD71847
291           PMICs clock gates.
292
293 config COMMON_CLK_FIXED_MMIO
294         bool "Clock driver for Memory Mapped Fixed values"
295         depends on COMMON_CLK && OF
296         help
297           Support for Memory Mapped IO Fixed clocks
298
299 source "drivers/clk/actions/Kconfig"
300 source "drivers/clk/bcm/Kconfig"
301 source "drivers/clk/hisilicon/Kconfig"
302 source "drivers/clk/imgtec/Kconfig"
303 source "drivers/clk/imx/Kconfig"
304 source "drivers/clk/ingenic/Kconfig"
305 source "drivers/clk/keystone/Kconfig"
306 source "drivers/clk/mediatek/Kconfig"
307 source "drivers/clk/meson/Kconfig"
308 source "drivers/clk/mvebu/Kconfig"
309 source "drivers/clk/qcom/Kconfig"
310 source "drivers/clk/renesas/Kconfig"
311 source "drivers/clk/samsung/Kconfig"
312 source "drivers/clk/sprd/Kconfig"
313 source "drivers/clk/sunxi-ng/Kconfig"
314 source "drivers/clk/tegra/Kconfig"
315 source "drivers/clk/ti/Kconfig"
316 source "drivers/clk/uniphier/Kconfig"
317 source "drivers/clk/zynqmp/Kconfig"
318
319 endmenu