mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-10 23:20:05 +00:00
ca9a563805
Previously the driver had only one-shot reading functionality. This patch adds continuous sampling support to the driver. Continuous sampling starts when buffer is enabled. HW IRQ wakes worker thread that pushes samples to userspace. Sampling stops when buffer is disabled by userspace. Patil Rachna (TI) laid the ground work for ADC HW register access. Russ Dill (TI) fixed bugs in the driver relevant to FIFOs and IRQs. I fixed channel scanning so multiple ADC channels can be read simultaneously and pushed to userspace. Restructured the driver to fit IIO ABI. And added INDIO_BUFFER_HARDWARE mode. Signed-off-by: Zubair Lutfullah <zubair.lutfullah@gmail.com> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Russ Dill <Russ.Dill@ti.com> Acked-by: Lee Jones <lee.jones@linaro.org> Acked-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
207 lines
5.9 KiB
Plaintext
207 lines
5.9 KiB
Plaintext
#
|
|
# 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 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.
|
|
|
|
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 and similar 1-channel ADCs driver"
|
|
depends on SPI
|
|
select IIO_BUFFER
|
|
select IIO_TRIGGERED_BUFFER
|
|
help
|
|
Say yes here to build support for Analog Devices AD7273, AD7274, AD7276,
|
|
AD7277, AD7278, AD7475, AD7476, AD7477, AD7478, AD7466, AD7467, AD7468,
|
|
AD7495, AD7910, AD7920, AD7920 SPI analog to digital converters (ADC).
|
|
|
|
If unsure, say N (but it's safe to say "Y").
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called ad7476.
|
|
|
|
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). If unsure, say
|
|
N (but it is safe to say "Y").
|
|
|
|
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).
|
|
If unsure, say N (but it's safe to say "Y").
|
|
|
|
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).
|
|
If unsure, say N (but it's safe to say "Y").
|
|
|
|
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 AT91_ADC
|
|
tristate "Atmel AT91 ADC"
|
|
depends on ARCH_AT91
|
|
select IIO_BUFFER
|
|
select IIO_TRIGGERED_BUFFER
|
|
select SYSFS
|
|
help
|
|
Say yes here to build support for Atmel AT91 ADC.
|
|
|
|
config EXYNOS_ADC
|
|
bool "Exynos ADC driver support"
|
|
depends on OF
|
|
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.
|
|
|
|
config LP8788_ADC
|
|
bool "LP8788 ADC driver"
|
|
depends on MFD_LP8788
|
|
help
|
|
Say yes here to build support for TI LP8788 ADC.
|
|
|
|
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.
|
|
|
|
config MCP320X
|
|
tristate "Microchip Technology MCP3204/08"
|
|
depends on SPI
|
|
help
|
|
Say yes here to build support for Microchip Technology's MCP3204 or
|
|
MCP3208 analog to digital converter.
|
|
|
|
This driver can also be built as a module. If so, the module will be
|
|
called mcp320x.
|
|
|
|
config MCP3422
|
|
tristate "Microchip Technology MCP3422/3/4 driver"
|
|
depends on I2C
|
|
help
|
|
Say yes here to build support for Microchip Technology's MCP3422,
|
|
MCP3423 or MCP3424 analog to digital converters.
|
|
|
|
This driver can also be built as a module. If so, the module will be
|
|
called mcp3422.
|
|
|
|
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 TI_ADC081C
|
|
tristate "Texas Instruments ADC081C021/027"
|
|
depends on I2C
|
|
help
|
|
If you say yes here you get support for Texas Instruments ADC081C021
|
|
and ADC081C027 ADC chips.
|
|
|
|
This driver can also be built as a module. If so, the module will be
|
|
called ti-adc081c.
|
|
|
|
config TI_AM335X_ADC
|
|
tristate "TI's AM335X ADC driver"
|
|
depends on MFD_TI_AM335X_TSCADC
|
|
select IIO_KFIFO_BUF
|
|
help
|
|
Say yes here to build support for Texas Instruments ADC
|
|
driver which is also a MFD client.
|
|
|
|
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 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.
|
|
|
|
endmenu
|