# SPDX-License-Identifier: GPL-2.0-only
#
# Potentiometer drivers
#
# When adding new entries keep the list in alphabetical order

menu "Digital potentiometers"

config AD5110
	tristate "Analog Devices AD5110 and similar Digital Potentiometer driver"
	depends on I2C
	help
	  Say yes here to build support for the Analog Devices AD5110, AD5112 
	  and AD5114 digital potentiometer chip.

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

config AD5272
	tristate "Analog Devices AD5272 and similar Digital Potentiometer driver"
	depends on I2C
	help
	  Say yes here to build support for the Analog Devices AD5272 and AD5274
	  digital potentiometer chip.

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

config DS1803
	tristate "Maxim Integrated DS1803 and similar Digital Potentiometer driver"
	depends on I2C
	help
	  Say yes here to build support for the Maxim Integrated DS1803 and
	  DS3502 digital potentiometer chip.

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

config MAX5432
	tristate "Maxim MAX5432-MAX5435 Digital Potentiometer driver"
	depends on I2C
	help
	  Say yes here to build support for the Maxim
	  MAX5432, MAX5433, MAX5434 and MAX5435 digital
	  potentiometer chips.

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

config MAX5481
	tristate "Maxim MAX5481-MAX5484 Digital Potentiometer driver"
	depends on SPI
	help
	  Say yes here to build support for the Maxim
	  MAX5481, MAX5482, MAX5483, MAX5484 digital potentiometer
	  chips.

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

config MAX5487
	tristate "Maxim MAX5487/MAX5488/MAX5489 Digital Potentiometer driver"
	depends on SPI
	help
	  Say yes here to build support for the Maxim
	  MAX5487, MAX5488, MAX5489 digital potentiometer
	  chips.

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

config MCP4018
	tristate "Microchip MCP4017/18/19 Digital Potentiometer driver"
	depends on I2C
	help
	  Say yes here to build support for the Microchip
	  MCP4017, MCP4018, MCP4019
	  digital potentiometer chips.

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

config MCP4131
	tristate "Microchip MCP413X/414X/415X/416X/423X/424X/425X/426X Digital Potentiometer driver"
	depends on SPI
	help
	  Say yes here to build support for the Microchip
	  MCP4131, MCP4132,
	  MCP4141, MCP4142,
	  MCP4151, MCP4152,
	  MCP4161, MCP4162,
	  MCP4231, MCP4232,
	  MCP4241, MCP4242,
	  MCP4251, MCP4252,
	  MCP4261, MCP4262,
	  digital potentiometer chips.

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

config MCP4531
	tristate "Microchip MCP45xx/MCP46xx Digital Potentiometer driver"
	depends on I2C
	help
	  Say yes here to build support for the Microchip
	  MCP4531, MCP4532, MCP4541, MCP4542,
	  MCP4551, MCP4552, MCP4561, MCP4562,
	  MCP4631, MCP4632, MCP4641, MCP4642,
	  MCP4651, MCP4652, MCP4661, MCP4662
	  digital potentiometer chips.

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

config MCP41010
	tristate "Microchip MCP41xxx/MCP42xxx Digital Potentiometer driver"
	depends on SPI
	help
	  Say yes here to build support for the Microchip
	  MCP41010, MCP41050, MCP41100,
	  MCP42010, MCP42050, MCP42100
	  digital potentiometer chips.

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

config TPL0102
	tristate "Texas Instruments digital potentiometer driver"
	depends on I2C
	select REGMAP_I2C
	help
	  Say yes here to build support for the Texas Instruments
	  TPL0102, TPL0402
	  digital potentiometer chips.

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

config X9250
	tristate "Renesas X9250 quad controlled potentiometers"
	depends on SPI
	help
	  Enable support for the Renesas X9250 quad controlled
	  potentiometers.

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

endmenu
