xref: /kernel/linux/linux-6.6/drivers/clk/Kconfig (revision 62306a36)
162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci
362306a36Sopenharmony_ciconfig HAVE_CLK
462306a36Sopenharmony_ci	bool
562306a36Sopenharmony_ci	help
662306a36Sopenharmony_ci	  The <linux/clk.h> calls support software clock gating and
762306a36Sopenharmony_ci	  thus are a key power management tool on many systems.
862306a36Sopenharmony_ci
962306a36Sopenharmony_ciconfig HAVE_CLK_PREPARE
1062306a36Sopenharmony_ci	bool
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ciconfig HAVE_LEGACY_CLK # TODO: Remove once all legacy users are migrated
1362306a36Sopenharmony_ci	bool
1462306a36Sopenharmony_ci	select HAVE_CLK
1562306a36Sopenharmony_ci	help
1662306a36Sopenharmony_ci	  Select this option when the clock API in <linux/clk.h> is implemented
1762306a36Sopenharmony_ci	  by platform/architecture code. This method is deprecated. Modern
1862306a36Sopenharmony_ci	  code should select COMMON_CLK instead and not define a custom
1962306a36Sopenharmony_ci	  'struct clk'.
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_cimenuconfig COMMON_CLK
2262306a36Sopenharmony_ci	bool "Common Clock Framework"
2362306a36Sopenharmony_ci	depends on !HAVE_LEGACY_CLK
2462306a36Sopenharmony_ci	select HAVE_CLK_PREPARE
2562306a36Sopenharmony_ci	select HAVE_CLK
2662306a36Sopenharmony_ci	select RATIONAL
2762306a36Sopenharmony_ci	help
2862306a36Sopenharmony_ci	  The common clock framework is a single definition of struct
2962306a36Sopenharmony_ci	  clk, useful across many platforms, as well as an
3062306a36Sopenharmony_ci	  implementation of the clock API in include/linux/clk.h.
3162306a36Sopenharmony_ci	  Architectures utilizing the common struct clk should select
3262306a36Sopenharmony_ci	  this option.
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ciif COMMON_CLK
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ciconfig COMMON_CLK_WM831X
3762306a36Sopenharmony_ci	tristate "Clock driver for WM831x/2x PMICs"
3862306a36Sopenharmony_ci	depends on MFD_WM831X
3962306a36Sopenharmony_ci	help
4062306a36Sopenharmony_ci	  Supports the clocking subsystem of the WM831x/2x series of
4162306a36Sopenharmony_ci	  PMICs from Wolfson Microelectronics.
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_cisource "drivers/clk/versatile/Kconfig"
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ciconfig CLK_HSDK
4662306a36Sopenharmony_ci	bool "PLL Driver for HSDK platform"
4762306a36Sopenharmony_ci	depends on ARC_SOC_HSDK || COMPILE_TEST
4862306a36Sopenharmony_ci	depends on HAS_IOMEM
4962306a36Sopenharmony_ci	help
5062306a36Sopenharmony_ci	  This driver supports the HSDK core, system, ddr, tunnel and hdmi PLLs
5162306a36Sopenharmony_ci	  control.
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ciconfig LMK04832
5462306a36Sopenharmony_ci	tristate "Ti LMK04832 JESD204B Compliant Clock Jitter Cleaner"
5562306a36Sopenharmony_ci	depends on SPI
5662306a36Sopenharmony_ci	select REGMAP_SPI
5762306a36Sopenharmony_ci	help
5862306a36Sopenharmony_ci	  Say yes here to build support for Texas Instruments' LMK04832 Ultra
5962306a36Sopenharmony_ci	  Low-Noise JESD204B Compliant Clock Jitter Cleaner With Dual Loop PLLs
6062306a36Sopenharmony_ci
6162306a36Sopenharmony_ciconfig COMMON_CLK_APPLE_NCO
6262306a36Sopenharmony_ci	tristate "Clock driver for Apple SoC NCOs"
6362306a36Sopenharmony_ci	depends on ARCH_APPLE || COMPILE_TEST
6462306a36Sopenharmony_ci	default ARCH_APPLE
6562306a36Sopenharmony_ci	help
6662306a36Sopenharmony_ci	  This driver supports NCO (Numerically Controlled Oscillator) blocks
6762306a36Sopenharmony_ci	  found on Apple SoCs such as t8103 (M1). The blocks are typically
6862306a36Sopenharmony_ci	  generators of audio clocks.
6962306a36Sopenharmony_ci
7062306a36Sopenharmony_ciconfig COMMON_CLK_MAX77686
7162306a36Sopenharmony_ci	tristate "Clock driver for Maxim 77620/77686/77802 MFD"
7262306a36Sopenharmony_ci	depends on MFD_MAX77686 || MFD_MAX77620 || COMPILE_TEST
7362306a36Sopenharmony_ci	help
7462306a36Sopenharmony_ci	  This driver supports Maxim 77620/77686/77802 crystal oscillator
7562306a36Sopenharmony_ci	  clock.
7662306a36Sopenharmony_ci
7762306a36Sopenharmony_ciconfig COMMON_CLK_MAX9485
7862306a36Sopenharmony_ci	tristate "Maxim 9485 Programmable Clock Generator"
7962306a36Sopenharmony_ci	depends on I2C
8062306a36Sopenharmony_ci	help
8162306a36Sopenharmony_ci	  This driver supports Maxim 9485 Programmable Audio Clock Generator
8262306a36Sopenharmony_ci
8362306a36Sopenharmony_ciconfig COMMON_CLK_RK808
8462306a36Sopenharmony_ci	tristate "Clock driver for RK805/RK808/RK809/RK817/RK818"
8562306a36Sopenharmony_ci	depends on MFD_RK8XX
8662306a36Sopenharmony_ci	help
8762306a36Sopenharmony_ci	  This driver supports RK805, RK809 and RK817, RK808 and RK818 crystal oscillator clock.
8862306a36Sopenharmony_ci	  These multi-function devices have two fixed-rate oscillators, clocked at 32KHz each.
8962306a36Sopenharmony_ci	  Clkout1 is always on, Clkout2 can off by control register.
9062306a36Sopenharmony_ci
9162306a36Sopenharmony_ciconfig COMMON_CLK_HI655X
9262306a36Sopenharmony_ci	tristate "Clock driver for Hi655x" if EXPERT
9362306a36Sopenharmony_ci	depends on (MFD_HI655X_PMIC || COMPILE_TEST)
9462306a36Sopenharmony_ci	select REGMAP
9562306a36Sopenharmony_ci	default MFD_HI655X_PMIC
9662306a36Sopenharmony_ci	help
9762306a36Sopenharmony_ci	  This driver supports the hi655x PMIC clock. This
9862306a36Sopenharmony_ci	  multi-function device has one fixed-rate oscillator, clocked
9962306a36Sopenharmony_ci	  at 32KHz.
10062306a36Sopenharmony_ci
10162306a36Sopenharmony_ciconfig COMMON_CLK_SCMI
10262306a36Sopenharmony_ci	tristate "Clock driver controlled via SCMI interface"
10362306a36Sopenharmony_ci	depends on ARM_SCMI_PROTOCOL || COMPILE_TEST
10462306a36Sopenharmony_ci	help
10562306a36Sopenharmony_ci	  This driver provides support for clocks that are controlled
10662306a36Sopenharmony_ci	  by firmware that implements the SCMI interface.
10762306a36Sopenharmony_ci
10862306a36Sopenharmony_ci	  This driver uses SCMI Message Protocol to interact with the
10962306a36Sopenharmony_ci	  firmware providing all the clock controls.
11062306a36Sopenharmony_ci
11162306a36Sopenharmony_ciconfig COMMON_CLK_SCPI
11262306a36Sopenharmony_ci	tristate "Clock driver controlled via SCPI interface"
11362306a36Sopenharmony_ci	depends on ARM_SCPI_PROTOCOL || COMPILE_TEST
11462306a36Sopenharmony_ci	help
11562306a36Sopenharmony_ci	  This driver provides support for clocks that are controlled
11662306a36Sopenharmony_ci	  by firmware that implements the SCPI interface.
11762306a36Sopenharmony_ci
11862306a36Sopenharmony_ci	  This driver uses SCPI Message Protocol to interact with the
11962306a36Sopenharmony_ci	  firmware providing all the clock controls.
12062306a36Sopenharmony_ci
12162306a36Sopenharmony_ciconfig COMMON_CLK_SI5341
12262306a36Sopenharmony_ci	tristate "Clock driver for SiLabs 5341 and 5340 A/B/C/D devices"
12362306a36Sopenharmony_ci	depends on I2C
12462306a36Sopenharmony_ci	select REGMAP_I2C
12562306a36Sopenharmony_ci	help
12662306a36Sopenharmony_ci	  This driver supports Silicon Labs Si5341 and Si5340 programmable clock
12762306a36Sopenharmony_ci	  generators. Not all features of these chips are currently supported
12862306a36Sopenharmony_ci	  by the driver, in particular it only supports XTAL input. The chip can
12962306a36Sopenharmony_ci	  be pre-programmed to support other configurations and features not yet
13062306a36Sopenharmony_ci	  implemented in the driver.
13162306a36Sopenharmony_ci
13262306a36Sopenharmony_ciconfig COMMON_CLK_SI5351
13362306a36Sopenharmony_ci	tristate "Clock driver for SiLabs 5351A/B/C"
13462306a36Sopenharmony_ci	depends on I2C
13562306a36Sopenharmony_ci	select REGMAP_I2C
13662306a36Sopenharmony_ci	help
13762306a36Sopenharmony_ci	  This driver supports Silicon Labs 5351A/B/C programmable clock
13862306a36Sopenharmony_ci	  generators.
13962306a36Sopenharmony_ci
14062306a36Sopenharmony_ciconfig COMMON_CLK_SI514
14162306a36Sopenharmony_ci	tristate "Clock driver for SiLabs 514 devices"
14262306a36Sopenharmony_ci	depends on I2C
14362306a36Sopenharmony_ci	depends on OF
14462306a36Sopenharmony_ci	select REGMAP_I2C
14562306a36Sopenharmony_ci	help
14662306a36Sopenharmony_ci	  This driver supports the Silicon Labs 514 programmable clock
14762306a36Sopenharmony_ci	  generator.
14862306a36Sopenharmony_ci
14962306a36Sopenharmony_ciconfig COMMON_CLK_SI544
15062306a36Sopenharmony_ci	tristate "Clock driver for SiLabs 544 devices"
15162306a36Sopenharmony_ci	depends on I2C
15262306a36Sopenharmony_ci	select REGMAP_I2C
15362306a36Sopenharmony_ci	help
15462306a36Sopenharmony_ci	  This driver supports the Silicon Labs 544 programmable clock
15562306a36Sopenharmony_ci	  generator.
15662306a36Sopenharmony_ci
15762306a36Sopenharmony_ciconfig COMMON_CLK_SI570
15862306a36Sopenharmony_ci	tristate "Clock driver for SiLabs 570 and compatible devices"
15962306a36Sopenharmony_ci	depends on I2C
16062306a36Sopenharmony_ci	depends on OF
16162306a36Sopenharmony_ci	select REGMAP_I2C
16262306a36Sopenharmony_ci	help
16362306a36Sopenharmony_ci	  This driver supports Silicon Labs 570/571/598/599 programmable
16462306a36Sopenharmony_ci	  clock generators.
16562306a36Sopenharmony_ci
16662306a36Sopenharmony_ciconfig COMMON_CLK_BM1880
16762306a36Sopenharmony_ci	bool "Clock driver for Bitmain BM1880 SoC"
16862306a36Sopenharmony_ci	depends on ARCH_BITMAIN || COMPILE_TEST
16962306a36Sopenharmony_ci	default ARCH_BITMAIN
17062306a36Sopenharmony_ci	help
17162306a36Sopenharmony_ci	  This driver supports the clocks on Bitmain BM1880 SoC.
17262306a36Sopenharmony_ci
17362306a36Sopenharmony_ciconfig COMMON_CLK_CDCE706
17462306a36Sopenharmony_ci	tristate "Clock driver for TI CDCE706 clock synthesizer"
17562306a36Sopenharmony_ci	depends on I2C
17662306a36Sopenharmony_ci	select REGMAP_I2C
17762306a36Sopenharmony_ci	help
17862306a36Sopenharmony_ci	  This driver supports TI CDCE706 programmable 3-PLL clock synthesizer.
17962306a36Sopenharmony_ci
18062306a36Sopenharmony_ciconfig COMMON_CLK_TPS68470
18162306a36Sopenharmony_ci	tristate "Clock Driver for TI TPS68470 PMIC"
18262306a36Sopenharmony_ci	depends on I2C
18362306a36Sopenharmony_ci	depends on INTEL_SKL_INT3472 || COMPILE_TEST
18462306a36Sopenharmony_ci	select REGMAP_I2C
18562306a36Sopenharmony_ci	help
18662306a36Sopenharmony_ci	  This driver supports the clocks provided by the TPS68470 PMIC.
18762306a36Sopenharmony_ci
18862306a36Sopenharmony_ciconfig COMMON_CLK_CDCE925
18962306a36Sopenharmony_ci	tristate "Clock driver for TI CDCE913/925/937/949 devices"
19062306a36Sopenharmony_ci	depends on I2C
19162306a36Sopenharmony_ci	depends on OF
19262306a36Sopenharmony_ci	select REGMAP_I2C
19362306a36Sopenharmony_ci	help
19462306a36Sopenharmony_ci	  This driver supports the TI CDCE913/925/937/949 programmable clock
19562306a36Sopenharmony_ci	  synthesizer. Each chip has different number of PLLs and outputs.
19662306a36Sopenharmony_ci	  For example, the CDCE925 contains two PLLs with spread-spectrum
19762306a36Sopenharmony_ci	  clocking support and five output dividers. The driver only supports
19862306a36Sopenharmony_ci	  the following setup, and uses a fixed setting for the output muxes.
19962306a36Sopenharmony_ci	  Y1 is derived from the input clock
20062306a36Sopenharmony_ci	  Y2 and Y3 derive from PLL1
20162306a36Sopenharmony_ci	  Y4 and Y5 derive from PLL2
20262306a36Sopenharmony_ci	  Given a target output frequency, the driver will set the PLL and
20362306a36Sopenharmony_ci	  divider to best approximate the desired output.
20462306a36Sopenharmony_ci
20562306a36Sopenharmony_ciconfig COMMON_CLK_CS2000_CP
20662306a36Sopenharmony_ci	tristate "Clock driver for CS2000 Fractional-N Clock Synthesizer & Clock Multiplier"
20762306a36Sopenharmony_ci	depends on I2C
20862306a36Sopenharmony_ci	select REGMAP_I2C
20962306a36Sopenharmony_ci	help
21062306a36Sopenharmony_ci	  If you say yes here you get support for the CS2000 clock multiplier.
21162306a36Sopenharmony_ci
21262306a36Sopenharmony_ciconfig COMMON_CLK_EN7523
21362306a36Sopenharmony_ci	bool "Clock driver for Airoha EN7523 SoC system clocks"
21462306a36Sopenharmony_ci	depends on OF
21562306a36Sopenharmony_ci	depends on ARCH_AIROHA || COMPILE_TEST
21662306a36Sopenharmony_ci	default ARCH_AIROHA
21762306a36Sopenharmony_ci	help
21862306a36Sopenharmony_ci	  This driver provides the fixed clocks and gates present on Airoha
21962306a36Sopenharmony_ci	  ARM silicon.
22062306a36Sopenharmony_ci
22162306a36Sopenharmony_ciconfig COMMON_CLK_FSL_FLEXSPI
22262306a36Sopenharmony_ci	tristate "Clock driver for FlexSPI on Layerscape SoCs"
22362306a36Sopenharmony_ci	depends on ARCH_LAYERSCAPE || COMPILE_TEST
22462306a36Sopenharmony_ci	default ARCH_LAYERSCAPE && SPI_NXP_FLEXSPI
22562306a36Sopenharmony_ci	help
22662306a36Sopenharmony_ci	  On Layerscape SoCs there is a special clock for the FlexSPI
22762306a36Sopenharmony_ci	  interface.
22862306a36Sopenharmony_ci
22962306a36Sopenharmony_ciconfig COMMON_CLK_FSL_SAI
23062306a36Sopenharmony_ci	bool "Clock driver for BCLK of Freescale SAI cores"
23162306a36Sopenharmony_ci	depends on ARCH_LAYERSCAPE || COMPILE_TEST
23262306a36Sopenharmony_ci	help
23362306a36Sopenharmony_ci	  This driver supports the Freescale SAI (Synchronous Audio Interface)
23462306a36Sopenharmony_ci	  to be used as a generic clock output. Some SoCs have restrictions
23562306a36Sopenharmony_ci	  regarding the possible pin multiplexer settings. Eg. on some SoCs
23662306a36Sopenharmony_ci	  two SAI interfaces can only be enabled together. If just one is
23762306a36Sopenharmony_ci	  needed, the BCLK pin of the second one can be used as general
23862306a36Sopenharmony_ci	  purpose clock output. Ideally, it can be used to drive an audio
23962306a36Sopenharmony_ci	  codec (sometimes known as MCLK).
24062306a36Sopenharmony_ci
24162306a36Sopenharmony_ciconfig COMMON_CLK_GEMINI
24262306a36Sopenharmony_ci	bool "Clock driver for Cortina Systems Gemini SoC"
24362306a36Sopenharmony_ci	depends on ARCH_GEMINI || COMPILE_TEST
24462306a36Sopenharmony_ci	select MFD_SYSCON
24562306a36Sopenharmony_ci	select RESET_CONTROLLER
24662306a36Sopenharmony_ci	help
24762306a36Sopenharmony_ci	  This driver supports the SoC clocks on the Cortina Systems Gemini
24862306a36Sopenharmony_ci	  platform, also known as SL3516 or CS3516.
24962306a36Sopenharmony_ci
25062306a36Sopenharmony_ciconfig COMMON_CLK_LAN966X
25162306a36Sopenharmony_ci	tristate "Generic Clock Controller driver for LAN966X SoC"
25262306a36Sopenharmony_ci	depends on HAS_IOMEM
25362306a36Sopenharmony_ci	depends on OF
25462306a36Sopenharmony_ci	depends on SOC_LAN966 || COMPILE_TEST
25562306a36Sopenharmony_ci	help
25662306a36Sopenharmony_ci	  This driver provides support for Generic Clock Controller(GCK) on
25762306a36Sopenharmony_ci	  LAN966X SoC. GCK generates and supplies clock to various peripherals
25862306a36Sopenharmony_ci	  within the SoC.
25962306a36Sopenharmony_ci
26062306a36Sopenharmony_ciconfig COMMON_CLK_ASPEED
26162306a36Sopenharmony_ci	bool "Clock driver for Aspeed BMC SoCs"
26262306a36Sopenharmony_ci	depends on ARCH_ASPEED || COMPILE_TEST
26362306a36Sopenharmony_ci	default ARCH_ASPEED
26462306a36Sopenharmony_ci	select MFD_SYSCON
26562306a36Sopenharmony_ci	select RESET_CONTROLLER
26662306a36Sopenharmony_ci	help
26762306a36Sopenharmony_ci	  This driver supports the SoC clocks on the Aspeed BMC platforms.
26862306a36Sopenharmony_ci
26962306a36Sopenharmony_ci	  The G4 and G5 series, including the ast2400 and ast2500, are supported
27062306a36Sopenharmony_ci	  by this driver.
27162306a36Sopenharmony_ci
27262306a36Sopenharmony_ciconfig COMMON_CLK_S2MPS11
27362306a36Sopenharmony_ci	tristate "Clock driver for S2MPS1X/S5M8767 MFD"
27462306a36Sopenharmony_ci	depends on MFD_SEC_CORE || COMPILE_TEST
27562306a36Sopenharmony_ci	help
27662306a36Sopenharmony_ci	  This driver supports S2MPS11/S2MPS14/S5M8767 crystal oscillator
27762306a36Sopenharmony_ci	  clock. These multi-function devices have two (S2MPS14) or three
27862306a36Sopenharmony_ci	  (S2MPS11, S5M8767) fixed-rate oscillators, clocked at 32KHz each.
27962306a36Sopenharmony_ci
28062306a36Sopenharmony_ciconfig CLK_TWL6040
28162306a36Sopenharmony_ci	tristate "External McPDM functional clock from twl6040"
28262306a36Sopenharmony_ci	depends on TWL6040_CORE
28362306a36Sopenharmony_ci	help
28462306a36Sopenharmony_ci	  Enable the external functional clock support on OMAP4+ platforms for
28562306a36Sopenharmony_ci	  McPDM. McPDM module is using the external bit clock on the McPDM bus
28662306a36Sopenharmony_ci	  as functional clock.
28762306a36Sopenharmony_ci
28862306a36Sopenharmony_ciconfig COMMON_CLK_AXI_CLKGEN
28962306a36Sopenharmony_ci	tristate "AXI clkgen driver"
29062306a36Sopenharmony_ci	depends on HAS_IOMEM || COMPILE_TEST
29162306a36Sopenharmony_ci	depends on OF
29262306a36Sopenharmony_ci	help
29362306a36Sopenharmony_ci	  Support for the Analog Devices axi-clkgen pcore clock generator for Xilinx
29462306a36Sopenharmony_ci	  FPGAs. It is commonly used in Analog Devices' reference designs.
29562306a36Sopenharmony_ci
29662306a36Sopenharmony_ciconfig CLK_QORIQ
29762306a36Sopenharmony_ci	bool "Clock driver for Freescale QorIQ platforms"
29862306a36Sopenharmony_ci	depends on OF
29962306a36Sopenharmony_ci	depends on PPC_E500MC || SOC_LS1021A || ARCH_LAYERSCAPE || COMPILE_TEST
30062306a36Sopenharmony_ci	help
30162306a36Sopenharmony_ci	  This adds the clock driver support for Freescale QorIQ platforms
30262306a36Sopenharmony_ci	  using common clock framework.
30362306a36Sopenharmony_ci
30462306a36Sopenharmony_ciconfig CLK_LS1028A_PLLDIG
30562306a36Sopenharmony_ci        tristate "Clock driver for LS1028A Display output"
30662306a36Sopenharmony_ci        depends on ARCH_LAYERSCAPE || COMPILE_TEST
30762306a36Sopenharmony_ci        default ARCH_LAYERSCAPE
30862306a36Sopenharmony_ci        help
30962306a36Sopenharmony_ci          This driver support the Display output interfaces(LCD, DPHY) pixel clocks
31062306a36Sopenharmony_ci          of the QorIQ Layerscape LS1028A, as implemented TSMC CLN28HPM PLL. Not all
31162306a36Sopenharmony_ci          features of the PLL are currently supported by the driver. By default,
31262306a36Sopenharmony_ci          configured bypass mode with this PLL.
31362306a36Sopenharmony_ci
31462306a36Sopenharmony_ciconfig COMMON_CLK_XGENE
31562306a36Sopenharmony_ci	bool "Clock driver for APM XGene SoC"
31662306a36Sopenharmony_ci	default ARCH_XGENE
31762306a36Sopenharmony_ci	depends on ARM64 || COMPILE_TEST
31862306a36Sopenharmony_ci	help
31962306a36Sopenharmony_ci	  Support for the APM X-Gene SoC reference, PLL, and device clocks.
32062306a36Sopenharmony_ci
32162306a36Sopenharmony_ciconfig COMMON_CLK_LOCHNAGAR
32262306a36Sopenharmony_ci	tristate "Cirrus Logic Lochnagar clock driver"
32362306a36Sopenharmony_ci	depends on MFD_LOCHNAGAR
32462306a36Sopenharmony_ci	help
32562306a36Sopenharmony_ci	  This driver supports the clocking features of the Cirrus Logic
32662306a36Sopenharmony_ci	  Lochnagar audio development board.
32762306a36Sopenharmony_ci
32862306a36Sopenharmony_ciconfig COMMON_CLK_LOONGSON2
32962306a36Sopenharmony_ci	bool "Clock driver for Loongson-2 SoC"
33062306a36Sopenharmony_ci	depends on LOONGARCH || COMPILE_TEST
33162306a36Sopenharmony_ci	help
33262306a36Sopenharmony_ci          This driver provides support for clock controller on Loongson-2 SoC.
33362306a36Sopenharmony_ci          The clock controller can generates and supplies clock to various
33462306a36Sopenharmony_ci          peripherals within the SoC.
33562306a36Sopenharmony_ci          Say Y here to support Loongson-2 SoC clock driver.
33662306a36Sopenharmony_ci
33762306a36Sopenharmony_ciconfig COMMON_CLK_NXP
33862306a36Sopenharmony_ci	def_bool COMMON_CLK && (ARCH_LPC18XX || ARCH_LPC32XX)
33962306a36Sopenharmony_ci	select REGMAP_MMIO if ARCH_LPC32XX
34062306a36Sopenharmony_ci	select MFD_SYSCON if ARCH_LPC18XX
34162306a36Sopenharmony_ci	help
34262306a36Sopenharmony_ci	  Support for clock providers on NXP platforms.
34362306a36Sopenharmony_ci
34462306a36Sopenharmony_ciconfig COMMON_CLK_PALMAS
34562306a36Sopenharmony_ci	tristate "Clock driver for TI Palmas devices"
34662306a36Sopenharmony_ci	depends on MFD_PALMAS
34762306a36Sopenharmony_ci	help
34862306a36Sopenharmony_ci	  This driver supports TI Palmas devices 32KHz output KG and KG_AUDIO
34962306a36Sopenharmony_ci	  using common clock framework.
35062306a36Sopenharmony_ci
35162306a36Sopenharmony_ciconfig COMMON_CLK_PWM
35262306a36Sopenharmony_ci	tristate "Clock driver for PWMs used as clock outputs"
35362306a36Sopenharmony_ci	depends on PWM
35462306a36Sopenharmony_ci	help
35562306a36Sopenharmony_ci	  Adapter driver so that any PWM output can be (mis)used as clock signal
35662306a36Sopenharmony_ci	  at 50% duty cycle.
35762306a36Sopenharmony_ci
35862306a36Sopenharmony_ciconfig COMMON_CLK_PXA
35962306a36Sopenharmony_ci	def_bool COMMON_CLK && ARCH_PXA
36062306a36Sopenharmony_ci	help
36162306a36Sopenharmony_ci	  Support for the Marvell PXA SoC.
36262306a36Sopenharmony_ci
36362306a36Sopenharmony_ciconfig COMMON_CLK_RS9_PCIE
36462306a36Sopenharmony_ci	tristate "Clock driver for Renesas 9-series PCIe clock generators"
36562306a36Sopenharmony_ci	depends on I2C
36662306a36Sopenharmony_ci	depends on OF
36762306a36Sopenharmony_ci	select REGMAP_I2C
36862306a36Sopenharmony_ci	help
36962306a36Sopenharmony_ci	  This driver supports the Renesas 9-series PCIe clock generator
37062306a36Sopenharmony_ci	  models 9FGV/9DBV/9DMV/9FGL/9DML/9QXL/9SQ.
37162306a36Sopenharmony_ci
37262306a36Sopenharmony_ciconfig COMMON_CLK_SI521XX
37362306a36Sopenharmony_ci	tristate "Clock driver for SkyWorks Si521xx PCIe clock generators"
37462306a36Sopenharmony_ci	depends on I2C
37562306a36Sopenharmony_ci	depends on OF
37662306a36Sopenharmony_ci	select REGMAP_I2C
37762306a36Sopenharmony_ci	help
37862306a36Sopenharmony_ci	  This driver supports the SkyWorks Si521xx PCIe clock generator
37962306a36Sopenharmony_ci	  models Si52144/Si52146/Si52147.
38062306a36Sopenharmony_ci
38162306a36Sopenharmony_ciconfig COMMON_CLK_VC3
38262306a36Sopenharmony_ci	tristate "Clock driver for Renesas VersaClock 3 devices"
38362306a36Sopenharmony_ci	depends on I2C
38462306a36Sopenharmony_ci	depends on OF
38562306a36Sopenharmony_ci	select REGMAP_I2C
38662306a36Sopenharmony_ci	help
38762306a36Sopenharmony_ci	  This driver supports the Renesas VersaClock 3 programmable clock
38862306a36Sopenharmony_ci	  generators.
38962306a36Sopenharmony_ci
39062306a36Sopenharmony_ciconfig COMMON_CLK_VC5
39162306a36Sopenharmony_ci	tristate "Clock driver for IDT VersaClock 5,6 devices"
39262306a36Sopenharmony_ci	depends on I2C
39362306a36Sopenharmony_ci	depends on OF
39462306a36Sopenharmony_ci	select REGMAP_I2C
39562306a36Sopenharmony_ci	help
39662306a36Sopenharmony_ci	  This driver supports the IDT VersaClock 5 and VersaClock 6
39762306a36Sopenharmony_ci	  programmable clock generators.
39862306a36Sopenharmony_ci
39962306a36Sopenharmony_ciconfig COMMON_CLK_VC7
40062306a36Sopenharmony_ci	tristate "Clock driver for Renesas Versaclock 7 devices"
40162306a36Sopenharmony_ci	depends on I2C
40262306a36Sopenharmony_ci	depends on OF
40362306a36Sopenharmony_ci	select REGMAP_I2C
40462306a36Sopenharmony_ci	help
40562306a36Sopenharmony_ci	  Renesas Versaclock7 is a family of configurable clock generator
40662306a36Sopenharmony_ci	  and jitter attenuator ICs with fractional and integer dividers.
40762306a36Sopenharmony_ci
40862306a36Sopenharmony_ciconfig COMMON_CLK_STM32MP135
40962306a36Sopenharmony_ci	def_bool COMMON_CLK && MACH_STM32MP13
41062306a36Sopenharmony_ci	help
41162306a36Sopenharmony_ci	  Support for stm32mp135 SoC family clocks
41262306a36Sopenharmony_ci
41362306a36Sopenharmony_ciconfig COMMON_CLK_STM32MP157
41462306a36Sopenharmony_ci	def_bool COMMON_CLK && MACH_STM32MP157
41562306a36Sopenharmony_ci	help
41662306a36Sopenharmony_ci	  Support for stm32mp157 SoC family clocks
41762306a36Sopenharmony_ci
41862306a36Sopenharmony_ciconfig COMMON_CLK_STM32F
41962306a36Sopenharmony_ci	def_bool COMMON_CLK && (MACH_STM32F429 || MACH_STM32F469 || MACH_STM32F746)
42062306a36Sopenharmony_ci	help
42162306a36Sopenharmony_ci	  Support for stm32f4 and stm32f7 SoC families clocks
42262306a36Sopenharmony_ci
42362306a36Sopenharmony_ciconfig COMMON_CLK_STM32H7
42462306a36Sopenharmony_ci	def_bool COMMON_CLK && MACH_STM32H743
42562306a36Sopenharmony_ci	help
42662306a36Sopenharmony_ci	  Support for stm32h7 SoC family clocks
42762306a36Sopenharmony_ci
42862306a36Sopenharmony_ciconfig COMMON_CLK_MMP2
42962306a36Sopenharmony_ci	def_bool COMMON_CLK && (MACH_MMP2_DT || MACH_MMP3_DT)
43062306a36Sopenharmony_ci	help
43162306a36Sopenharmony_ci	  Support for Marvell MMP2 and MMP3 SoC clocks
43262306a36Sopenharmony_ci
43362306a36Sopenharmony_ciconfig COMMON_CLK_MMP2_AUDIO
43462306a36Sopenharmony_ci        tristate "Clock driver for MMP2 Audio subsystem"
43562306a36Sopenharmony_ci        depends on COMMON_CLK_MMP2 || COMPILE_TEST
43662306a36Sopenharmony_ci        help
43762306a36Sopenharmony_ci          This driver supports clocks for Audio subsystem on MMP2 SoC.
43862306a36Sopenharmony_ci
43962306a36Sopenharmony_ciconfig COMMON_CLK_BD718XX
44062306a36Sopenharmony_ci	tristate "Clock driver for 32K clk gates on ROHM PMICs"
44162306a36Sopenharmony_ci	depends on MFD_ROHM_BD718XX || MFD_ROHM_BD71828
44262306a36Sopenharmony_ci	help
44362306a36Sopenharmony_ci	  This driver supports ROHM BD71837, BD71847, BD71850, BD71815
44462306a36Sopenharmony_ci	  and BD71828 PMICs clock gates.
44562306a36Sopenharmony_ci
44662306a36Sopenharmony_ciconfig COMMON_CLK_FIXED_MMIO
44762306a36Sopenharmony_ci	bool "Clock driver for Memory Mapped Fixed values"
44862306a36Sopenharmony_ci	depends on COMMON_CLK && OF
44962306a36Sopenharmony_ci	depends on HAS_IOMEM
45062306a36Sopenharmony_ci	help
45162306a36Sopenharmony_ci	  Support for Memory Mapped IO Fixed clocks
45262306a36Sopenharmony_ci
45362306a36Sopenharmony_ciconfig COMMON_CLK_K210
45462306a36Sopenharmony_ci	bool "Clock driver for the Canaan Kendryte K210 SoC"
45562306a36Sopenharmony_ci	depends on OF && RISCV && SOC_CANAAN
45662306a36Sopenharmony_ci	default SOC_CANAAN
45762306a36Sopenharmony_ci	help
45862306a36Sopenharmony_ci	  Support for the Canaan Kendryte K210 RISC-V SoC clocks.
45962306a36Sopenharmony_ci
46062306a36Sopenharmony_ciconfig COMMON_CLK_SP7021
46162306a36Sopenharmony_ci	tristate "Clock driver for Sunplus SP7021 SoC"
46262306a36Sopenharmony_ci	depends on SOC_SP7021 || COMPILE_TEST
46362306a36Sopenharmony_ci	default SOC_SP7021
46462306a36Sopenharmony_ci	help
46562306a36Sopenharmony_ci	  This driver supports the Sunplus SP7021 SoC clocks.
46662306a36Sopenharmony_ci	  It implements SP7021 PLLs/gate.
46762306a36Sopenharmony_ci	  Not all features of the PLL are currently supported
46862306a36Sopenharmony_ci	  by the driver.
46962306a36Sopenharmony_ci
47062306a36Sopenharmony_cisource "drivers/clk/actions/Kconfig"
47162306a36Sopenharmony_cisource "drivers/clk/analogbits/Kconfig"
47262306a36Sopenharmony_cisource "drivers/clk/baikal-t1/Kconfig"
47362306a36Sopenharmony_cisource "drivers/clk/bcm/Kconfig"
47462306a36Sopenharmony_cisource "drivers/clk/hisilicon/Kconfig"
47562306a36Sopenharmony_cisource "drivers/clk/imgtec/Kconfig"
47662306a36Sopenharmony_cisource "drivers/clk/imx/Kconfig"
47762306a36Sopenharmony_cisource "drivers/clk/ingenic/Kconfig"
47862306a36Sopenharmony_cisource "drivers/clk/keystone/Kconfig"
47962306a36Sopenharmony_cisource "drivers/clk/mediatek/Kconfig"
48062306a36Sopenharmony_cisource "drivers/clk/meson/Kconfig"
48162306a36Sopenharmony_cisource "drivers/clk/mstar/Kconfig"
48262306a36Sopenharmony_cisource "drivers/clk/microchip/Kconfig"
48362306a36Sopenharmony_cisource "drivers/clk/mvebu/Kconfig"
48462306a36Sopenharmony_cisource "drivers/clk/nuvoton/Kconfig"
48562306a36Sopenharmony_cisource "drivers/clk/pistachio/Kconfig"
48662306a36Sopenharmony_cisource "drivers/clk/qcom/Kconfig"
48762306a36Sopenharmony_cisource "drivers/clk/ralink/Kconfig"
48862306a36Sopenharmony_cisource "drivers/clk/renesas/Kconfig"
48962306a36Sopenharmony_cisource "drivers/clk/rockchip/Kconfig"
49062306a36Sopenharmony_cisource "drivers/clk/samsung/Kconfig"
49162306a36Sopenharmony_cisource "drivers/clk/sifive/Kconfig"
49262306a36Sopenharmony_cisource "drivers/clk/socfpga/Kconfig"
49362306a36Sopenharmony_cisource "drivers/clk/sprd/Kconfig"
49462306a36Sopenharmony_cisource "drivers/clk/starfive/Kconfig"
49562306a36Sopenharmony_cisource "drivers/clk/sunxi/Kconfig"
49662306a36Sopenharmony_cisource "drivers/clk/sunxi-ng/Kconfig"
49762306a36Sopenharmony_cisource "drivers/clk/tegra/Kconfig"
49862306a36Sopenharmony_cisource "drivers/clk/ti/Kconfig"
49962306a36Sopenharmony_cisource "drivers/clk/uniphier/Kconfig"
50062306a36Sopenharmony_cisource "drivers/clk/visconti/Kconfig"
50162306a36Sopenharmony_cisource "drivers/clk/x86/Kconfig"
50262306a36Sopenharmony_cisource "drivers/clk/xilinx/Kconfig"
50362306a36Sopenharmony_cisource "drivers/clk/zynqmp/Kconfig"
50462306a36Sopenharmony_ci
50562306a36Sopenharmony_ci# Kunit test cases
50662306a36Sopenharmony_ciconfig CLK_KUNIT_TEST
50762306a36Sopenharmony_ci	tristate "Basic Clock Framework Kunit Tests" if !KUNIT_ALL_TESTS
50862306a36Sopenharmony_ci	depends on KUNIT
50962306a36Sopenharmony_ci	default KUNIT_ALL_TESTS
51062306a36Sopenharmony_ci	help
51162306a36Sopenharmony_ci	  Kunit tests for the common clock framework.
51262306a36Sopenharmony_ci
51362306a36Sopenharmony_ciconfig CLK_GATE_KUNIT_TEST
51462306a36Sopenharmony_ci	tristate "Basic gate type Kunit test" if !KUNIT_ALL_TESTS
51562306a36Sopenharmony_ci	depends on KUNIT
51662306a36Sopenharmony_ci	default KUNIT_ALL_TESTS
51762306a36Sopenharmony_ci	help
51862306a36Sopenharmony_ci	  Kunit test for the basic clk gate type.
51962306a36Sopenharmony_ci
52062306a36Sopenharmony_ciendif
521