#
# DAC drivers
#
# When adding new entries keep the list in alphabetical order

menu "Digital to analog converters"

config AD5064
	tristate "Analog Devices AD5064 and similar multi-channel DAC driver"
	depends on (SPI_MASTER && I2C!=m) || I2C
	help
	  Say yes here to build support for Analog Devices AD5024, AD5025, AD5044,
	  AD5045, AD5064, AD5064-1, AD5065, AD5628, AD5629R, AD5648, AD5666, AD5668,
	  AD5669R Digital to Analog Converter.

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

config AD5360
	tristate "Analog Devices AD5360/61/62/63/70/71/73 DAC driver"
	depends on SPI
	help
	  Say yes here to build support for Analog Devices AD5360, AD5361,
	  AD5362, AD5363, AD5370, AD5371, AD5373 multi-channel
	  Digital to Analog Converters (DAC).

	  To compile this driver as module choose M here: the module will be called
	  ad5360.

config AD5380
	tristate "Analog Devices AD5380/81/82/83/84/90/91/92 DAC driver"
	depends on (SPI_MASTER && I2C!=m) || I2C
	select REGMAP_I2C if I2C
	select REGMAP_SPI if SPI_MASTER
	help
	  Say yes here to build support for Analog Devices AD5380, AD5381,
	  AD5382, AD5383, AD5384, AD5390, AD5391, AD5392 multi-channel
	  Digital to Analog Converters (DAC).

	  To compile this driver as module choose M here: the module will be called
	  ad5380.

config AD5421
	tristate "Analog Devices AD5421 DAC driver"
	depends on SPI
	help
	  Say yes here to build support for Analog Devices AD5421 loop-powered
	  digital-to-analog convertors (DAC).

	  To compile this driver as module choose M here: the module will be called
	  ad5421.

config AD5446
	tristate "Analog Devices AD5446 and similar single channel DACs driver"
	depends on (SPI_MASTER && I2C!=m) || I2C
	help
	  Say yes here to build support for Analog Devices AD5300, AD5301, AD5310,
	  AD5311, AD5320, AD5321, AD5444, AD5446, AD5450, AD5451, AD5452, AD5453,
	  AD5512A, AD5541A, AD5542A, AD5543, AD5553, AD5601, AD5602, AD5611, AD5612,
	  AD5620, AD5621, AD5622, AD5640, AD5641, AD5660, AD5662 DACs.

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

config AD5449
	tristate "Analog Devices AD5449 and similar DACs driver"
	depends on SPI_MASTER
	help
	  Say yes here to build support for Analog Devices AD5415, AD5426, AD5429,
	  AD5432, AD5439, AD5443, AD5449 Digital to Analog Converters.

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

config AD5504
	tristate "Analog Devices AD5504/AD5501 DAC SPI driver"
	depends on SPI
	help
	  Say yes here to build support for Analog Devices AD5504, AD5501,
	  High Voltage Digital to Analog Converter.

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

config AD5624R_SPI
	tristate "Analog Devices AD5624/44/64R DAC spi driver"
	depends on SPI
	help
	  Say yes here to build support for Analog Devices AD5624R, AD5644R and
	  AD5664R converters (DAC). This driver uses the common SPI interface.

config AD5686
	tristate "Analog Devices AD5686R/AD5685R/AD5684R DAC SPI driver"
	depends on SPI
	help
	  Say yes here to build support for Analog Devices AD5686R, AD5685R,
	  AD5684R, AD5791 Voltage Output Digital to
	  Analog Converter.

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

config AD5755
	tristate "Analog Devices AD5755/AD5755-1/AD5757/AD5735/AD5737 DAC driver"
	depends on SPI_MASTER
	help
	  Say yes here to build support for Analog Devices AD5755, AD5755-1,
	  AD5757, AD5735, AD5737 quad channel Digital to
	  Analog Converter.

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

config AD5764
	tristate "Analog Devices AD5764/64R/44/44R DAC driver"
	depends on SPI_MASTER
	help
	  Say yes here to build support for Analog Devices AD5764, AD5764R, AD5744,
	  AD5744R Digital to Analog Converter.

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

config AD5791
	tristate "Analog Devices AD5760/AD5780/AD5781/AD5790/AD5791 DAC SPI driver"
	depends on SPI
	help
	  Say yes here to build support for Analog Devices AD5760, AD5780,
	  AD5781, AD5790, AD5791 High Resolution Voltage Output Digital to
	  Analog Converter.

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

config AD7303
	tristate "Analog Devices AD7303 DAC driver"
	depends on SPI
	help
	  Say yes here to build support for Analog Devices AD7303 Digital to Analog
	  Converters (DAC).

	  To compile this driver as module choose M here: the module will be called
	  ad7303.

config MAX517
	tristate "Maxim MAX517/518/519 DAC driver"
	depends on I2C
	help
	  If you say yes here you get support for the Maxim chips MAX517,
	  MAX518 and MAX519 (I2C 8-Bit DACs with rail-to-rail outputs).

	  This driver can also be built as a module.  If so, the module
	  will be called max517.

config MCP4725
	tristate "MCP4725 DAC driver"
	depends on I2C
	---help---
	  Say Y here if you want to build a driver for the Microchip
	  MCP 4725 12-bit digital-to-analog converter (DAC) with I2C
	  interface.

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

endmenu
