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