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