# 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
	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
       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
