# 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 AD9523
	tristate "Analog Devices AD9523 Low Jitter Clock Generator"
	depends on SPI
	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.

endmenu

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

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

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 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 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 && 64BIT
	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
endmenu
