xref: /linux/drivers/clk/Kconfig (revision 0fc8f6200d2313278fbf4539bbab74677c685531)
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
221d8b03452SCaleb James DeLisle	bool "Clock driver for Airoha/EcoNet SoC system clocks"
2221e627317SFelix Fietkau	depends on OF
223d8b03452SCaleb James DeLisle	depends on ARCH_AIROHA || ECONET || COMPILE_TEST
2241e627317SFelix Fietkau	default ARCH_AIROHA
2251e627317SFelix Fietkau	help
2261e627317SFelix Fietkau	  This driver provides the fixed clocks and gates present on Airoha
227d8b03452SCaleb James DeLisle	  and EcoNet 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"
239*4eb9ed39SBenoît Monin	depends on EYEQ || COMPILE_TEST
24025d90494SThéo Lebrun	select AUXILIARY_BUS
241*4eb9ed39SBenoît Monin	default EYEQ
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"
258c206085bSMarek Vasut	depends on ARCH_LAYERSCAPE || ARCH_MXC || 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
2877cc560deSYadwinder Singh Brarconfig COMMON_CLK_S2MPS11
288e8b60a45SKrzysztof Kozlowski	tristate "Clock driver for S2MPS1X/S5M8767 MFD"
2899c1b305cSKrzysztof Kozlowski	depends on MFD_SEC_CORE || COMPILE_TEST
290a7f7f624SMasahiro Yamada	help
291e8b60a45SKrzysztof Kozlowski	  This driver supports S2MPS11/S2MPS14/S5M8767 crystal oscillator
292e8b60a45SKrzysztof Kozlowski	  clock. These multi-function devices have two (S2MPS14) or three
293e8b60a45SKrzysztof Kozlowski	  (S2MPS11, S5M8767) fixed-rate oscillators, clocked at 32KHz each.
2947cc560deSYadwinder Singh Brar
2954eb15b03SAndreas Kemnadeconfig CLK_TWL
2964eb15b03SAndreas Kemnade	tristate "Clock driver for the TWL PMIC family"
2974eb15b03SAndreas Kemnade	depends on TWL4030_CORE
2984eb15b03SAndreas Kemnade	help
2994eb15b03SAndreas Kemnade	  Enable support for controlling the clock resources on TWL family
3004eb15b03SAndreas Kemnade	  PMICs. These devices have some 32K clock outputs which can be
3019abc1eb6SAndreas Kemnade	  controlled by software. For now, the TWL6032 and TWL6030 clocks are
3024eb15b03SAndreas Kemnade	  supported.
3034eb15b03SAndreas Kemnade
304f9f8c043SPeter Ujfalusiconfig CLK_TWL6040
305f9f8c043SPeter Ujfalusi	tristate "External McPDM functional clock from twl6040"
306f9f8c043SPeter Ujfalusi	depends on TWL6040_CORE
307a7f7f624SMasahiro Yamada	help
308f9f8c043SPeter Ujfalusi	  Enable the external functional clock support on OMAP4+ platforms for
309f9f8c043SPeter Ujfalusi	  McPDM. McPDM module is using the external bit clock on the McPDM bus
310f9f8c043SPeter Ujfalusi	  as functional clock.
311f9f8c043SPeter Ujfalusi
3120e646c52SLars-Peter Clausenconfig COMMON_CLK_AXI_CLKGEN
3130e646c52SLars-Peter Clausen	tristate "AXI clkgen driver"
314324a8105SAlexandru Ardelean	depends on HAS_IOMEM || COMPILE_TEST
315324a8105SAlexandru Ardelean	depends on OF
3160e646c52SLars-Peter Clausen	help
3170e646c52SLars-Peter Clausen	  Support for the Analog Devices axi-clkgen pcore clock generator for Xilinx
3180e646c52SLars-Peter Clausen	  FPGAs. It is commonly used in Analog Devices' reference designs.
3190e646c52SLars-Peter Clausen
32093a17c05STang Yuantianconfig CLK_QORIQ
32193a17c05STang Yuantian	bool "Clock driver for Freescale QorIQ platforms"
322b8bcece8SGeert Uytterhoeven	depends on OF
323b8bcece8SGeert Uytterhoeven	depends on PPC_E500MC || SOC_LS1021A || ARCH_LAYERSCAPE || COMPILE_TEST
324a7f7f624SMasahiro Yamada	help
32593a17c05STang Yuantian	  This adds the clock driver support for Freescale QorIQ platforms
32693a17c05STang Yuantian	  using common clock framework.
327555eae97STang Yuantian
328d37010a3SWen Heconfig CLK_LS1028A_PLLDIG
329d37010a3SWen He        tristate "Clock driver for LS1028A Display output"
330d37010a3SWen He        depends on ARCH_LAYERSCAPE || COMPILE_TEST
331d37010a3SWen He        default ARCH_LAYERSCAPE
332d37010a3SWen He        help
333d37010a3SWen He          This driver support the Display output interfaces(LCD, DPHY) pixel clocks
334d37010a3SWen He          of the QorIQ Layerscape LS1028A, as implemented TSMC CLN28HPM PLL. Not all
335d37010a3SWen He          features of the PLL are currently supported by the driver. By default,
336d37010a3SWen He          configured bypass mode with this PLL.
3376d803ba7SJean-Christop PLAGNIOL-VILLARD
338308964caSLoc Hoconfig COMMON_CLK_XGENE
339308964caSLoc Ho	bool "Clock driver for APM XGene SoC"
340ce9a1046SMarc Gonzalez	default ARCH_XGENE
3414a7748c3SJavier Martinez Canillas	depends on ARM64 || COMPILE_TEST
342a7f7f624SMasahiro Yamada	help
3434fe02fefSChristophe JAILLET	  Support for the APM X-Gene SoC reference, PLL, and device clocks.
344308964caSLoc Ho
34576c54783SCharles Keepaxconfig COMMON_CLK_LOCHNAGAR
34676c54783SCharles Keepax	tristate "Cirrus Logic Lochnagar clock driver"
34776c54783SCharles Keepax	depends on MFD_LOCHNAGAR
34876c54783SCharles Keepax	help
34976c54783SCharles Keepax	  This driver supports the clocking features of the Cirrus Logic
35076c54783SCharles Keepax	  Lochnagar audio development board.
35176c54783SCharles Keepax
352e0b255dfSTomer Maimonconfig COMMON_CLK_NPCM8XX
353e0b255dfSTomer Maimon	tristate "Clock driver for the NPCM8XX SoC Family"
354e0b255dfSTomer Maimon	depends on ARCH_NPCM || COMPILE_TEST
355c123519bSArnd Bergmann	select AUXILIARY_BUS
356e0b255dfSTomer Maimon	help
357e0b255dfSTomer Maimon	  This driver supports the clocks on the Nuvoton BMC NPCM8XX SoC Family,
358e0b255dfSTomer Maimon	  all the clocks are initialized by the bootloader, so this driver
359e0b255dfSTomer Maimon	  allows only reading of current settings directly from the hardware.
360e0b255dfSTomer Maimon
361acc0ccffSYinbo Zhuconfig COMMON_CLK_LOONGSON2
362acc0ccffSYinbo Zhu	bool "Clock driver for Loongson-2 SoC"
363acc0ccffSYinbo Zhu	depends on LOONGARCH || COMPILE_TEST
364acc0ccffSYinbo Zhu	help
365acc0ccffSYinbo Zhu          This driver provides support for clock controller on Loongson-2 SoC.
366acc0ccffSYinbo Zhu          The clock controller can generates and supplies clock to various
367acc0ccffSYinbo Zhu          peripherals within the SoC.
368acc0ccffSYinbo Zhu          Say Y here to support Loongson-2 SoC clock driver.
369acc0ccffSYinbo Zhu
370f7c82a60SVladimir Zapolskiyconfig COMMON_CLK_NXP
371f7c82a60SVladimir Zapolskiy	def_bool COMMON_CLK && (ARCH_LPC18XX || ARCH_LPC32XX)
372f7c82a60SVladimir Zapolskiy	select REGMAP_MMIO if ARCH_LPC32XX
37372ad679aSEzequiel Garcia	select MFD_SYSCON if ARCH_LPC18XX
374a7f7f624SMasahiro Yamada	help
375f7c82a60SVladimir Zapolskiy	  Support for clock providers on NXP platforms.
376f7c82a60SVladimir Zapolskiy
377942d1d67SPeter Ujfalusiconfig COMMON_CLK_PALMAS
378942d1d67SPeter Ujfalusi	tristate "Clock driver for TI Palmas devices"
379942d1d67SPeter Ujfalusi	depends on MFD_PALMAS
380a7f7f624SMasahiro Yamada	help
381942d1d67SPeter Ujfalusi	  This driver supports TI Palmas devices 32KHz output KG and KG_AUDIO
382942d1d67SPeter Ujfalusi	  using common clock framework.
383942d1d67SPeter Ujfalusi
3849a74ccdbSPhilipp Zabelconfig COMMON_CLK_PWM
3859a74ccdbSPhilipp Zabel	tristate "Clock driver for PWMs used as clock outputs"
3869a74ccdbSPhilipp Zabel	depends on PWM
387a7f7f624SMasahiro Yamada	help
3889a74ccdbSPhilipp Zabel	  Adapter driver so that any PWM output can be (mis)used as clock signal
3899a74ccdbSPhilipp Zabel	  at 50% duty cycle.
3909a74ccdbSPhilipp Zabel
39198d147f5SRobert Jarzmikconfig COMMON_CLK_PXA
39298d147f5SRobert Jarzmik	def_bool COMMON_CLK && ARCH_PXA
393a7f7f624SMasahiro Yamada	help
394048c58b4SMike Looijmans	  Support for the Marvell PXA SoC.
39598d147f5SRobert Jarzmik
396892e0ddeSMarek Vasutconfig COMMON_CLK_RS9_PCIE
397892e0ddeSMarek Vasut	tristate "Clock driver for Renesas 9-series PCIe clock generators"
398892e0ddeSMarek Vasut	depends on I2C
399892e0ddeSMarek Vasut	depends on OF
400892e0ddeSMarek Vasut	select REGMAP_I2C
401892e0ddeSMarek Vasut	help
402892e0ddeSMarek Vasut	  This driver supports the Renesas 9-series PCIe clock generator
403892e0ddeSMarek Vasut	  models 9FGV/9DBV/9DMV/9FGL/9DML/9QXL/9SQ.
404892e0ddeSMarek Vasut
405edc12763SMarek Vasutconfig COMMON_CLK_SI521XX
406edc12763SMarek Vasut	tristate "Clock driver for SkyWorks Si521xx PCIe clock generators"
407edc12763SMarek Vasut	depends on I2C
408edc12763SMarek Vasut	depends on OF
409edc12763SMarek Vasut	select REGMAP_I2C
410edc12763SMarek Vasut	help
411edc12763SMarek Vasut	  This driver supports the SkyWorks Si521xx PCIe clock generator
412edc12763SMarek Vasut	  models Si52144/Si52146/Si52147.
413edc12763SMarek Vasut
4146e9aff55SBiju Dasconfig COMMON_CLK_VC3
4156e9aff55SBiju Das	tristate "Clock driver for Renesas VersaClock 3 devices"
4166e9aff55SBiju Das	depends on I2C
4176e9aff55SBiju Das	depends on OF
4186e9aff55SBiju Das	select REGMAP_I2C
4196e9aff55SBiju Das	help
4206e9aff55SBiju Das	  This driver supports the Renesas VersaClock 3 programmable clock
4216e9aff55SBiju Das	  generators.
4226e9aff55SBiju Das
4233e1aec4eSMarek Vasutconfig COMMON_CLK_VC5
424dbf6b16fSMarek Vasut	tristate "Clock driver for IDT VersaClock 5,6 devices"
4253e1aec4eSMarek Vasut	depends on I2C
4263e1aec4eSMarek Vasut	depends on OF
4273e1aec4eSMarek Vasut	select REGMAP_I2C
4283e1aec4eSMarek Vasut	help
429dbf6b16fSMarek Vasut	  This driver supports the IDT VersaClock 5 and VersaClock 6
430dbf6b16fSMarek Vasut	  programmable clock generators.
4313e1aec4eSMarek Vasut
43248c5e98fSAlex Helmsconfig COMMON_CLK_VC7
43348c5e98fSAlex Helms	tristate "Clock driver for Renesas Versaclock 7 devices"
43448c5e98fSAlex Helms	depends on I2C
43548c5e98fSAlex Helms	depends on OF
43648c5e98fSAlex Helms	select REGMAP_I2C
43748c5e98fSAlex Helms	help
43848c5e98fSAlex Helms	  Renesas Versaclock7 is a family of configurable clock generator
43948c5e98fSAlex Helms	  and jitter attenuator ICs with fractional and integer dividers.
44048c5e98fSAlex Helms
441da32d353SBenjamin Gaignardconfig COMMON_CLK_STM32F
4429a160601SGabriel Fernandez	def_bool COMMON_CLK && (MACH_STM32F429 || MACH_STM32F469 || MACH_STM32F746)
443da32d353SBenjamin Gaignard	help
444da32d353SBenjamin Gaignard	  Support for stm32f4 and stm32f7 SoC families clocks
445da32d353SBenjamin Gaignard
446da32d353SBenjamin Gaignardconfig COMMON_CLK_STM32H7
4479a160601SGabriel Fernandez	def_bool COMMON_CLK && MACH_STM32H743
448da32d353SBenjamin Gaignard	help
449da32d353SBenjamin Gaignard	  Support for stm32h7 SoC family clocks
450da32d353SBenjamin Gaignard
451a9372a5fSLubomir Rintelconfig COMMON_CLK_MMP2
452a9372a5fSLubomir Rintel	def_bool COMMON_CLK && (MACH_MMP2_DT || MACH_MMP3_DT)
453a9372a5fSLubomir Rintel	help
454a9372a5fSLubomir Rintel	  Support for Marvell MMP2 and MMP3 SoC clocks
455a9372a5fSLubomir Rintel
456725262d2SLubomir Rintelconfig COMMON_CLK_MMP2_AUDIO
457725262d2SLubomir Rintel        tristate "Clock driver for MMP2 Audio subsystem"
458725262d2SLubomir Rintel        depends on COMMON_CLK_MMP2 || COMPILE_TEST
459725262d2SLubomir Rintel        help
460725262d2SLubomir Rintel          This driver supports clocks for Audio subsystem on MMP2 SoC.
461725262d2SLubomir Rintel
4622e62246bSMatti Vaittinenconfig COMMON_CLK_BD718XX
463ae866decSMatti Vaittinen	tristate "Clock driver for 32K clk gates on ROHM PMICs"
464fa5b6541SMatti Vaittinen	depends on MFD_ROHM_BD718XX || MFD_ROHM_BD71828
4652e62246bSMatti Vaittinen	help
466da4950b5SMatti Vaittinen	  This driver supports ROHM BD71837, BD71847, BD71850, BD71815,
467da4950b5SMatti Vaittinen	  BD71828, and BD72720 PMICs clock gates.
4682e62246bSMatti Vaittinen
46950cc4cafSJan Kotasconfig COMMON_CLK_FIXED_MMIO
47050cc4cafSJan Kotas	bool "Clock driver for Memory Mapped Fixed values"
47150cc4cafSJan Kotas	depends on COMMON_CLK && OF
472e7dd44f4SBaoquan He	depends on HAS_IOMEM
47350cc4cafSJan Kotas	help
47450cc4cafSJan Kotas	  Support for Memory Mapped IO Fixed clocks
47550cc4cafSJan Kotas
476c6ca7616SDamien Le Moalconfig COMMON_CLK_K210
477c6ca7616SDamien Le Moal	bool "Clock driver for the Canaan Kendryte K210 SoC"
4788e5b7234SYangyu Chen	depends on OF && RISCV && SOC_CANAAN_K210
4798e5b7234SYangyu Chen	default SOC_CANAAN_K210
480c6ca7616SDamien Le Moal	help
481c6ca7616SDamien Le Moal	  Support for the Canaan Kendryte K210 RISC-V SoC clocks.
482c6ca7616SDamien Le Moal
483d54c1fd4SQin Jianconfig COMMON_CLK_SP7021
484d54c1fd4SQin Jian	tristate "Clock driver for Sunplus SP7021 SoC"
485d54c1fd4SQin Jian	depends on SOC_SP7021 || COMPILE_TEST
486d54c1fd4SQin Jian	default SOC_SP7021
487d54c1fd4SQin Jian	help
488d54c1fd4SQin Jian	  This driver supports the Sunplus SP7021 SoC clocks.
489d54c1fd4SQin Jian	  It implements SP7021 PLLs/gate.
490d54c1fd4SQin Jian	  Not all features of the PLL are currently supported
491d54c1fd4SQin Jian	  by the driver.
492d54c1fd4SQin Jian
4935ba9f520SRahul Pathakconfig COMMON_CLK_RPMI
4945ba9f520SRahul Pathak	tristate "Clock driver based on RISC-V RPMI"
49568247d45SGeert Uytterhoeven	depends on RISCV || COMPILE_TEST
4965ba9f520SRahul Pathak	depends on MAILBOX
4975ba9f520SRahul Pathak	default RISCV
4985ba9f520SRahul Pathak	help
4995ba9f520SRahul Pathak	  Support for clocks based on the clock service group defined by
5005ba9f520SRahul Pathak	  the RISC-V platform management interface (RPMI) specification.
5015ba9f520SRahul Pathak
5023495e295SManivannan Sadhasivamsource "drivers/clk/actions/Kconfig"
5037b9487a9SPaul Walmsleysource "drivers/clk/analogbits/Kconfig"
50403b3faa1SRyan Chensource "drivers/clk/aspeed/Kconfig"
50564a12c56SStephen Boydsource "drivers/clk/bcm/Kconfig"
506cd44f127SXuyang Dongsource "drivers/clk/eswin/Kconfig"
50772ea4861SBintian Wangsource "drivers/clk/hisilicon/Kconfig"
5086b0fd6c1SPaul Burtonsource "drivers/clk/imgtec/Kconfig"
5093a48d918SAisheng Dongsource "drivers/clk/imx/Kconfig"
5100880fb86SPaul Cercueilsource "drivers/clk/ingenic/Kconfig"
511b745c079STero Kristosource "drivers/clk/keystone/Kconfig"
5122886c846SJames Liaosource "drivers/clk/mediatek/Kconfig"
513a787ab59SDuje Mihanovićsource "drivers/clk/mmp/Kconfig"
514cb7c47d7SMichael Turquettesource "drivers/clk/meson/Kconfig"
515bef7a78dSDaniel Palmersource "drivers/clk/mstar/Kconfig"
516635e5e73SDaire McNamarasource "drivers/clk/microchip/Kconfig"
5176d803ba7SJean-Christop PLAGNIOL-VILLARDsource "drivers/clk/mvebu/Kconfig"
518691521a3SJacky Huangsource "drivers/clk/nuvoton/Kconfig"
51990429205SJiaxun Yangsource "drivers/clk/pistachio/Kconfig"
520b9e65ebcSJames Liaosource "drivers/clk/qcom/Kconfig"
52148df7a26SSergio Paracuellossource "drivers/clk/ralink/Kconfig"
522a5bd7f7aSGeert Uytterhoevensource "drivers/clk/renesas/Kconfig"
5234d98ed1eSElaine Zhangsource "drivers/clk/rockchip/Kconfig"
5244ce9b85eSPankaj Dubeysource "drivers/clk/samsung/Kconfig"
52530b8e27eSPaul Walmsleysource "drivers/clk/sifive/Kconfig"
5263b218baaSKrzysztof Kozlowskisource "drivers/clk/socfpga/Kconfig"
52780fd61ecSInochi Amaotosource "drivers/clk/sophgo/Kconfig"
5281b72c59dSHaylen Chusource "drivers/clk/spacemit/Kconfig"
529d41f59fdSChunyan Zhangsource "drivers/clk/sprd/Kconfig"
5304210be66SGeert Uytterhoevensource "drivers/clk/starfive/Kconfig"
53149c726d5SMaxime Ripardsource "drivers/clk/sunxi/Kconfig"
5321d80c142SMaxime Ripardsource "drivers/clk/sunxi-ng/Kconfig"
53331b52ba4SThierry Redingsource "drivers/clk/tegra/Kconfig"
53423c8ebc9SAnirudh Srinivasansource "drivers/clk/tenstorrent/Kconfig"
535ae81b69fSDrew Fustinisource "drivers/clk/thead/Kconfig"
5363ac7ca59SGabriel Fernandezsource "drivers/clk/stm32/Kconfig"
53721330497STony Lindgrensource "drivers/clk/ti/Kconfig"
538734d82f4SMasahiro Yamadasource "drivers/clk/uniphier/Kconfig"
539b4cbe606SNobuhiro Iwamatsusource "drivers/clk/visconti/Kconfig"
540d058fd9eSRahul Tanwarsource "drivers/clk/x86/Kconfig"
541a2fe7baaSMichael Trettersource "drivers/clk/xilinx/Kconfig"
5423fde0e16SJolly Shahsource "drivers/clk/zynqmp/Kconfig"
543b9e65ebcSJames Liao
544a992acbbSStephen Boyd# Kunit test cases
545723d0530SMaxime Ripardconfig CLK_KUNIT_TEST
546723d0530SMaxime Ripard	tristate "Basic Clock Framework Kunit Tests" if !KUNIT_ALL_TESTS
547723d0530SMaxime Ripard	depends on KUNIT
548723d0530SMaxime Ripard	default KUNIT_ALL_TESTS
549274aff87SStephen Boyd	select DTC
550723d0530SMaxime Ripard	help
551723d0530SMaxime Ripard	  Kunit tests for the common clock framework.
552723d0530SMaxime Ripard
5535776526bSStephen Boydconfig CLK_FIXED_RATE_KUNIT_TEST
5545776526bSStephen Boyd	tristate "Basic fixed rate clk type KUnit test" if !KUNIT_ALL_TESTS
5555776526bSStephen Boyd	depends on KUNIT
5565776526bSStephen Boyd	default KUNIT_ALL_TESTS
5575776526bSStephen Boyd	select DTC
5585776526bSStephen Boyd	help
5595776526bSStephen Boyd	  KUnit tests for the basic fixed rate clk type.
5605776526bSStephen Boyd
561a992acbbSStephen Boydconfig CLK_GATE_KUNIT_TEST
562a992acbbSStephen Boyd	tristate "Basic gate type Kunit test" if !KUNIT_ALL_TESTS
563a992acbbSStephen Boyd	depends on KUNIT
564a6c3da03SAudra Mitchell	depends on !S390
565a992acbbSStephen Boyd	default KUNIT_ALL_TESTS
566a992acbbSStephen Boyd	help
567a992acbbSStephen Boyd	  Kunit test for the basic clk gate type.
568a992acbbSStephen Boyd
5692790e2a3SFrank Oltmannsconfig CLK_FD_KUNIT_TEST
5702790e2a3SFrank Oltmanns	tristate "Basic fractional divider type Kunit test" if !KUNIT_ALL_TESTS
5712790e2a3SFrank Oltmanns	depends on KUNIT
5722790e2a3SFrank Oltmanns	default KUNIT_ALL_TESTS
5732790e2a3SFrank Oltmanns	help
5742790e2a3SFrank Oltmanns	  Kunit test for the clk-fractional-divider type.
5752790e2a3SFrank Oltmanns
576bbd7ffdbSStephen Boydendif
577