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

menu "Analog to digital converters"

config AD_SIGMA_DELTA
	tristate
	select IIO_BUFFER
	select IIO_TRIGGERED_BUFFER

config AD7124
	tristate "Analog Devices AD7124 and similar sigma-delta ADCs driver"
	depends on SPI_MASTER
	select AD_SIGMA_DELTA
	help
	  Say yes here to build support for Analog Devices AD7124-4 and AD7124-8
	  SPI analog to digital converters (ADC).

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

config AD7266
	tristate "Analog Devices AD7265/AD7266 ADC driver"
	depends on SPI_MASTER
	select IIO_BUFFER
	select IIO_TRIGGER
	select IIO_TRIGGERED_BUFFER
	help
	  Say yes here to build support for Analog Devices AD7265 and AD7266
	  ADCs.

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

config AD7291
	tristate "Analog Devices AD7291 ADC driver"
	depends on I2C
	help
	  Say yes here to build support for Analog Devices AD7291
	  8 Channel ADC with temperature sensor.

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

config AD7298
	tristate "Analog Devices AD7298 ADC driver"
	depends on SPI
	select IIO_BUFFER
	select IIO_TRIGGERED_BUFFER
	help
	  Say yes here to build support for Analog Devices AD7298
	  8 Channel ADC with temperature sensor.

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

config AD7476
	tristate "Analog Devices AD7476 1-channel ADCs driver and other similar devices from AD an TI"
	depends on SPI
	select IIO_BUFFER
	select IIO_TRIGGERED_BUFFER
	help
	  Say yes here to build support for the following SPI analog to
	  digital converters (ADCs):
	  Analog Devices: AD7273, AD7274, AD7276, AD7277, AD7278, AD7475,
	  AD7476, AD7477, AD7478, AD7466, AD7467, AD7468, AD7495, AD7910,
	  AD7920.
	  Texas Instruments: ADS7866, ADS7867, ADS7868.

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

config AD7606
	tristate
	select IIO_BUFFER
	select IIO_TRIGGERED_BUFFER

config AD7606_IFACE_PARALLEL
	tristate "Analog Devices AD7606 ADC driver with parallel interface support"
	depends on HAS_IOMEM
	select AD7606
	help
	  Say yes here to build parallel interface support for Analog Devices:
	  ad7605-4, ad7606, ad7606-6, ad7606-4 analog to digital converters (ADC).

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

config AD7606_IFACE_SPI
	tristate "Analog Devices AD7606 ADC driver with spi interface support"
	depends on SPI
	select AD7606
	help
	  Say yes here to build spi interface support for Analog Devices:
	  ad7605-4, ad7606, ad7606-6, ad7606-4 analog to digital converters (ADC).

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

config AD7766
	tristate "Analog Devices AD7766/AD7767 ADC driver"
	depends on SPI_MASTER
	select IIO_BUFFER
	select IIO_TRIGGERED_BUFFER
	help
	  Say yes here to build support for Analog Devices AD7766, AD7766-1,
	  AD7766-2, AD7767, AD7767-1, AD7767-2 SPI analog to digital converters.

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

config AD7768_1
	tristate "Analog Devices AD7768-1 ADC driver"
	depends on SPI
	select IIO_BUFFER
	select IIO_TRIGGER
	select IIO_TRIGGERED_BUFFER
	help
	  Say yes here to build support for Analog Devices AD7768-1 SPI
	  simultaneously sampling sigma-delta analog to digital converter (ADC).

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

config AD7780
	tristate "Analog Devices AD7780 and similar ADCs driver"
	depends on SPI
	depends on GPIOLIB || COMPILE_TEST
	select AD_SIGMA_DELTA
	help
	  Say yes here to build support for Analog Devices AD7170, AD7171,
	  AD7780 and AD7781 SPI analog to digital converters (ADC).

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

config AD7791
	tristate "Analog Devices AD7791 ADC driver"
	depends on SPI
	select AD_SIGMA_DELTA
	help
	  Say yes here to build support for Analog Devices AD7787, AD7788, AD7789,
	  AD7790 and AD7791 SPI analog to digital converters (ADC).

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

config AD7793
	tristate "Analog Devices AD7793 and similar ADCs driver"
	depends on SPI
	select AD_SIGMA_DELTA
	help
	  Say yes here to build support for Analog Devices AD7785, AD7792, AD7793,
	  AD7794 and AD7795 SPI analog to digital converters (ADC).

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

config AD7887
	tristate "Analog Devices AD7887 ADC driver"
	depends on SPI
	select IIO_BUFFER
	select IIO_TRIGGERED_BUFFER
	help
	  Say yes here to build support for Analog Devices
	  AD7887 SPI analog to digital converter (ADC).

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

config AD7923
	tristate "Analog Devices AD7923 and similar ADCs driver"
	depends on SPI
	select IIO_BUFFER
	select IIO_TRIGGERED_BUFFER
	help
	  Say yes here to build support for Analog Devices
	  AD7904, AD7914, AD7923, AD7924 4 Channel ADCs.

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

config AD7949
	tristate "Analog Devices AD7949 and similar ADCs driver"
	depends on SPI
	help
	  Say yes here to build support for Analog Devices
	  AD7949, AD7682, AD7689 8 Channel ADCs.

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

config AD799X
	tristate "Analog Devices AD799x ADC driver"
	depends on I2C
	select IIO_BUFFER
	select IIO_TRIGGERED_BUFFER
	help
	  Say yes here to build support for Analog Devices:
	  ad7991, ad7995, ad7999, ad7992, ad7993, ad7994, ad7997, ad7998
	  i2c analog to digital converters (ADC). Provides direct access
	  via sysfs.

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

config ASPEED_ADC
	tristate "Aspeed ADC"
	depends on ARCH_ASPEED || COMPILE_TEST
	depends on COMMON_CLK
	help
	  If you say yes here you get support for the ADC included in Aspeed
	  BMC SoCs.

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

config AT91_ADC
	tristate "Atmel AT91 ADC"
	depends on ARCH_AT91
	depends on INPUT && SYSFS
	select IIO_BUFFER
	select IIO_TRIGGERED_BUFFER
	help
	  Say yes here to build support for Atmel AT91 ADC.

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

config AT91_SAMA5D2_ADC
	tristate "Atmel AT91 SAMA5D2 ADC"
	depends on ARCH_AT91 || COMPILE_TEST
	depends on HAS_IOMEM
	select IIO_BUFFER
	select IIO_TRIGGERED_BUFFER
	help
	  Say yes here to build support for Atmel SAMA5D2 ADC which is
	  available on SAMA5D2 SoC family.

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

config AXP20X_ADC
	tristate "X-Powers AXP20X and AXP22X ADC driver"
	depends on MFD_AXP20X
	help
	  Say yes here to have support for X-Powers power management IC (PMIC)
	  AXP20X and AXP22X ADC devices.

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

config AXP288_ADC
	tristate "X-Powers AXP288 ADC driver"
	depends on MFD_AXP20X
	help
	  Say yes here to have support for X-Powers power management IC (PMIC) ADC
	  device. Depending on platform configuration, this general purpose ADC can
	  be used for sampling sensors such as thermal resistors.

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

config BCM_IPROC_ADC
	tristate "Broadcom IPROC ADC driver"
	depends on ARCH_BCM_IPROC || COMPILE_TEST
	depends on MFD_SYSCON
	default ARCH_BCM_CYGNUS
	help
	  Say Y here if you want to add support for the Broadcom static
	  ADC driver.

	  Broadcom iProc ADC driver. Broadcom iProc ADC controller has 8
	  channels. The driver allows the user to read voltage values.

config BERLIN2_ADC
	tristate "Marvell Berlin2 ADC driver"
	depends on ARCH_BERLIN
	help
	  Marvell Berlin2 ADC driver. This ADC has 8 channels, with one used for
	  temperature measurement.

config CC10001_ADC
	tristate "Cosmic Circuits 10001 ADC driver"
	depends on HAS_IOMEM && HAVE_CLK && REGULATOR
	select IIO_BUFFER
	select IIO_TRIGGERED_BUFFER
	help
	  Say yes here to build support for Cosmic Circuits 10001 ADC.

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

config CPCAP_ADC
	tristate "Motorola CPCAP PMIC ADC driver"
	depends on MFD_CPCAP
	select IIO_BUFFER
	select IIO_TRIGGERED_BUFFER
	help
	  Say yes here to build support for Motorola CPCAP PMIC ADC.

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

config DA9150_GPADC
	tristate "Dialog DA9150 GPADC driver support"
	depends on MFD_DA9150
	help
	  Say yes here to build support for Dialog DA9150 GPADC.

	  This driver can also be built as a module. If chosen, the module name
	  will be da9150-gpadc.

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

config DLN2_ADC
	tristate "Diolan DLN-2 ADC driver support"
	depends on MFD_DLN2
	select IIO_BUFFER
	select IIO_TRIGGERED_BUFFER
	help
	  Say yes here to build support for Diolan DLN-2 ADC.

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

config ENVELOPE_DETECTOR
	tristate "Envelope detector using a DAC and a comparator"
	depends on OF
	help
	  Say yes here to build support for an envelope detector using a DAC
	  and a comparator.

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

config EP93XX_ADC
	tristate "Cirrus Logic EP93XX ADC driver"
	depends on ARCH_EP93XX
	help
	  Driver for the ADC module on the EP93XX series of SoC from Cirrus Logic.
	  It's recommended to switch on CONFIG_HIGH_RES_TIMERS option, in this
	  case driver will reduce its CPU usage by 90% in some use cases.

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

config EXYNOS_ADC
	tristate "Exynos ADC driver support"
	depends on ARCH_EXYNOS || ARCH_S3C24XX || ARCH_S3C64XX || ARCH_S5PV210 || (OF && COMPILE_TEST)
	depends on HAS_IOMEM
	help
	  Core support for the ADC block found in the Samsung EXYNOS series
	  of SoCs for drivers such as the touchscreen and hwmon to use to share
	  this resource.

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

config MXS_LRADC_ADC
	tristate "Freescale i.MX23/i.MX28 LRADC ADC"
	depends on MFD_MXS_LRADC
	select IIO_BUFFER
	select IIO_TRIGGERED_BUFFER
	help
	  Say yes here to build support for the ADC functions of the
	  i.MX23/i.MX28 LRADC. This includes general-purpose ADC readings,
	  battery voltage measurement, and die temperature measurement.

	  This driver can also be built as a module. If so, the module will be
	  called mxs-lradc-adc.

config FSL_MX25_ADC
	tristate "Freescale MX25 ADC driver"
	depends on MFD_MX25_TSADC
	help
	  Generic Conversion Queue driver used for general purpose ADC in the
	  MX25. This driver supports single measurements using the MX25 ADC.

config HI8435
	tristate "Holt Integrated Circuits HI-8435 threshold detector"
	select IIO_TRIGGERED_EVENT
	depends on SPI
	help
	  If you say yes here you get support for Holt Integrated Circuits
	  HI-8435 chip.

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

config HX711
	tristate "AVIA HX711 ADC for weight cells"
	depends on GPIOLIB
	select IIO_BUFFER
	select IIO_TRIGGERED_BUFFER
	help
	  If you say yes here you get support for AVIA HX711 ADC which is used
	  for weigh cells

	  This driver uses two GPIOs, one acts as the clock and controls the
	  channel selection and gain, the other one is used for the measurement
	  data

	  Currently the raw value is read from the chip and delivered.
	  To get an actual weight one needs to subtract the
	  zero offset and multiply by a scale factor.
	  This should be done in userspace.

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

config INA2XX_ADC
	tristate "Texas Instruments INA2xx Power Monitors IIO driver"
	depends on I2C && !SENSORS_INA2XX
	select REGMAP_I2C
	select IIO_BUFFER
	select IIO_KFIFO_BUF
	help
	  Say yes here to build support for TI INA2xx family of Power Monitors.
	  This driver is mutually exclusive with the HWMON version.

config INGENIC_ADC
	tristate "Ingenic JZ47xx SoCs ADC driver"
	depends on MIPS || COMPILE_TEST
	help
	  Say yes here to build support for the Ingenic JZ47xx SoCs ADC unit.

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

config IMX7D_ADC
	tristate "Freescale IMX7D ADC driver"
	depends on ARCH_MXC || COMPILE_TEST
	depends on HAS_IOMEM
	help
	  Say yes here to build support for IMX7D ADC.

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

config LP8788_ADC
	tristate "LP8788 ADC driver"
	depends on MFD_LP8788
	help
	  Say yes here to build support for TI LP8788 ADC.

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

config LPC18XX_ADC
	tristate "NXP LPC18xx ADC driver"
	depends on ARCH_LPC18XX || COMPILE_TEST
	depends on OF && HAS_IOMEM
	help
	  Say yes here to build support for NXP LPC18XX ADC.

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

config LPC32XX_ADC
	tristate "NXP LPC32XX ADC"
	depends on ARCH_LPC32XX || COMPILE_TEST
	depends on HAS_IOMEM
	help
	  Say yes here to build support for the integrated ADC inside the
	  LPC32XX SoC. Note that this feature uses the same hardware as the
	  touchscreen driver, so you should either select only one of the two
	  drivers (lpc32xx_adc or lpc32xx_ts) or, in the OpenFirmware case,
	  activate only one via device tree selection.  Provides direct access
	  via sysfs.

config LTC2471
	tristate "Linear Technology LTC2471 and LTC2473 ADC driver"
	depends on I2C
	help
	  Say yes here to build support for Linear Technology LTC2471 and
	  LTC2473 16-bit I2C ADC.

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

config LTC2485
	tristate "Linear Technology LTC2485 ADC driver"
	depends on I2C
	help
	  Say yes here to build support for Linear Technology LTC2485 ADC.

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

config LTC2497
	tristate "Linear Technology LTC2497 ADC driver"
	depends on I2C
	help
	  Say yes here to build support for Linear Technology LTC2497
	  16-Bit 8-/16-Channel Delta Sigma ADC.

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

config MAX1027
	tristate "Maxim max1027 ADC driver"
	depends on SPI
	select IIO_BUFFER
	select IIO_TRIGGERED_BUFFER
	help
	  Say yes here to build support for Maxim SPI ADC models
	  max1027, max1029 and max1031.

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

config MAX11100
	tristate "Maxim max11100 ADC driver"
	depends on SPI_MASTER
	help
	  Say yes here to build support for Maxim max11100 SPI ADC

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

config MAX1118
	tristate "Maxim max1117/max1118/max1119 ADCs driver"
	depends on SPI
	select IIO_BUFFER
	select IIO_TRIGGERED_BUFFER
	help
	  Say yes here to build support for Maxim max1117/max1118/max1119
	  8-bit, dual-channel ADCs.

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

config MAX1363
	tristate "Maxim max1363 ADC driver"
	depends on I2C
	select IIO_BUFFER
	select IIO_TRIGGERED_BUFFER
	help
	  Say yes here to build support for many Maxim i2c analog to digital
	  converters (ADC). (max1361, max1362, max1363, max1364, max1036,
	  max1037, max1038, max1039, max1136, max1136, max1137, max1138,
	  max1139, max1236, max1237, max11238, max1239, max11600, max11601,
	  max11602, max11603, max11604, max11605, max11606, max11607,
	  max11608, max11609, max11610, max11611, max11612, max11613,
	  max11614, max11615, max11616, max11617, max11644, max11645,
	  max11646, max11647) Provides direct access via sysfs and buffered
	  data via the iio dev interface.

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

config MAX9611
	tristate "Maxim max9611/max9612 ADC driver"
	depends on I2C
	help
	  Say yes here to build support for Maxim max9611/max9612 current sense
	  amplifier with 12-bits ADC interface.

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

config MCP320X
	tristate "Microchip Technology MCP3x01/02/04/08 and MCP3550/1/3"
	depends on SPI
	help
	  Say yes here to build support for Microchip Technology's
	  MCP3001, MCP3002, MCP3004, MCP3008, MCP3201, MCP3202, MCP3204,
	  MCP3208, MCP3301, MCP3550, MCP3551 and MCP3553 analog to digital
	  converters.

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

config MCP3422
	tristate "Microchip Technology MCP3421/2/3/4/5/6/7/8 driver"
	depends on I2C
	help
	  Say yes here to build support for Microchip Technology's MCP3421
	  MCP3422, MCP3423, MCP3424, MCP3425, MCP3426, MCP3427 or MCP3428
	  analog to digital converters.

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

config MCP3911
	tristate "Microchip Technology MCP3911 driver"
	depends on SPI
	help
	  Say yes here to build support for Microchip Technology's MCP3911
	  analog to digital converter.

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

config MEDIATEK_MT6577_AUXADC
	tristate "MediaTek AUXADC driver"
	depends on ARCH_MEDIATEK || COMPILE_TEST
	depends on HAS_IOMEM
	help
	  Say yes here to enable support for MediaTek mt65xx AUXADC.

	  The driver supports immediate mode operation to read from one of sixteen
	  channels (external or internal).

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

config MEN_Z188_ADC
	tristate "MEN 16z188 ADC IP Core support"
	depends on MCB
	help
	  Say yes here to enable support for the MEN 16z188 ADC IP-Core on a MCB
	  carrier.

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

config MESON_SARADC
	tristate "Amlogic Meson SAR ADC driver"
	default ARCH_MESON
	depends on OF && COMMON_CLK && (ARCH_MESON || COMPILE_TEST)
	select REGMAP_MMIO
	help
	  Say yes here to build support for the SAR ADC found in Amlogic Meson
	  SoCs.

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

config NAU7802
	tristate "Nuvoton NAU7802 ADC driver"
	depends on I2C
	help
	  Say yes here to build support for Nuvoton NAU7802 ADC.

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

config NPCM_ADC
	tristate "Nuvoton NPCM ADC driver"
	depends on ARCH_NPCM || COMPILE_TEST
	depends on HAS_IOMEM
	help
	  Say yes here to build support for Nuvoton NPCM ADC.

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

config PALMAS_GPADC
	tristate "TI Palmas General Purpose ADC"
	depends on MFD_PALMAS
	help
	  Palmas series pmic chip by Texas Instruments (twl6035/6037)
	  is used in smartphones and tablets and supports a 16 channel
	  general purpose ADC.

config QCOM_VADC_COMMON
	tristate

config QCOM_PM8XXX_XOADC
	tristate "Qualcomm SSBI PM8xxx PMIC XOADCs"
	depends on MFD_PM8XXX
	select QCOM_VADC_COMMON
	help
	  ADC driver for the XOADC portions of the Qualcomm PM8xxx PMICs
	  using SSBI transport: PM8018, PM8038, PM8058, PM8921.

	  To compile this driver as a module, choose M here: the module
	  will be called qcom-pm8xxx-xoadc.

config QCOM_SPMI_IADC
	tristate "Qualcomm SPMI PMIC current ADC"
	depends on SPMI
	select REGMAP_SPMI
	help
	  This is the IIO Current ADC driver for Qualcomm QPNP IADC Chip.

	  The driver supports single mode operation to read from one of two
	  channels (external or internal). Hardware have additional
	  channels internally used for gain and offset calibration.

	  To compile this driver as a module, choose M here: the module will
	  be called qcom-spmi-iadc.

config QCOM_SPMI_VADC
	tristate "Qualcomm SPMI PMIC voltage ADC"
	depends on SPMI
	select REGMAP_SPMI
	select QCOM_VADC_COMMON
	help
	  This is the IIO Voltage ADC driver for Qualcomm QPNP VADC Chip.

	  The driver supports multiple channels read. The VADC is a 15-bit
	  sigma-delta ADC. Some of the channels are internally used for
	  calibration.

	  To compile this driver as a module, choose M here: the module will
	  be called qcom-spmi-vadc.

config QCOM_SPMI_ADC5
	tristate "Qualcomm Technologies Inc. SPMI PMIC5 ADC"
	depends on SPMI
	select REGMAP_SPMI
	select QCOM_VADC_COMMON
	help
	  This is the IIO Voltage PMIC5 ADC driver for Qualcomm Technologies Inc.

	  The driver supports multiple channels read. The ADC is a 16-bit
	  sigma-delta ADC. The hardware supports calibrated results for
	  conversion requests and clients include reading voltage phone
	  power, on board system thermistors connected to the PMIC ADC,
	  PMIC die temperature, charger temperature, battery current, USB voltage
	  input, voltage signals connected to supported PMIC GPIO inputs. The
	  hardware supports internal pull-up for thermistors and can choose between
	  a 100k, 30k and 400k pull up using the ADC channels.

	  To compile this driver as a module, choose M here: the module will
	  be called qcom-spmi-adc5.

config RCAR_GYRO_ADC
	tristate "Renesas R-Car GyroADC driver"
	depends on ARCH_RCAR_GEN2 || COMPILE_TEST
	help
	  Say yes here to build support for the GyroADC found in Renesas
	  R-Car Gen2 SoCs. This block is a simple SPI offload engine for
	  reading data out of attached compatible ADCs in a round-robin
	  fashion. Up to 4 or 8 ADC channels are supported by this block,
	  depending on which ADCs are attached.

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

config ROCKCHIP_SARADC
	tristate "Rockchip SARADC driver"
	depends on ARCH_ROCKCHIP || (ARM && COMPILE_TEST)
	depends on RESET_CONTROLLER
	help
	  Say yes here to build support for the SARADC found in SoCs from
	  Rockchip.

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

config SC27XX_ADC
	tristate "Spreadtrum SC27xx series PMICs ADC"
	depends on MFD_SC27XX_PMIC || COMPILE_TEST
	help
	  Say yes here to build support for the integrated ADC inside the
	  Spreadtrum SC27xx series PMICs.

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

config SPEAR_ADC
	tristate "ST SPEAr ADC"
	depends on PLAT_SPEAR || COMPILE_TEST
	depends on HAS_IOMEM
	help
	  Say yes here to build support for the integrated ADC inside the
	  ST SPEAr SoC. Provides direct access via sysfs.

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

config SD_ADC_MODULATOR
	tristate "Generic sigma delta modulator"
	depends on OF
	select IIO_BUFFER
	select IIO_TRIGGERED_BUFFER
	help
	  Select this option to enables sigma delta modulator. This driver can
	  support generic sigma delta modulators.

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

config STM32_ADC_CORE
	tristate "STMicroelectronics STM32 adc core"
	depends on ARCH_STM32 || COMPILE_TEST
	depends on OF
	depends on REGULATOR
	depends on HAS_IOMEM
	select IIO_BUFFER
	select MFD_STM32_TIMERS
	select IIO_STM32_TIMER_TRIGGER
	select IIO_TRIGGERED_BUFFER
	help
	  Select this option to enable the core driver for STMicroelectronics
	  STM32 analog-to-digital converter (ADC).

	  This driver can also be built as a module.  If so, the module
	  will be called stm32-adc-core.

config STM32_ADC
	tristate "STMicroelectronics STM32 adc"
	depends on STM32_ADC_CORE
	help
	  Say yes here to build support for STMicroelectronics stm32 Analog
	  to Digital Converter (ADC).

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

config STM32_DFSDM_CORE
	tristate "STMicroelectronics STM32 DFSDM core"
	depends on (ARCH_STM32 && OF) || COMPILE_TEST
	select REGMAP
	select REGMAP_MMIO
	help
	  Select this option to enable the  driver for STMicroelectronics
	  STM32 digital filter for sigma delta converter.

	  This driver can also be built as a module.  If so, the module
	  will be called stm32-dfsdm-core.

config STM32_DFSDM_ADC
	tristate "STMicroelectronics STM32 dfsdm adc"
	depends on (ARCH_STM32 && OF) || COMPILE_TEST
	select STM32_DFSDM_CORE
	select REGMAP_MMIO
	select IIO_BUFFER
	select IIO_BUFFER_HW_CONSUMER
	select IIO_TRIGGERED_BUFFER
	help
	  Select this option to support ADCSigma delta modulator for
	  STMicroelectronics STM32 digital filter for sigma delta converter.

	  This driver can also be built as a module.  If so, the module
	  will be called stm32-dfsdm-adc.

config STMPE_ADC
	tristate "STMicroelectronics STMPE ADC driver"
	depends on OF && MFD_STMPE
	help
	  Say yes here to build support for ST Microelectronics STMPE
	  built-in ADC block (stmpe811).

config SUN4I_GPADC
	tristate "Support for the Allwinner SoCs GPADC"
	depends on IIO
	depends on MFD_SUN4I_GPADC || MACH_SUN8I
	depends on THERMAL || !THERMAL_OF
	select REGMAP_IRQ
	help
	  Say yes here to build support for Allwinner (A10, A13 and A31) SoCs
	  GPADC. This ADC provides 4 channels which can be used as an ADC or as
	  a touchscreen input and one channel for thermal sensor.

	  The thermal sensor slows down ADC readings and can be disabled by
	  disabling CONFIG_THERMAL_OF. However, the thermal sensor should be
	  enabled by default since the SoC temperature is usually more critical
	  than ADC readings.

	  To compile this driver as a module, choose M here: the module will be
	  called sun4i-gpadc-iio.

config TI_ADC081C
	tristate "Texas Instruments ADC081C/ADC101C/ADC121C family"
	depends on I2C
	select IIO_BUFFER
	select IIO_TRIGGERED_BUFFER
	help
	  If you say yes here you get support for Texas Instruments ADC081C,
	  ADC101C and ADC121C ADC chips.

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

config TI_ADC0832
	tristate "Texas Instruments ADC0831/ADC0832/ADC0834/ADC0838"
	depends on SPI
	select IIO_BUFFER
	select IIO_TRIGGERED_BUFFER
	help
	  If you say yes here you get support for Texas Instruments ADC0831,
	  ADC0832, ADC0834, ADC0838 ADC chips.

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

config TI_ADC084S021
	tristate "Texas Instruments ADC084S021"
	depends on SPI
	select IIO_BUFFER
	select IIO_TRIGGERED_BUFFER
	help
	  If you say yes here you get support for Texas Instruments ADC084S021
	  chips.

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

config TI_ADC12138
	tristate "Texas Instruments ADC12130/ADC12132/ADC12138"
	depends on SPI
	select IIO_BUFFER
	select IIO_TRIGGERED_BUFFER
	help
	  If you say yes here you get support for Texas Instruments ADC12130,
	  ADC12132 and ADC12138 chips.

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

config TI_ADC108S102
	tristate "Texas Instruments ADC108S102 and ADC128S102 driver"
	depends on SPI
	select IIO_BUFFER
	select IIO_TRIGGERED_BUFFER
	help
	  Say yes here to build support for Texas Instruments ADC108S102 and
	  ADC128S102 ADC.

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

config TI_ADC128S052
	tristate "Texas Instruments ADC128S052/ADC122S021/ADC124S021"
	depends on SPI
	help
	  If you say yes here you get support for Texas Instruments ADC128S052,
	  ADC122S021 and ADC124S021 chips.

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

config TI_ADC161S626
	tristate "Texas Instruments ADC161S626 1-channel differential ADC"
	depends on SPI
	select IIO_BUFFER
	select IIO_TRIGGERED_BUFFER
	help
	  If you say yes here you get support for Texas Instruments ADC141S626,
	  and ADC161S626 chips.

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

config TI_ADS1015
	tristate "Texas Instruments ADS1015 ADC"
	depends on I2C
	select REGMAP_I2C
	select IIO_BUFFER
	select IIO_TRIGGERED_BUFFER
	help
	  If you say yes here you get support for Texas Instruments ADS1015
	  ADC chip.

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

config TI_ADS7950
	tristate "Texas Instruments ADS7950 ADC driver"
	depends on SPI && GPIOLIB
	select IIO_BUFFER
	select IIO_TRIGGERED_BUFFER
	help
	  Say yes here to build support for Texas Instruments ADS7950, ADS7951,
	  ADS7952, ADS7953, ADS7954, ADS7955, ADS7956, ADS7957, ADS7958, ADS7959.
	  ADS7960, ADS7961.

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

config TI_ADS8344
	tristate "Texas Instruments ADS8344"
	depends on SPI && OF
	help
	  If you say yes here you get support for Texas Instruments ADS8344
	  ADC chips

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

config TI_ADS8688
	tristate "Texas Instruments ADS8688"
	depends on SPI && OF
	help
	  If you say yes here you get support for Texas Instruments ADS8684 and
	  and ADS8688 ADC chips

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

config TI_ADS124S08
	tristate "Texas Instruments ADS124S08"
	depends on SPI && OF
	help
	  If you say yes here you get support for Texas Instruments ADS124S08
	  and ADS124S06 ADC chips

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

config TI_AM335X_ADC
	tristate "TI's AM335X ADC driver"
	depends on MFD_TI_AM335X_TSCADC && HAS_DMA
	select IIO_BUFFER
	select IIO_KFIFO_BUF
	help
	  Say yes here to build support for Texas Instruments ADC
	  driver which is also a MFD client.

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

config TI_TLC4541
	tristate "Texas Instruments TLC4541 ADC driver"
	depends on SPI
	select IIO_BUFFER
	select IIO_TRIGGERED_BUFFER
	help
	  Say yes here to build support for Texas Instruments TLC4541 / TLC3541
	  ADC chips.

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

config TWL4030_MADC
	tristate "TWL4030 MADC (Monitoring A/D Converter)"
	depends on TWL4030_CORE
	help
	  This driver provides support for Triton TWL4030-MADC. The
	  driver supports both RT and SW conversion methods.

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

config TWL6030_GPADC
	tristate "TWL6030 GPADC (General Purpose A/D Converter) Support"
	depends on TWL4030_CORE
	default n
	help
	  Say yes here if you want support for the TWL6030/TWL6032 General
	  Purpose A/D Converter. This will add support for battery type
	  detection, battery voltage and temperature measurement, die
	  temperature measurement, system supply voltage, audio accessory,
	  USB ID detection.

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

config VF610_ADC
	tristate "Freescale vf610 ADC driver"
	depends on OF
	depends on HAS_IOMEM
	select IIO_BUFFER
	select IIO_TRIGGERED_BUFFER
	help
	  Say yes here to support for Vybrid board analog-to-digital converter.
	  Since the IP is used for i.MX6SLX, the driver also support i.MX6SLX.

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

config VIPERBOARD_ADC
	tristate "Viperboard ADC support"
	depends on MFD_VIPERBOARD && USB
	help
	  Say yes here to access the ADC part of the Nano River
	  Technologies Viperboard.

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

config XILINX_XADC
	tristate "Xilinx XADC driver"
	depends on HAS_IOMEM
	select IIO_BUFFER
	select IIO_TRIGGERED_BUFFER
	help
	  Say yes here to have support for the Xilinx XADC. The driver does support
	  both the ZYNQ interface to the XADC as well as the AXI-XADC interface.

	  The driver can also be build as a module. If so, the module will be called
	  xilinx-xadc.

endmenu
