xref: /linux/drivers/clk/Kconfig (revision 522ba450b56fff29f868b1552bdc2965f55de7ed)
17b9487a9SPaul Walmsley# SPDX-License-Identifier: GPL-2.0
26d803ba7SJean-Christop PLAGNIOL-VILLARD
3bc8c945eSStephen Boydconfig HAVE_CLK
4bc8c945eSStephen Boyd	bool
5bc8c945eSStephen Boyd	help
6bc8c945eSStephen Boyd	  The <linux/clk.h> calls support software clock gating and
7bc8c945eSStephen Boyd	  thus are a key power management tool on many systems.
8bc8c945eSStephen Boyd
95c77f560SShawn Guoconfig HAVE_CLK_PREPARE
105c77f560SShawn Guo	bool
115c77f560SShawn Guo
12bbd7ffdbSStephen Boydconfig HAVE_LEGACY_CLK # TODO: Remove once all legacy users are migrated
138fb61e33SArnd Bergmann	bool
14bbd7ffdbSStephen Boyd	select HAVE_CLK
15bbd7ffdbSStephen Boyd	help
16bbd7ffdbSStephen Boyd	  Select this option when the clock API in <linux/clk.h> is implemented
17bbd7ffdbSStephen Boyd	  by platform/architecture code. This method is deprecated. Modern
18bbd7ffdbSStephen Boyd	  code should select COMMON_CLK instead and not define a custom
19bbd7ffdbSStephen Boyd	  'struct clk'.
20bbd7ffdbSStephen Boyd
21bbd7ffdbSStephen Boydmenuconfig COMMON_CLK
22bbd7ffdbSStephen Boyd	bool "Common Clock Framework"
23bbd7ffdbSStephen Boyd	depends on !HAVE_LEGACY_CLK
24b2476490SMike Turquette	select HAVE_CLK_PREPARE
252f4574ddSArnd Bergmann	select HAVE_CLK
260777591eSAndy Shevchenko	select RATIONAL
27a7f7f624SMasahiro Yamada	help
28b2476490SMike Turquette	  The common clock framework is a single definition of struct
29b2476490SMike Turquette	  clk, useful across many platforms, as well as an
30b2476490SMike Turquette	  implementation of the clock API in include/linux/clk.h.
31b2476490SMike Turquette	  Architectures utilizing the common struct clk should select
328fb61e33SArnd Bergmann	  this option.
33b2476490SMike Turquette
34bbd7ffdbSStephen Boydif COMMON_CLK
35b2476490SMike Turquette
36f05259a6SMark Brownconfig COMMON_CLK_WM831X
37f05259a6SMark Brown	tristate "Clock driver for WM831x/2x PMICs"
38f05259a6SMark Brown	depends on MFD_WM831X
39a7f7f624SMasahiro Yamada	help
40f05259a6SMark Brown	  Supports the clocking subsystem of the WM831x/2x series of
41fe4e4372SMasanari Iida	  PMICs from Wolfson Microelectronics.
42f05259a6SMark Brown
435ee2b877SPawel Mollsource "drivers/clk/versatile/Kconfig"
44f9a6aa43SLinus Walleij
45daeeb438SEugeniy Paltsevconfig CLK_HSDK
46daeeb438SEugeniy Paltsev	bool "PLL Driver for HSDK platform"
47f6bade68SGeert Uytterhoeven	depends on ARC_SOC_HSDK || COMPILE_TEST
48bd8548d0SGeert Uytterhoeven	depends on HAS_IOMEM
49a7f7f624SMasahiro Yamada	help
50daeeb438SEugeniy Paltsev	  This driver supports the HSDK core, system, ddr, tunnel and hdmi PLLs
51daeeb438SEugeniy Paltsev	  control.
52daeeb438SEugeniy Paltsev
533bc61cfdSLiam Beguinconfig LMK04832
543bc61cfdSLiam Beguin	tristate "Ti LMK04832 JESD204B Compliant Clock Jitter Cleaner"
5597a1c5cbSStephen Boyd	depends on SPI
563bc61cfdSLiam Beguin	select REGMAP_SPI
573bc61cfdSLiam Beguin	help
583bc61cfdSLiam Beguin	  Say yes here to build support for Texas Instruments' LMK04832 Ultra
593bc61cfdSLiam Beguin	  Low-Noise JESD204B Compliant Clock Jitter Cleaner With Dual Loop PLLs
603bc61cfdSLiam Beguin
616641057dSMartin Povišerconfig COMMON_CLK_APPLE_NCO
62236541acSMartin Povišer	tristate "Clock driver for Apple SoC NCOs"
636641057dSMartin Povišer	depends on ARCH_APPLE || COMPILE_TEST
646641057dSMartin Povišer	help
656641057dSMartin Povišer	  This driver supports NCO (Numerically Controlled Oscillator) blocks
666641057dSMartin Povišer	  found on Apple SoCs such as t8103 (M1). The blocks are typically
676641057dSMartin Povišer	  generators of audio clocks.
686641057dSMartin Povišer
6973118e61SJonghwa Leeconfig COMMON_CLK_MAX77686
705a227cd1SLaxman Dewangan	tristate "Clock driver for Maxim 77620/77686/77802 MFD"
719c1b305cSKrzysztof Kozlowski	depends on MFD_MAX77686 || MFD_MAX77620 || COMPILE_TEST
72a7f7f624SMasahiro Yamada	help
735a227cd1SLaxman Dewangan	  This driver supports Maxim 77620/77686/77802 crystal oscillator
745a227cd1SLaxman Dewangan	  clock.
7583ccf16cSJavier Martinez Canillas
7633f51046SDaniel Mackconfig COMMON_CLK_MAX9485
7733f51046SDaniel Mack	tristate "Maxim 9485 Programmable Clock Generator"
7833f51046SDaniel Mack	depends on I2C
7933f51046SDaniel Mack	help
8033f51046SDaniel Mack	  This driver supports Maxim 9485 Programmable Audio Clock Generator
8133f51046SDaniel Mack
82038b892aSChris Zhongconfig COMMON_CLK_RK808
838ed14401STony Xie	tristate "Clock driver for RK805/RK808/RK809/RK817/RK818"
84c20e8c5bSSebastian Reichel	depends on MFD_RK8XX
85a7f7f624SMasahiro Yamada	help
868ed14401STony Xie	  This driver supports RK805, RK809 and RK817, RK808 and RK818 crystal oscillator clock.
878ed14401STony Xie	  These multi-function devices have two fixed-rate oscillators, clocked at 32KHz each.
888ed14401STony Xie	  Clkout1 is always on, Clkout2 can off by control register.
89038b892aSChris Zhong
9064863417SAndrea della Portaconfig COMMON_CLK_RP1
9164863417SAndrea della Porta	tristate "Raspberry Pi RP1-based clock support"
9264863417SAndrea della Porta	depends on MISC_RP1 || COMPILE_TEST
9364863417SAndrea della Porta	default MISC_RP1
9464863417SAndrea della Porta	help
9564863417SAndrea della Porta	  Enable common clock framework support for Raspberry Pi RP1.
9664863417SAndrea della Porta	  This multi-function device has 3 main PLLs and several clock
9764863417SAndrea della Porta	  generators to drive the internal sub-peripherals.
9864863417SAndrea della Porta
99b68adc23SDaniel Lezcanoconfig COMMON_CLK_HI655X
1003a49afb8SRiku Voipio	tristate "Clock driver for Hi655x" if EXPERT
1013a49afb8SRiku Voipio	depends on (MFD_HI655X_PMIC || COMPILE_TEST)
1020ffad677SRandy Dunlap	select REGMAP
1033a49afb8SRiku Voipio	default MFD_HI655X_PMIC
104a7f7f624SMasahiro Yamada	help
105b68adc23SDaniel Lezcano	  This driver supports the hi655x PMIC clock. This
106b68adc23SDaniel Lezcano	  multi-function device has one fixed-rate oscillator, clocked
107b68adc23SDaniel Lezcano	  at 32KHz.
108b68adc23SDaniel Lezcano
1096d6a1d82SSudeep Hollaconfig COMMON_CLK_SCMI
1106d6a1d82SSudeep Holla	tristate "Clock driver controlled via SCMI interface"
1116d6a1d82SSudeep Holla	depends on ARM_SCMI_PROTOCOL || COMPILE_TEST
112a7f7f624SMasahiro Yamada	help
1136d6a1d82SSudeep Holla	  This driver provides support for clocks that are controlled
1146d6a1d82SSudeep Holla	  by firmware that implements the SCMI interface.
1156d6a1d82SSudeep Holla
1166d6a1d82SSudeep Holla	  This driver uses SCMI Message Protocol to interact with the
1176d6a1d82SSudeep Holla	  firmware providing all the clock controls.
1186d6a1d82SSudeep Holla
119cd52c2a4SSudeep Hollaconfig COMMON_CLK_SCPI
120cd52c2a4SSudeep Holla	tristate "Clock driver controlled via SCPI interface"
121cd52c2a4SSudeep Holla	depends on ARM_SCPI_PROTOCOL || COMPILE_TEST
122a7f7f624SMasahiro Yamada	help
123cd52c2a4SSudeep Holla	  This driver provides support for clocks that are controlled
124cd52c2a4SSudeep Holla	  by firmware that implements the SCPI interface.
125cd52c2a4SSudeep Holla
126cd52c2a4SSudeep Holla	  This driver uses SCPI Message Protocol to interact with the
127cd52c2a4SSudeep Holla	  firmware providing all the clock controls.
128cd52c2a4SSudeep Holla
1293044a860SMike Looijmansconfig COMMON_CLK_SI5341
1303044a860SMike Looijmans	tristate "Clock driver for SiLabs 5341 and 5340 A/B/C/D devices"
1313044a860SMike Looijmans	depends on I2C
1323044a860SMike Looijmans	select REGMAP_I2C
1333044a860SMike Looijmans	help
1343044a860SMike Looijmans	  This driver supports Silicon Labs Si5341 and Si5340 programmable clock
1353044a860SMike Looijmans	  generators. Not all features of these chips are currently supported
1363044a860SMike Looijmans	  by the driver, in particular it only supports XTAL input. The chip can
1373044a860SMike Looijmans	  be pre-programmed to support other configurations and features not yet
1383044a860SMike Looijmans	  implemented in the driver.
1393044a860SMike Looijmans
1409abd5f05SSebastian Hesselbarthconfig COMMON_CLK_SI5351
1419abd5f05SSebastian Hesselbarth	tristate "Clock driver for SiLabs 5351A/B/C"
1429abd5f05SSebastian Hesselbarth	depends on I2C
1439abd5f05SSebastian Hesselbarth	select REGMAP_I2C
144a7f7f624SMasahiro Yamada	help
1459abd5f05SSebastian Hesselbarth	  This driver supports Silicon Labs 5351A/B/C programmable clock
1469abd5f05SSebastian Hesselbarth	  generators.
1479abd5f05SSebastian Hesselbarth
1488ce20e66SMike Looijmansconfig COMMON_CLK_SI514
1498ce20e66SMike Looijmans	tristate "Clock driver for SiLabs 514 devices"
1508ce20e66SMike Looijmans	depends on I2C
1518ce20e66SMike Looijmans	depends on OF
1528ce20e66SMike Looijmans	select REGMAP_I2C
1538ce20e66SMike Looijmans	help
1548ce20e66SMike Looijmans	  This driver supports the Silicon Labs 514 programmable clock
1558ce20e66SMike Looijmans	  generator.
1568ce20e66SMike Looijmans
157953cc3e8SMike Looijmansconfig COMMON_CLK_SI544
158953cc3e8SMike Looijmans	tristate "Clock driver for SiLabs 544 devices"
159953cc3e8SMike Looijmans	depends on I2C
160953cc3e8SMike Looijmans	select REGMAP_I2C
161953cc3e8SMike Looijmans	help
162953cc3e8SMike Looijmans	  This driver supports the Silicon Labs 544 programmable clock
163953cc3e8SMike Looijmans	  generator.
164953cc3e8SMike Looijmans
1651459c837SSoren Brinkmannconfig COMMON_CLK_SI570
1661459c837SSoren Brinkmann	tristate "Clock driver for SiLabs 570 and compatible devices"
1671459c837SSoren Brinkmann	depends on I2C
1681459c837SSoren Brinkmann	depends on OF
1691459c837SSoren Brinkmann	select REGMAP_I2C
1701459c837SSoren Brinkmann	help
1711459c837SSoren Brinkmann	  This driver supports Silicon Labs 570/571/598/599 programmable
1721459c837SSoren Brinkmann	  clock generators.
1731459c837SSoren Brinkmann
1741ab4601dSManivannan Sadhasivamconfig COMMON_CLK_BM1880
1751ab4601dSManivannan Sadhasivam	bool "Clock driver for Bitmain BM1880 SoC"
1761ab4601dSManivannan Sadhasivam	depends on ARCH_BITMAIN || COMPILE_TEST
1771ab4601dSManivannan Sadhasivam	default ARCH_BITMAIN
1781ab4601dSManivannan Sadhasivam	help
1791ab4601dSManivannan Sadhasivam	  This driver supports the clocks on Bitmain BM1880 SoC.
1801ab4601dSManivannan Sadhasivam
181c7d5a46bSMike Looijmansconfig COMMON_CLK_CDCE706
182c7d5a46bSMike Looijmans	tristate "Clock driver for TI CDCE706 clock synthesizer"
183c7d5a46bSMike Looijmans	depends on I2C
184c7d5a46bSMike Looijmans	select REGMAP_I2C
185a7f7f624SMasahiro Yamada	help
186c7d5a46bSMike Looijmans	  This driver supports TI CDCE706 programmable 3-PLL clock synthesizer.
187c7d5a46bSMike Looijmans
188ff5f87cbSHans de Goedeconfig COMMON_CLK_TPS68470
189ff5f87cbSHans de Goede	tristate "Clock Driver for TI TPS68470 PMIC"
190ff5f87cbSHans de Goede	depends on I2C
191ff5f87cbSHans de Goede	depends on INTEL_SKL_INT3472 || COMPILE_TEST
192ff5f87cbSHans de Goede	select REGMAP_I2C
193ff5f87cbSHans de Goede	help
194ff5f87cbSHans de Goede	  This driver supports the clocks provided by the TPS68470 PMIC.
195ff5f87cbSHans de Goede
19619fbbbbcSMike Looijmansconfig COMMON_CLK_CDCE925
1975508124cSAkinobu Mita	tristate "Clock driver for TI CDCE913/925/937/949 devices"
19819fbbbbcSMike Looijmans	depends on I2C
19919fbbbbcSMike Looijmans	depends on OF
20019fbbbbcSMike Looijmans	select REGMAP_I2C
20119fbbbbcSMike Looijmans	help
2025508124cSAkinobu Mita	  This driver supports the TI CDCE913/925/937/949 programmable clock
2035508124cSAkinobu Mita	  synthesizer. Each chip has different number of PLLs and outputs.
2045508124cSAkinobu Mita	  For example, the CDCE925 contains two PLLs with spread-spectrum
2055508124cSAkinobu Mita	  clocking support and five output dividers. The driver only supports
2065508124cSAkinobu Mita	  the following setup, and uses a fixed setting for the output muxes.
20719fbbbbcSMike Looijmans	  Y1 is derived from the input clock
20819fbbbbcSMike Looijmans	  Y2 and Y3 derive from PLL1
20919fbbbbcSMike Looijmans	  Y4 and Y5 derive from PLL2
21019fbbbbcSMike Looijmans	  Given a target output frequency, the driver will set the PLL and
21119fbbbbcSMike Looijmans	  divider to best approximate the desired output.
21219fbbbbcSMike Looijmans
21364dfbe24SKuninori Morimotoconfig COMMON_CLK_CS2000_CP
21464dfbe24SKuninori Morimoto	tristate "Clock driver for CS2000 Fractional-N Clock Synthesizer & Clock Multiplier"
21564dfbe24SKuninori Morimoto	depends on I2C
2165edffb98SDaniel Mack	select REGMAP_I2C
21764dfbe24SKuninori Morimoto	help
21864dfbe24SKuninori Morimoto	  If you say yes here you get support for the CS2000 clock multiplier.
21964dfbe24SKuninori Morimoto
2201e627317SFelix Fietkauconfig COMMON_CLK_EN7523
2211e627317SFelix Fietkau	bool "Clock driver for Airoha EN7523 SoC system clocks"
2221e627317SFelix Fietkau	depends on OF
2231e627317SFelix Fietkau	depends on ARCH_AIROHA || COMPILE_TEST
2241e627317SFelix Fietkau	default ARCH_AIROHA
2251e627317SFelix Fietkau	help
2261e627317SFelix Fietkau	  This driver provides the fixed clocks and gates present on Airoha
2271e627317SFelix Fietkau	  ARM silicon.
2281e627317SFelix Fietkau
2298a6b7e2bSNikita Shubinconfig COMMON_CLK_EP93XX
2308a6b7e2bSNikita Shubin	tristate "Clock driver for Cirrus Logic ep93xx SoC"
2318a6b7e2bSNikita Shubin	depends on ARCH_EP93XX || COMPILE_TEST
2328a6b7e2bSNikita Shubin	select AUXILIARY_BUS
2338a6b7e2bSNikita Shubin	select REGMAP_MMIO
2348a6b7e2bSNikita Shubin	help
2358a6b7e2bSNikita Shubin	  This driver supports the SoC clocks on the Cirrus Logic ep93xx.
2368a6b7e2bSNikita Shubin
23725d90494SThéo Lebrunconfig COMMON_CLK_EYEQ
23825d90494SThéo Lebrun	bool "Clock driver for the Mobileye EyeQ platform"
23925d90494SThéo Lebrun	depends on MACH_EYEQ5 || MACH_EYEQ6H || COMPILE_TEST
24025d90494SThéo Lebrun	select AUXILIARY_BUS
24125d90494SThéo Lebrun	default MACH_EYEQ5 || MACH_EYEQ6H
24225d90494SThéo Lebrun	help
24325d90494SThéo Lebrun	  This driver provides clocks found on Mobileye EyeQ5, EyeQ6L and Eye6H
24425d90494SThéo Lebrun	  SoCs. Controllers live in shared register regions called OLB. Driver
24525d90494SThéo Lebrun	  provides read-only PLLs, derived from the main crystal clock (which
24625d90494SThéo Lebrun	  must be constant). It also exposes some divider clocks.
24725d90494SThéo Lebrun
248fcf77be8SMichael Walleconfig COMMON_CLK_FSL_FLEXSPI
249fcf77be8SMichael Walle	tristate "Clock driver for FlexSPI on Layerscape SoCs"
250fcf77be8SMichael Walle	depends on ARCH_LAYERSCAPE || COMPILE_TEST
251fcf77be8SMichael Walle	default ARCH_LAYERSCAPE && SPI_NXP_FLEXSPI
252fcf77be8SMichael Walle	help
253fcf77be8SMichael Walle	  On Layerscape SoCs there is a special clock for the FlexSPI
254fcf77be8SMichael Walle	  interface.
255fcf77be8SMichael Walle
2569cd10205SMichael Walleconfig COMMON_CLK_FSL_SAI
2579cd10205SMichael Walle	bool "Clock driver for BCLK of Freescale SAI cores"
2589cd10205SMichael Walle	depends on ARCH_LAYERSCAPE || COMPILE_TEST
2599cd10205SMichael Walle	help
2609cd10205SMichael Walle	  This driver supports the Freescale SAI (Synchronous Audio Interface)
2619cd10205SMichael Walle	  to be used as a generic clock output. Some SoCs have restrictions
2629cd10205SMichael Walle	  regarding the possible pin multiplexer settings. Eg. on some SoCs
2639cd10205SMichael Walle	  two SAI interfaces can only be enabled together. If just one is
2649cd10205SMichael Walle	  needed, the BCLK pin of the second one can be used as general
2659cd10205SMichael Walle	  purpose clock output. Ideally, it can be used to drive an audio
2669cd10205SMichael Walle	  codec (sometimes known as MCLK).
2679cd10205SMichael Walle
268846423f9SLinus Walleijconfig COMMON_CLK_GEMINI
269846423f9SLinus Walleij	bool "Clock driver for Cortina Systems Gemini SoC"
270846423f9SLinus Walleij	depends on ARCH_GEMINI || COMPILE_TEST
271846423f9SLinus Walleij	select MFD_SYSCON
272846423f9SLinus Walleij	select RESET_CONTROLLER
273a7f7f624SMasahiro Yamada	help
274846423f9SLinus Walleij	  This driver supports the SoC clocks on the Cortina Systems Gemini
275846423f9SLinus Walleij	  platform, also known as SL3516 or CS3516.
276846423f9SLinus Walleij
27754104ee0SKavyasree Kotagiriconfig COMMON_CLK_LAN966X
2788a977bbbSClément Léger	tristate "Generic Clock Controller driver for LAN966X SoC"
279aa091a6aSHoratiu Vultur	depends on HAS_IOMEM
280aa091a6aSHoratiu Vultur	depends on OF
281e7b012cbSRobert Marko	depends on SOC_LAN966 || ARCH_LAN969X || COMPILE_TEST
28254104ee0SKavyasree Kotagiri	help
28354104ee0SKavyasree Kotagiri	  This driver provides support for Generic Clock Controller(GCK) on
28454104ee0SKavyasree Kotagiri	  LAN966X SoC. GCK generates and supplies clock to various peripherals
28554104ee0SKavyasree Kotagiri	  within the SoC.
28654104ee0SKavyasree Kotagiri
2875eda5d79SJoel Stanleyconfig COMMON_CLK_ASPEED
2885eda5d79SJoel Stanley	bool "Clock driver for Aspeed BMC SoCs"
2895eda5d79SJoel Stanley	depends on ARCH_ASPEED || COMPILE_TEST
2905eda5d79SJoel Stanley	default ARCH_ASPEED
2915eda5d79SJoel Stanley	select MFD_SYSCON
2925eda5d79SJoel Stanley	select RESET_CONTROLLER
293a7f7f624SMasahiro Yamada	help
2945eda5d79SJoel Stanley	  This driver supports the SoC clocks on the Aspeed BMC platforms.
2955eda5d79SJoel Stanley
2965eda5d79SJoel Stanley	  The G4 and G5 series, including the ast2400 and ast2500, are supported
2975eda5d79SJoel Stanley	  by this driver.
2985eda5d79SJoel Stanley
2997cc560deSYadwinder Singh Brarconfig COMMON_CLK_S2MPS11
300e8b60a45SKrzysztof Kozlowski	tristate "Clock driver for S2MPS1X/S5M8767 MFD"
3019c1b305cSKrzysztof Kozlowski	depends on MFD_SEC_CORE || COMPILE_TEST
302a7f7f624SMasahiro Yamada	help
303e8b60a45SKrzysztof Kozlowski	  This driver supports S2MPS11/S2MPS14/S5M8767 crystal oscillator
304e8b60a45SKrzysztof Kozlowski	  clock. These multi-function devices have two (S2MPS14) or three
305e8b60a45SKrzysztof Kozlowski	  (S2MPS11, S5M8767) fixed-rate oscillators, clocked at 32KHz each.
3067cc560deSYadwinder Singh Brar
3074eb15b03SAndreas Kemnadeconfig CLK_TWL
3084eb15b03SAndreas Kemnade	tristate "Clock driver for the TWL PMIC family"
3094eb15b03SAndreas Kemnade	depends on TWL4030_CORE
3104eb15b03SAndreas Kemnade	help
3114eb15b03SAndreas Kemnade	  Enable support for controlling the clock resources on TWL family
3124eb15b03SAndreas Kemnade	  PMICs. These devices have some 32K clock outputs which can be
3139abc1eb6SAndreas Kemnade	  controlled by software. For now, the TWL6032 and TWL6030 clocks are
3144eb15b03SAndreas Kemnade	  supported.
3154eb15b03SAndreas Kemnade
316f9f8c043SPeter Ujfalusiconfig CLK_TWL6040
317f9f8c043SPeter Ujfalusi	tristate "External McPDM functional clock from twl6040"
318f9f8c043SPeter Ujfalusi	depends on TWL6040_CORE
319a7f7f624SMasahiro Yamada	help
320f9f8c043SPeter Ujfalusi	  Enable the external functional clock support on OMAP4+ platforms for
321f9f8c043SPeter Ujfalusi	  McPDM. McPDM module is using the external bit clock on the McPDM bus
322f9f8c043SPeter Ujfalusi	  as functional clock.
323f9f8c043SPeter Ujfalusi
3240e646c52SLars-Peter Clausenconfig COMMON_CLK_AXI_CLKGEN
3250e646c52SLars-Peter Clausen	tristate "AXI clkgen driver"
326324a8105SAlexandru Ardelean	depends on HAS_IOMEM || COMPILE_TEST
327324a8105SAlexandru Ardelean	depends on OF
3280e646c52SLars-Peter Clausen	help
3290e646c52SLars-Peter Clausen	  Support for the Analog Devices axi-clkgen pcore clock generator for Xilinx
3300e646c52SLars-Peter Clausen	  FPGAs. It is commonly used in Analog Devices' reference designs.
3310e646c52SLars-Peter Clausen
33293a17c05STang Yuantianconfig CLK_QORIQ
33393a17c05STang Yuantian	bool "Clock driver for Freescale QorIQ platforms"
334b8bcece8SGeert Uytterhoeven	depends on OF
335b8bcece8SGeert Uytterhoeven	depends on PPC_E500MC || SOC_LS1021A || ARCH_LAYERSCAPE || COMPILE_TEST
336a7f7f624SMasahiro Yamada	help
33793a17c05STang Yuantian	  This adds the clock driver support for Freescale QorIQ platforms
33893a17c05STang Yuantian	  using common clock framework.
339555eae97STang Yuantian
340d37010a3SWen Heconfig CLK_LS1028A_PLLDIG
341d37010a3SWen He        tristate "Clock driver for LS1028A Display output"
342d37010a3SWen He        depends on ARCH_LAYERSCAPE || COMPILE_TEST
343d37010a3SWen He        default ARCH_LAYERSCAPE
344d37010a3SWen He        help
345d37010a3SWen He          This driver support the Display output interfaces(LCD, DPHY) pixel clocks
346d37010a3SWen He          of the QorIQ Layerscape LS1028A, as implemented TSMC CLN28HPM PLL. Not all
347d37010a3SWen He          features of the PLL are currently supported by the driver. By default,
348d37010a3SWen He          configured bypass mode with this PLL.
3496d803ba7SJean-Christop PLAGNIOL-VILLARD
350308964caSLoc Hoconfig COMMON_CLK_XGENE
351308964caSLoc Ho	bool "Clock driver for APM XGene SoC"
352ce9a1046SMarc Gonzalez	default ARCH_XGENE
3534a7748c3SJavier Martinez Canillas	depends on ARM64 || COMPILE_TEST
354a7f7f624SMasahiro Yamada	help
3554fe02fefSChristophe JAILLET	  Support for the APM X-Gene SoC reference, PLL, and device clocks.
356308964caSLoc Ho
35776c54783SCharles Keepaxconfig COMMON_CLK_LOCHNAGAR
35876c54783SCharles Keepax	tristate "Cirrus Logic Lochnagar clock driver"
35976c54783SCharles Keepax	depends on MFD_LOCHNAGAR
36076c54783SCharles Keepax	help
36176c54783SCharles Keepax	  This driver supports the clocking features of the Cirrus Logic
36276c54783SCharles Keepax	  Lochnagar audio development board.
36376c54783SCharles Keepax
364e0b255dfSTomer Maimonconfig COMMON_CLK_NPCM8XX
365e0b255dfSTomer Maimon	tristate "Clock driver for the NPCM8XX SoC Family"
366e0b255dfSTomer Maimon	depends on ARCH_NPCM || COMPILE_TEST
367c123519bSArnd Bergmann	select AUXILIARY_BUS
368e0b255dfSTomer Maimon	help
369e0b255dfSTomer Maimon	  This driver supports the clocks on the Nuvoton BMC NPCM8XX SoC Family,
370e0b255dfSTomer Maimon	  all the clocks are initialized by the bootloader, so this driver
371e0b255dfSTomer Maimon	  allows only reading of current settings directly from the hardware.
372e0b255dfSTomer Maimon
373acc0ccffSYinbo Zhuconfig COMMON_CLK_LOONGSON2
374acc0ccffSYinbo Zhu	bool "Clock driver for Loongson-2 SoC"
375acc0ccffSYinbo Zhu	depends on LOONGARCH || COMPILE_TEST
376acc0ccffSYinbo Zhu	help
377acc0ccffSYinbo Zhu          This driver provides support for clock controller on Loongson-2 SoC.
378acc0ccffSYinbo Zhu          The clock controller can generates and supplies clock to various
379acc0ccffSYinbo Zhu          peripherals within the SoC.
380acc0ccffSYinbo Zhu          Say Y here to support Loongson-2 SoC clock driver.
381acc0ccffSYinbo Zhu
382f7c82a60SVladimir Zapolskiyconfig COMMON_CLK_NXP
383f7c82a60SVladimir Zapolskiy	def_bool COMMON_CLK && (ARCH_LPC18XX || ARCH_LPC32XX)
384f7c82a60SVladimir Zapolskiy	select REGMAP_MMIO if ARCH_LPC32XX
38572ad679aSEzequiel Garcia	select MFD_SYSCON if ARCH_LPC18XX
386a7f7f624SMasahiro Yamada	help
387f7c82a60SVladimir Zapolskiy	  Support for clock providers on NXP platforms.
388f7c82a60SVladimir Zapolskiy
389942d1d67SPeter Ujfalusiconfig COMMON_CLK_PALMAS
390942d1d67SPeter Ujfalusi	tristate "Clock driver for TI Palmas devices"
391942d1d67SPeter Ujfalusi	depends on MFD_PALMAS
392a7f7f624SMasahiro Yamada	help
393942d1d67SPeter Ujfalusi	  This driver supports TI Palmas devices 32KHz output KG and KG_AUDIO
394942d1d67SPeter Ujfalusi	  using common clock framework.
395942d1d67SPeter Ujfalusi
3969a74ccdbSPhilipp Zabelconfig COMMON_CLK_PWM
3979a74ccdbSPhilipp Zabel	tristate "Clock driver for PWMs used as clock outputs"
3989a74ccdbSPhilipp Zabel	depends on PWM
399a7f7f624SMasahiro Yamada	help
4009a74ccdbSPhilipp Zabel	  Adapter driver so that any PWM output can be (mis)used as clock signal
4019a74ccdbSPhilipp Zabel	  at 50% duty cycle.
4029a74ccdbSPhilipp Zabel
40398d147f5SRobert Jarzmikconfig COMMON_CLK_PXA
40498d147f5SRobert Jarzmik	def_bool COMMON_CLK && ARCH_PXA
405a7f7f624SMasahiro Yamada	help
406048c58b4SMike Looijmans	  Support for the Marvell PXA SoC.
40798d147f5SRobert Jarzmik
408892e0ddeSMarek Vasutconfig COMMON_CLK_RS9_PCIE
409892e0ddeSMarek Vasut	tristate "Clock driver for Renesas 9-series PCIe clock generators"
410892e0ddeSMarek Vasut	depends on I2C
411892e0ddeSMarek Vasut	depends on OF
412892e0ddeSMarek Vasut	select REGMAP_I2C
413892e0ddeSMarek Vasut	help
414892e0ddeSMarek Vasut	  This driver supports the Renesas 9-series PCIe clock generator
415892e0ddeSMarek Vasut	  models 9FGV/9DBV/9DMV/9FGL/9DML/9QXL/9SQ.
416892e0ddeSMarek Vasut
417edc12763SMarek Vasutconfig COMMON_CLK_SI521XX
418edc12763SMarek Vasut	tristate "Clock driver for SkyWorks Si521xx PCIe clock generators"
419edc12763SMarek Vasut	depends on I2C
420edc12763SMarek Vasut	depends on OF
421edc12763SMarek Vasut	select REGMAP_I2C
422edc12763SMarek Vasut	help
423edc12763SMarek Vasut	  This driver supports the SkyWorks Si521xx PCIe clock generator
424edc12763SMarek Vasut	  models Si52144/Si52146/Si52147.
425edc12763SMarek Vasut
4266e9aff55SBiju Dasconfig COMMON_CLK_VC3
4276e9aff55SBiju Das	tristate "Clock driver for Renesas VersaClock 3 devices"
4286e9aff55SBiju Das	depends on I2C
4296e9aff55SBiju Das	depends on OF
4306e9aff55SBiju Das	select REGMAP_I2C
4316e9aff55SBiju Das	help
4326e9aff55SBiju Das	  This driver supports the Renesas VersaClock 3 programmable clock
4336e9aff55SBiju Das	  generators.
4346e9aff55SBiju Das
4353e1aec4eSMarek Vasutconfig COMMON_CLK_VC5
436dbf6b16fSMarek Vasut	tristate "Clock driver for IDT VersaClock 5,6 devices"
4373e1aec4eSMarek Vasut	depends on I2C
4383e1aec4eSMarek Vasut	depends on OF
4393e1aec4eSMarek Vasut	select REGMAP_I2C
4403e1aec4eSMarek Vasut	help
441dbf6b16fSMarek Vasut	  This driver supports the IDT VersaClock 5 and VersaClock 6
442dbf6b16fSMarek Vasut	  programmable clock generators.
4433e1aec4eSMarek Vasut
44448c5e98fSAlex Helmsconfig COMMON_CLK_VC7
44548c5e98fSAlex Helms	tristate "Clock driver for Renesas Versaclock 7 devices"
44648c5e98fSAlex Helms	depends on I2C
44748c5e98fSAlex Helms	depends on OF
44848c5e98fSAlex Helms	select REGMAP_I2C
44948c5e98fSAlex Helms	help
45048c5e98fSAlex Helms	  Renesas Versaclock7 is a family of configurable clock generator
45148c5e98fSAlex Helms	  and jitter attenuator ICs with fractional and integer dividers.
45248c5e98fSAlex Helms
453da32d353SBenjamin Gaignardconfig COMMON_CLK_STM32F
4549a160601SGabriel Fernandez	def_bool COMMON_CLK && (MACH_STM32F429 || MACH_STM32F469 || MACH_STM32F746)
455da32d353SBenjamin Gaignard	help
456da32d353SBenjamin Gaignard	  Support for stm32f4 and stm32f7 SoC families clocks
457da32d353SBenjamin Gaignard
458da32d353SBenjamin Gaignardconfig COMMON_CLK_STM32H7
4599a160601SGabriel Fernandez	def_bool COMMON_CLK && MACH_STM32H743
460da32d353SBenjamin Gaignard	help
461da32d353SBenjamin Gaignard	  Support for stm32h7 SoC family clocks
462da32d353SBenjamin Gaignard
463a9372a5fSLubomir Rintelconfig COMMON_CLK_MMP2
464a9372a5fSLubomir Rintel	def_bool COMMON_CLK && (MACH_MMP2_DT || MACH_MMP3_DT)
465a9372a5fSLubomir Rintel	help
466a9372a5fSLubomir Rintel	  Support for Marvell MMP2 and MMP3 SoC clocks
467a9372a5fSLubomir Rintel
468725262d2SLubomir Rintelconfig COMMON_CLK_MMP2_AUDIO
469725262d2SLubomir Rintel        tristate "Clock driver for MMP2 Audio subsystem"
470725262d2SLubomir Rintel        depends on COMMON_CLK_MMP2 || COMPILE_TEST
471725262d2SLubomir Rintel        help
472725262d2SLubomir Rintel          This driver supports clocks for Audio subsystem on MMP2 SoC.
473725262d2SLubomir Rintel
4742e62246bSMatti Vaittinenconfig COMMON_CLK_BD718XX
475ae866decSMatti Vaittinen	tristate "Clock driver for 32K clk gates on ROHM PMICs"
476fa5b6541SMatti Vaittinen	depends on MFD_ROHM_BD718XX || MFD_ROHM_BD71828
4772e62246bSMatti Vaittinen	help
478fa5b6541SMatti Vaittinen	  This driver supports ROHM BD71837, BD71847, BD71850, BD71815
479fa5b6541SMatti Vaittinen	  and BD71828 PMICs clock gates.
4802e62246bSMatti Vaittinen
48150cc4cafSJan Kotasconfig COMMON_CLK_FIXED_MMIO
48250cc4cafSJan Kotas	bool "Clock driver for Memory Mapped Fixed values"
48350cc4cafSJan Kotas	depends on COMMON_CLK && OF
484e7dd44f4SBaoquan He	depends on HAS_IOMEM
48550cc4cafSJan Kotas	help
48650cc4cafSJan Kotas	  Support for Memory Mapped IO Fixed clocks
48750cc4cafSJan Kotas
488c6ca7616SDamien Le Moalconfig COMMON_CLK_K210
489c6ca7616SDamien Le Moal	bool "Clock driver for the Canaan Kendryte K210 SoC"
4908e5b7234SYangyu Chen	depends on OF && RISCV && SOC_CANAAN_K210
4918e5b7234SYangyu Chen	default SOC_CANAAN_K210
492c6ca7616SDamien Le Moal	help
493c6ca7616SDamien Le Moal	  Support for the Canaan Kendryte K210 RISC-V SoC clocks.
494c6ca7616SDamien Le Moal
495d54c1fd4SQin Jianconfig COMMON_CLK_SP7021
496d54c1fd4SQin Jian	tristate "Clock driver for Sunplus SP7021 SoC"
497d54c1fd4SQin Jian	depends on SOC_SP7021 || COMPILE_TEST
498d54c1fd4SQin Jian	default SOC_SP7021
499d54c1fd4SQin Jian	help
500d54c1fd4SQin Jian	  This driver supports the Sunplus SP7021 SoC clocks.
501d54c1fd4SQin Jian	  It implements SP7021 PLLs/gate.
502d54c1fd4SQin Jian	  Not all features of the PLL are currently supported
503d54c1fd4SQin Jian	  by the driver.
504d54c1fd4SQin Jian
5055ba9f520SRahul Pathakconfig COMMON_CLK_RPMI
5065ba9f520SRahul Pathak	tristate "Clock driver based on RISC-V RPMI"
50768247d45SGeert Uytterhoeven	depends on RISCV || COMPILE_TEST
5085ba9f520SRahul Pathak	depends on MAILBOX
5095ba9f520SRahul Pathak	default RISCV
5105ba9f520SRahul Pathak	help
5115ba9f520SRahul Pathak	  Support for clocks based on the clock service group defined by
5125ba9f520SRahul Pathak	  the RISC-V platform management interface (RPMI) specification.
5135ba9f520SRahul Pathak
5143495e295SManivannan Sadhasivamsource "drivers/clk/actions/Kconfig"
5157b9487a9SPaul Walmsleysource "drivers/clk/analogbits/Kconfig"
516b7d950b9SSerge Seminsource "drivers/clk/baikal-t1/Kconfig"
51764a12c56SStephen Boydsource "drivers/clk/bcm/Kconfig"
51872ea4861SBintian Wangsource "drivers/clk/hisilicon/Kconfig"
5196b0fd6c1SPaul Burtonsource "drivers/clk/imgtec/Kconfig"
5203a48d918SAisheng Dongsource "drivers/clk/imx/Kconfig"
5210880fb86SPaul Cercueilsource "drivers/clk/ingenic/Kconfig"
522b745c079STero Kristosource "drivers/clk/keystone/Kconfig"
5232886c846SJames Liaosource "drivers/clk/mediatek/Kconfig"
524*a787ab59SDuje Mihanovićsource "drivers/clk/mmp/Kconfig"
525cb7c47d7SMichael Turquettesource "drivers/clk/meson/Kconfig"
526bef7a78dSDaniel Palmersource "drivers/clk/mstar/Kconfig"
527635e5e73SDaire McNamarasource "drivers/clk/microchip/Kconfig"
5286d803ba7SJean-Christop PLAGNIOL-VILLARDsource "drivers/clk/mvebu/Kconfig"
529691521a3SJacky Huangsource "drivers/clk/nuvoton/Kconfig"
53090429205SJiaxun Yangsource "drivers/clk/pistachio/Kconfig"
531b9e65ebcSJames Liaosource "drivers/clk/qcom/Kconfig"
53248df7a26SSergio Paracuellossource "drivers/clk/ralink/Kconfig"
533a5bd7f7aSGeert Uytterhoevensource "drivers/clk/renesas/Kconfig"
5344d98ed1eSElaine Zhangsource "drivers/clk/rockchip/Kconfig"
5354ce9b85eSPankaj Dubeysource "drivers/clk/samsung/Kconfig"
53630b8e27eSPaul Walmsleysource "drivers/clk/sifive/Kconfig"
5373b218baaSKrzysztof Kozlowskisource "drivers/clk/socfpga/Kconfig"
53880fd61ecSInochi Amaotosource "drivers/clk/sophgo/Kconfig"
5391b72c59dSHaylen Chusource "drivers/clk/spacemit/Kconfig"
540d41f59fdSChunyan Zhangsource "drivers/clk/sprd/Kconfig"
5414210be66SGeert Uytterhoevensource "drivers/clk/starfive/Kconfig"
54249c726d5SMaxime Ripardsource "drivers/clk/sunxi/Kconfig"
5431d80c142SMaxime Ripardsource "drivers/clk/sunxi-ng/Kconfig"
54431b52ba4SThierry Redingsource "drivers/clk/tegra/Kconfig"
545ae81b69fSDrew Fustinisource "drivers/clk/thead/Kconfig"
5463ac7ca59SGabriel Fernandezsource "drivers/clk/stm32/Kconfig"
54721330497STony Lindgrensource "drivers/clk/ti/Kconfig"
548734d82f4SMasahiro Yamadasource "drivers/clk/uniphier/Kconfig"
549b4cbe606SNobuhiro Iwamatsusource "drivers/clk/visconti/Kconfig"
550d058fd9eSRahul Tanwarsource "drivers/clk/x86/Kconfig"
551a2fe7baaSMichael Trettersource "drivers/clk/xilinx/Kconfig"
5523fde0e16SJolly Shahsource "drivers/clk/zynqmp/Kconfig"
553b9e65ebcSJames Liao
554a992acbbSStephen Boyd# Kunit test cases
555723d0530SMaxime Ripardconfig CLK_KUNIT_TEST
556723d0530SMaxime Ripard	tristate "Basic Clock Framework Kunit Tests" if !KUNIT_ALL_TESTS
557723d0530SMaxime Ripard	depends on KUNIT
558723d0530SMaxime Ripard	default KUNIT_ALL_TESTS
559274aff87SStephen Boyd	select DTC
560723d0530SMaxime Ripard	help
561723d0530SMaxime Ripard	  Kunit tests for the common clock framework.
562723d0530SMaxime Ripard
5635776526bSStephen Boydconfig CLK_FIXED_RATE_KUNIT_TEST
5645776526bSStephen Boyd	tristate "Basic fixed rate clk type KUnit test" if !KUNIT_ALL_TESTS
5655776526bSStephen Boyd	depends on KUNIT
5665776526bSStephen Boyd	default KUNIT_ALL_TESTS
5675776526bSStephen Boyd	select DTC
5685776526bSStephen Boyd	help
5695776526bSStephen Boyd	  KUnit tests for the basic fixed rate clk type.
5705776526bSStephen Boyd
571a992acbbSStephen Boydconfig CLK_GATE_KUNIT_TEST
572a992acbbSStephen Boyd	tristate "Basic gate type Kunit test" if !KUNIT_ALL_TESTS
573a992acbbSStephen Boyd	depends on KUNIT
574a6c3da03SAudra Mitchell	depends on !S390
575a992acbbSStephen Boyd	default KUNIT_ALL_TESTS
576a992acbbSStephen Boyd	help
577a992acbbSStephen Boyd	  Kunit test for the basic clk gate type.
578a992acbbSStephen Boyd
5792790e2a3SFrank Oltmannsconfig CLK_FD_KUNIT_TEST
5802790e2a3SFrank Oltmanns	tristate "Basic fractional divider type Kunit test" if !KUNIT_ALL_TESTS
5812790e2a3SFrank Oltmanns	depends on KUNIT
5822790e2a3SFrank Oltmanns	default KUNIT_ALL_TESTS
5832790e2a3SFrank Oltmanns	help
5842790e2a3SFrank Oltmanns	  Kunit test for the clk-fractional-divider type.
5852790e2a3SFrank Oltmanns
586bbd7ffdbSStephen Boydendif
587