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

menu "Digital potentiometers"

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 Digital Potentiometer driver"
	depends on I2C
	help
	  Say yes here to build support for the Maxim Integrated DS1803
	  digital potentiometer chip.

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

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

endmenu
