Merge branches 'clk-spreadtrum', 'clk-stm32f', 'clk-stm32mp1', 'clk-hi655x' and ...
[platform/kernel/linux-rpi.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_RK808
49         tristate "Clock driver for RK805/RK808/RK818"
50         depends on MFD_RK808
51         ---help---
52           This driver supports RK805, RK808 and RK818 crystal oscillator clock. These
53           multi-function devices have two fixed-rate oscillators,
54           clocked at 32KHz each. Clkout1 is always on, Clkout2 can off
55           by control register.
56
57 config COMMON_CLK_HI655X
58         tristate "Clock driver for Hi655x" if EXPERT
59         depends on (MFD_HI655X_PMIC || COMPILE_TEST)
60         depends on REGMAP
61         default MFD_HI655X_PMIC
62         ---help---
63           This driver supports the hi655x PMIC clock. This
64           multi-function device has one fixed-rate oscillator, clocked
65           at 32KHz.
66
67 config COMMON_CLK_SCPI
68         tristate "Clock driver controlled via SCPI interface"
69         depends on ARM_SCPI_PROTOCOL || COMPILE_TEST
70           ---help---
71           This driver provides support for clocks that are controlled
72           by firmware that implements the SCPI interface.
73
74           This driver uses SCPI Message Protocol to interact with the
75           firmware providing all the clock controls.
76
77 config COMMON_CLK_SI5351
78         tristate "Clock driver for SiLabs 5351A/B/C"
79         depends on I2C
80         select REGMAP_I2C
81         select RATIONAL
82         ---help---
83           This driver supports Silicon Labs 5351A/B/C programmable clock
84           generators.
85
86 config COMMON_CLK_SI514
87         tristate "Clock driver for SiLabs 514 devices"
88         depends on I2C
89         depends on OF
90         select REGMAP_I2C
91         help
92         ---help---
93           This driver supports the Silicon Labs 514 programmable clock
94           generator.
95
96 config COMMON_CLK_SI570
97         tristate "Clock driver for SiLabs 570 and compatible devices"
98         depends on I2C
99         depends on OF
100         select REGMAP_I2C
101         help
102         ---help---
103           This driver supports Silicon Labs 570/571/598/599 programmable
104           clock generators.
105
106 config COMMON_CLK_CDCE706
107         tristate "Clock driver for TI CDCE706 clock synthesizer"
108         depends on I2C
109         select REGMAP_I2C
110         select RATIONAL
111         ---help---
112           This driver supports TI CDCE706 programmable 3-PLL clock synthesizer.
113
114 config COMMON_CLK_CDCE925
115         tristate "Clock driver for TI CDCE913/925/937/949 devices"
116         depends on I2C
117         depends on OF
118         select REGMAP_I2C
119         help
120         ---help---
121           This driver supports the TI CDCE913/925/937/949 programmable clock
122           synthesizer. Each chip has different number of PLLs and outputs.
123           For example, the CDCE925 contains two PLLs with spread-spectrum
124           clocking support and five output dividers. The driver only supports
125           the following setup, and uses a fixed setting for the output muxes.
126           Y1 is derived from the input clock
127           Y2 and Y3 derive from PLL1
128           Y4 and Y5 derive from PLL2
129           Given a target output frequency, the driver will set the PLL and
130           divider to best approximate the desired output.
131
132 config COMMON_CLK_CS2000_CP
133         tristate "Clock driver for CS2000 Fractional-N Clock Synthesizer & Clock Multiplier"
134         depends on I2C
135         help
136           If you say yes here you get support for the CS2000 clock multiplier.
137
138 config COMMON_CLK_GEMINI
139         bool "Clock driver for Cortina Systems Gemini SoC"
140         depends on ARCH_GEMINI || COMPILE_TEST
141         select MFD_SYSCON
142         select RESET_CONTROLLER
143         ---help---
144           This driver supports the SoC clocks on the Cortina Systems Gemini
145           platform, also known as SL3516 or CS3516.
146
147 config COMMON_CLK_ASPEED
148         bool "Clock driver for Aspeed BMC SoCs"
149         depends on ARCH_ASPEED || COMPILE_TEST
150         default ARCH_ASPEED
151         select MFD_SYSCON
152         select RESET_CONTROLLER
153         ---help---
154           This driver supports the SoC clocks on the Aspeed BMC platforms.
155
156           The G4 and G5 series, including the ast2400 and ast2500, are supported
157           by this driver.
158
159 config COMMON_CLK_S2MPS11
160         tristate "Clock driver for S2MPS1X/S5M8767 MFD"
161         depends on MFD_SEC_CORE || COMPILE_TEST
162         ---help---
163           This driver supports S2MPS11/S2MPS14/S5M8767 crystal oscillator
164           clock. These multi-function devices have two (S2MPS14) or three
165           (S2MPS11, S5M8767) fixed-rate oscillators, clocked at 32KHz each.
166
167 config CLK_TWL6040
168         tristate "External McPDM functional clock from twl6040"
169         depends on TWL6040_CORE
170         ---help---
171           Enable the external functional clock support on OMAP4+ platforms for
172           McPDM. McPDM module is using the external bit clock on the McPDM bus
173           as functional clock.
174
175 config COMMON_CLK_AXI_CLKGEN
176         tristate "AXI clkgen driver"
177         depends on ARCH_ZYNQ || MICROBLAZE || COMPILE_TEST
178         help
179         ---help---
180           Support for the Analog Devices axi-clkgen pcore clock generator for Xilinx
181           FPGAs. It is commonly used in Analog Devices' reference designs.
182
183 config CLK_QORIQ
184         bool "Clock driver for Freescale QorIQ platforms"
185         depends on (PPC_E500MC || ARM || ARM64 || COMPILE_TEST) && OF
186         ---help---
187           This adds the clock driver support for Freescale QorIQ platforms
188           using common clock framework.
189
190 config COMMON_CLK_XGENE
191         bool "Clock driver for APM XGene SoC"
192         default y
193         depends on ARM64 || COMPILE_TEST
194         ---help---
195           Sypport for the APM X-Gene SoC reference, PLL, and device clocks.
196
197 config COMMON_CLK_NXP
198         def_bool COMMON_CLK && (ARCH_LPC18XX || ARCH_LPC32XX)
199         select REGMAP_MMIO if ARCH_LPC32XX
200         select MFD_SYSCON if ARCH_LPC18XX
201         ---help---
202           Support for clock providers on NXP platforms.
203
204 config COMMON_CLK_PALMAS
205         tristate "Clock driver for TI Palmas devices"
206         depends on MFD_PALMAS
207         ---help---
208           This driver supports TI Palmas devices 32KHz output KG and KG_AUDIO
209           using common clock framework.
210
211 config COMMON_CLK_PWM
212         tristate "Clock driver for PWMs used as clock outputs"
213         depends on PWM
214         ---help---
215           Adapter driver so that any PWM output can be (mis)used as clock signal
216           at 50% duty cycle.
217
218 config COMMON_CLK_PXA
219         def_bool COMMON_CLK && ARCH_PXA
220         ---help---
221           Support for the Marvell PXA SoC.
222
223 config COMMON_CLK_PIC32
224         def_bool COMMON_CLK && MACH_PIC32
225
226 config COMMON_CLK_OXNAS
227         bool "Clock driver for the OXNAS SoC Family"
228         depends on ARCH_OXNAS || COMPILE_TEST
229         select MFD_SYSCON
230         ---help---
231           Support for the OXNAS SoC Family clocks.
232
233 config COMMON_CLK_VC5
234         tristate "Clock driver for IDT VersaClock 5,6 devices"
235         depends on I2C
236         depends on OF
237         select REGMAP_I2C
238         help
239         ---help---
240           This driver supports the IDT VersaClock 5 and VersaClock 6
241           programmable clock generators.
242
243 config COMMON_CLK_STM32MP157
244         def_bool COMMON_CLK && MACH_STM32MP157
245         help
246         ---help---
247           Support for stm32mp157 SoC family clocks
248
249 config COMMON_CLK_STM32F
250         bool "Clock driver for stm32f4 and stm32f7 SoC families"
251         depends on MACH_STM32F429 || MACH_STM32F469 || MACH_STM32F746
252         help
253         ---help---
254           Support for stm32f4 and stm32f7 SoC families clocks
255
256 config COMMON_CLK_STM32H7
257         bool "Clock driver for stm32h7 SoC family"
258         depends on MACH_STM32H743
259         help
260         ---help---
261           Support for stm32h7 SoC family clocks
262
263 source "drivers/clk/bcm/Kconfig"
264 source "drivers/clk/hisilicon/Kconfig"
265 source "drivers/clk/imgtec/Kconfig"
266 source "drivers/clk/keystone/Kconfig"
267 source "drivers/clk/mediatek/Kconfig"
268 source "drivers/clk/meson/Kconfig"
269 source "drivers/clk/mvebu/Kconfig"
270 source "drivers/clk/qcom/Kconfig"
271 source "drivers/clk/renesas/Kconfig"
272 source "drivers/clk/samsung/Kconfig"
273 source "drivers/clk/sprd/Kconfig"
274 source "drivers/clk/sunxi-ng/Kconfig"
275 source "drivers/clk/tegra/Kconfig"
276 source "drivers/clk/ti/Kconfig"
277 source "drivers/clk/uniphier/Kconfig"
278
279 endmenu