# SPDX-License-Identifier: GPL-2.0-only
#
# Frequency
#	Direct Digital Synthesis drivers (DDS)
#	Clock Distribution device drivers
#	Phase-Locked Loop (PLL) frequency synthesizers
#
# When adding new entries keep the list in alphabetical order

menu "Frequency Synthesizers DDS/PLL"

menu "Clock Generator/Distribution"

config AD9508
	tristate "Analog Devices AD9508 Clock Fanout Buffer"
	depends on SPI
	help
	  Say yes here to build support for Analog Devices AD9508 Clock Fanout Buffer with
	  Output Dividers and Delay Adjust. The driver provides direct access via sysfs.

	  To compile this driver as a module, choose M here: the
	  module will be called ad9508.

config AD9523
	tristate "Analog Devices AD9523 Low Jitter Clock Generator"
	depends on SPI
	depends on COMMON_CLK
	help
	  Say yes here to build support for Analog Devices AD9523 Low Jitter
	  Clock Generator. The driver provides direct access via sysfs.

	  To compile this driver as a module, choose M here: the
	  module will be called ad9523.

config AD9528
	tristate "Analog Devices AD9528 Low Jitter Clock Generator"
	depends on SPI
	depends on COMMON_CLK
	help
	  Say yes here to build support for Analog Devices AD9528 Low Jitter
	  Clock Generator. The driver provides direct access via sysfs.

	  To compile this driver as a module, choose M here: the
	  module will be called ad9528.

config AD9548
	tristate "Analog Devices AD9548 Network Clock Generator/Synchronizer"
	depends on SPI
	help
	  Say yes here to build support for Analog Devices AD9548
	  Quad/Octal Input Network Clock Generator/Synchronizer.

	  To compile this driver as a module, choose M here: the
	  module will be called ad9548.

config AD9517
	tristate "Analog Devices AD9517 12-Output Clock Generator"
	depends on SPI
	depends on COMMON_CLK
	help
	  Say yes here to build support for Analog Devices AD9517
	  12-Output Clock Generator.

	  To compile this driver as a module, choose M here: the
	  module will be called ad9517.

config HMC7044
	tristate "Analog Devices HMC7044, HMC7043 Clock Jitter Attenuator with JESD204B"
	depends on SPI
	depends on COMMON_CLK
	help
	  Say yes here to build support for Analog Devices HMC7044, HMC7043
	  Clock Jitter Attenuator with JESD204B.
	  The driver provides direct access via sysfs.

	  To compile this driver as a module, choose M here: the
	  module will be called hmc7044.

config LTC6952
	tristate "Analog Devices LTC6952 Clock Ultralow Jitter with JESD204B/C"
	depends on SPI
	depends on COMMON_CLK
	help
	  Say yes here to build support for Analog Devices LTC6952 Clock Ultralow
	  Jitter Attenuator with JESD204B/C. The driver provides direct access
	  via sysfs.

	  To compile this driver as a module, choose M here: the
	  module will be called ltc6952.

config ADF4030
	tristate "Analog Devices ADF4030 10-Channel Precision Synchronizer"
	depends on SPI && COMMON_CLK
	select REGMAP_SPI
	help
	  Say yes here to build support for Analog Devices ADF4030
	  10-Channel Precision Synchronizer. The driver provides direct access
	  via sysfs.

	  To compile this driver as a module, choose M here: the
	  module will be called adf4030.

endmenu

menu "Direct Digital Synthesis"

config CF_AXI_DDS
	tristate "Analog Devices CoreFPGA AXI DDS driver"
	depends on SPI
	depends on COMMON_CLK
	select IIO_BUFFER_DMAENGINE
	help
	  Say yes here to build support for Analog Devices DDS chip
	  AD9122, provides direct access via sysfs.

config CF_AXI_DDS_AD9122
	tristate "Analog Devices AD9122 DAC"
	depends on CF_AXI_DDS
	help
	  Say yes here to build support for Analog Devices AD9122 DAC chip
	  ad9122, provides direct access via sysfs.

config CF_AXI_DDS_AD9144
	tristate "Analog Devices AD9144 DAC"
	depends on CF_AXI_DDS
	select REGMAP_SPI
	help
	  Say yes here to build support for Analog Devices AD9144 DAC chip
	  ad9144, provides direct access via sysfs.

config CF_AXI_DDS_AD9162
	tristate "Analog Devices AD9162 DAC"
	depends on CF_AXI_DDS
	select REGMAP_SPI
	help
	  Say yes here to build support for Analog Devices AD9162 DAC chip
	  ad9162, provides direct access via sysfs.

config CF_AXI_DDS_AD9172
	tristate "Analog Devices AD917x DAC"
	depends on CF_AXI_DDS
	select REGMAP_SPI
	help
	  Say yes here to build support for Analog Devices AD917x DAC chip
	  ad917x, provides direct access via sysfs.

config CF_AXI_DDS_AD9783
	tristate "Analog Devices AD9783 DAC"
	depends on CF_AXI_DDS
	select REGMAP_SPI
	help
	  Say yes here to build support for Analog Devices AD9783 DAC family,
	  provides direct access via sysfs.

	  The AD9780/AD9781/AD9783 include pin-compatible, high
	  dynamic range, dual digital-to-analog converters (DACs) with
	  12-/14-/16-bit resolutions, and sample rates of up to 500 MSPS.

config M2K_DAC
	tristate "Analog Devices M2K DAC"
	depends on CF_AXI_DDS
	help
	  Say yes here to build support for Analog Devices M2K platform DAC buffer
	  output.
endmenu

#
# Phase-Locked Loop (PLL) frequency synthesizers
#

menu "Phase-Locked Loop (PLL) frequency synthesizers"


config ADF4159
	tristate "Analog Devices ADF4159/ADF4169 Waveform Generating Synthesizers"
	depends on SPI
	select REGMAP_SPI
	help
	  Say yes here to build support for Analog Devices ADF4159 and ADF4169
	  Direct Modulation/Fast Waveform Generating, 13 GHz,
	  Fractional-N Frequency Synthesizers.
	  The driver provides direct access via sysfs.

	  To compile this driver as a module, choose M here: the
	  module will be called adf4159.

config ADF4350
	tristate "Analog Devices ADF4350/ADF4351 Wideband Synthesizers"
	depends on SPI
	help
	  Say yes here to build support for Analog Devices  ADF4350/ADF4351
	  Wideband Synthesizers. The driver provides direct access via sysfs.

	  To compile this driver as a module, choose M here: the
	  module will be called adf4350.

config ADF4360
	tristate "Analog Devices ADF4360 Wideband Synthesizers"
	depends on SPI
	depends on COMMON_CLK
	help
	  Say yes here to build support for Analog Devices ADF4360
	  Wideband Synthesizers. The driver provides direct access via sysfs.

	  To compile this driver as a module, choose M here: the
	  module will be called adf4360.

config ADF4371
	tristate "Analog Devices ADF4371/ADF4372 Wideband Synthesizers"
	depends on SPI
	select REGMAP_SPI
	help
	  Say yes here to build support for Analog Devices ADF4371 and ADF4372
	  Wideband Synthesizers. The driver provides direct access via sysfs.

	  To compile this driver as a module, choose M here: the
	  module will be called adf4371.

config ADF4377
	tristate "Analog Devices ADF4377 Microwave Wideband Synthesizer"
	depends on SPI && COMMON_CLK
	select REGMAP_SPI
	help
	  Say yes here to build support for Analog Devices ADF4377 Microwave
	  Wideband Synthesizer.

	  To compile this driver as a module, choose M here: the
	  module will be called adf4377.

config ADF5355
	tristate "Analog Devices ADF5355/ADF4355 Wideband Synthesizers"
	depends on SPI
	depends on COMMON_CLK
	help
	  Say yes here to build support for Analog Devices ADF5355/ADF4355
	  Wideband Synthesizers. The driver provides direct access via sysfs.

	  To compile this driver as a module, choose M here: the
	  module will be called adf5355.

config ADMFM2000
	tristate "Analog Devices ADMFM2000 Dual Microwave Down Converter"
	depends on GPIOLIB
	help
	  Say yes here to build support for Analog Devices ADMFM2000 Dual
	  Microwave Down Converter.

	  To compile this driver as a module, choose M here: the
	  module will be called admfm2000.

config ADMV1013
	tristate "Analog Devices ADMV1013 Microwave Upconverter"
	depends on SPI && COMMON_CLK
	help
	  Say yes here to build support for Analog Devices ADMV1013
	  24 GHz to 44 GHz, Wideband, Microwave Upconverter.

	  To compile this driver as a module, choose M here: the
	  module will be called admv1013.

config ADMV1014
	tristate "Analog Devices ADMV1014 Microwave Downconverter"
	depends on SPI && COMMON_CLK
	help
	  Say yes here to build support for Analog Devices ADMV1014
	  24 GHz to 44 GHz, Wideband, Microwave Downconverter.

	  To compile this driver as a module, choose M here: the
	  module will be called admv1014.

config ADMV4420
	tristate "Analog Devices ADMV4420 K Band Downconverter"
	depends on SPI
	select REGMAP_SPI
	help
	  Say yes here to build support for Analog Devices K Band
	  Downconverter with integrated Fractional-N PLL and VCO.

	  To compile this driver as a module, choose M here: the
	  module will be called admv4420.

config ADRF6780
	tristate "Analog Devices ADRF6780 Microwave Upconverter"
	depends on SPI
	depends on COMMON_CLK
	help
	  Say yes here to build support for Analog Devices ADRF6780
	  5.9 GHz to 23.6 GHz, Wideband, Microwave Upconverter.

	  To compile this driver as a module, choose M here: the
	  module will be called adrf6780.

endmenu

#
# RF Front-Ends
#

menu "RF Front-Ends"
config ADL5960
	tristate "Analog Devices ADL5960 Vector Network Analyzer Front-End"
	depends on SPI
	depends on COMMON_CLK
	depends on OF
	select REGMAP_SPI
	help
	  Say yes here to build support for Analog Devices ADL5960
	  10 MHz to 20 GHz, Integrated Vector Network Analyzer Front-End.

	  To compile this driver as a module, choose M here: the
	  module will be called adl5960.

endmenu
endmenu
