2012-05-11 21:35:33 +08:00
|
|
|
#
|
|
|
|
# ADC drivers
|
|
|
|
#
|
2013-07-15 15:45:00 +08:00
|
|
|
# When adding new entries keep the list in alphabetical order
|
|
|
|
|
2012-05-11 21:35:33 +08:00
|
|
|
menu "Analog to digital converters"
|
|
|
|
|
2012-08-11 00:36:00 +08:00
|
|
|
config AD_SIGMA_DELTA
|
|
|
|
tristate
|
|
|
|
select IIO_BUFFER
|
|
|
|
select IIO_TRIGGERED_BUFFER
|
|
|
|
|
2012-06-25 20:52:49 +08:00
|
|
|
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.
|
|
|
|
|
2015-06-21 18:18:09 +08:00
|
|
|
To compile this driver as a module, choose M here: the module will be
|
|
|
|
called ad7266.
|
|
|
|
|
2014-06-30 16:50:00 +08:00
|
|
|
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.
|
|
|
|
|
2012-11-17 19:42:59 +08:00
|
|
|
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.
|
|
|
|
|
2013-07-15 15:45:00 +08:00
|
|
|
config AD7476
|
|
|
|
tristate "Analog Devices AD7476 and similar 1-channel ADCs driver"
|
2013-02-13 14:47:00 +08:00
|
|
|
depends on SPI
|
|
|
|
select IIO_BUFFER
|
|
|
|
select IIO_TRIGGERED_BUFFER
|
|
|
|
help
|
2013-07-15 15:45:00 +08:00
|
|
|
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).
|
|
|
|
|
2013-02-13 14:47:00 +08:00
|
|
|
To compile this driver as a module, choose M here: the
|
2013-07-15 15:45:00 +08:00
|
|
|
module will be called ad7476.
|
2013-02-13 14:47:00 +08:00
|
|
|
|
2016-09-23 23:19:44 +08:00
|
|
|
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.
|
|
|
|
|
2012-09-04 23:26:00 +08:00
|
|
|
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,
|
2015-06-21 18:18:09 +08:00
|
|
|
AD7790 and AD7791 SPI analog to digital converters (ADC).
|
2012-09-04 23:26:00 +08:00
|
|
|
|
|
|
|
To compile this driver as a module, choose M here: the module will be
|
|
|
|
called ad7791.
|
|
|
|
|
2012-11-22 00:27:00 +08:00
|
|
|
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.
|
|
|
|
|
2013-07-15 15:45:00 +08:00
|
|
|
config AD7887
|
|
|
|
tristate "Analog Devices AD7887 ADC driver"
|
2012-09-10 16:34:00 +08:00
|
|
|
depends on SPI
|
|
|
|
select IIO_BUFFER
|
|
|
|
select IIO_TRIGGERED_BUFFER
|
|
|
|
help
|
2013-07-15 15:45:00 +08:00
|
|
|
Say yes here to build support for Analog Devices
|
|
|
|
AD7887 SPI analog to digital converter (ADC).
|
2012-09-10 16:34:00 +08:00
|
|
|
|
|
|
|
To compile this driver as a module, choose M here: the
|
2013-07-15 15:45:00 +08:00
|
|
|
module will be called ad7887.
|
2012-09-10 16:34:00 +08:00
|
|
|
|
2013-07-15 15:45:00 +08:00
|
|
|
config AD7923
|
|
|
|
tristate "Analog Devices AD7923 and similar ADCs driver"
|
2012-11-05 17:56:00 +08:00
|
|
|
depends on SPI
|
|
|
|
select IIO_BUFFER
|
|
|
|
select IIO_TRIGGERED_BUFFER
|
|
|
|
help
|
|
|
|
Say yes here to build support for Analog Devices
|
2013-07-15 15:45:00 +08:00
|
|
|
AD7904, AD7914, AD7923, AD7924 4 Channel ADCs.
|
2012-11-05 17:56:00 +08:00
|
|
|
|
|
|
|
To compile this driver as a module, choose M here: the
|
2013-07-15 15:45:00 +08:00
|
|
|
module will be called ad7923.
|
2012-11-05 17:56:00 +08:00
|
|
|
|
2014-10-03 17:31:00 +08:00
|
|
|
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.
|
|
|
|
|
2015-06-21 18:18:09 +08:00
|
|
|
To compile this driver as a module, choose M here: the module will be
|
|
|
|
called ad799x.
|
|
|
|
|
2017-03-29 05:52:59 +08:00
|
|
|
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.
|
|
|
|
|
2012-05-11 21:35:33 +08:00
|
|
|
config AT91_ADC
|
|
|
|
tristate "Atmel AT91 ADC"
|
|
|
|
depends on ARCH_AT91
|
2014-04-09 23:18:10 +08:00
|
|
|
depends on INPUT
|
2012-05-11 21:35:33 +08:00
|
|
|
select IIO_BUFFER
|
2012-06-19 00:33:49 +08:00
|
|
|
select IIO_TRIGGERED_BUFFER
|
2012-05-11 21:35:33 +08:00
|
|
|
select SYSFS
|
|
|
|
help
|
|
|
|
Say yes here to build support for Atmel AT91 ADC.
|
|
|
|
|
2015-06-21 18:18:09 +08:00
|
|
|
To compile this driver as a module, choose M here: the module will be
|
|
|
|
called at91_adc.
|
|
|
|
|
2016-01-14 23:38:13 +08:00
|
|
|
config AT91_SAMA5D2_ADC
|
|
|
|
tristate "Atmel AT91 SAMA5D2 ADC"
|
2016-01-15 16:54:18 +08:00
|
|
|
depends on ARCH_AT91 || COMPILE_TEST
|
2016-03-04 09:05:26 +08:00
|
|
|
depends on HAS_IOMEM
|
2017-08-15 22:46:31 +08:00
|
|
|
select IIO_TRIGGERED_BUFFER
|
2016-01-14 23:38:13 +08:00
|
|
|
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.
|
|
|
|
|
2017-04-04 14:34:41 +08:00
|
|
|
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.
|
|
|
|
|
2014-10-07 12:17:15 +08:00
|
|
|
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.
|
|
|
|
|
2015-06-21 18:18:09 +08:00
|
|
|
To compile this driver as a module, choose M here: the module will be
|
|
|
|
called axp288_adc.
|
|
|
|
|
2016-06-28 15:40:35 +08:00
|
|
|
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.
|
|
|
|
|
2015-05-18 17:19:18 +08:00
|
|
|
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.
|
|
|
|
|
2015-06-21 18:15:51 +08:00
|
|
|
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.
|
|
|
|
|
2017-03-24 11:38:42 +08:00
|
|
|
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.
|
|
|
|
|
2015-02-18 22:08:28 +08:00
|
|
|
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.
|
|
|
|
|
2015-06-21 18:18:09 +08:00
|
|
|
To compile this driver as a module, choose M here: the module will be
|
|
|
|
called berlin2-adc.
|
|
|
|
|
2017-07-07 06:39:33 +08:00
|
|
|
config DLN2_ADC
|
|
|
|
tristate "Diolan DLN-2 ADC driver support"
|
|
|
|
depends on MFD_DLN2
|
2017-10-08 07:53:20 +08:00
|
|
|
select IIO_BUFFER
|
|
|
|
select IIO_TRIGGERED_BUFFER
|
2017-07-07 06:39:33 +08:00
|
|
|
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.
|
|
|
|
|
2016-11-08 19:58:58 +08:00
|
|
|
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.
|
|
|
|
|
2017-07-25 04:51:45 +08:00
|
|
|
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.
|
|
|
|
|
2013-02-15 14:56:00 +08:00
|
|
|
config EXYNOS_ADC
|
2014-04-22 08:03:00 +08:00
|
|
|
tristate "Exynos ADC driver support"
|
2014-07-28 20:44:00 +08:00
|
|
|
depends on ARCH_EXYNOS || ARCH_S3C24XX || ARCH_S3C64XX || (OF && COMPILE_TEST)
|
2016-01-26 06:24:05 +08:00
|
|
|
depends on HAS_IOMEM
|
2013-02-15 14:56:00 +08:00
|
|
|
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.
|
|
|
|
|
2015-06-21 18:18:09 +08:00
|
|
|
To compile this driver as a module, choose M here: the module will be
|
|
|
|
called exynos_adc.
|
|
|
|
|
2017-03-16 20:27:10 +08:00
|
|
|
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.
|
|
|
|
|
2015-12-14 21:53:51 +08:00
|
|
|
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.
|
|
|
|
|
2015-08-28 22:27:52 +08:00
|
|
|
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.
|
|
|
|
|
2017-01-06 01:51:57 +08:00
|
|
|
config HX711
|
|
|
|
tristate "AVIA HX711 ADC for weight cells"
|
|
|
|
depends on GPIOLIB
|
|
|
|
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.
|
|
|
|
|
2015-12-07 17:09:34 +08:00
|
|
|
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.
|
|
|
|
|
2015-12-08 18:26:20 +08:00
|
|
|
config IMX7D_ADC
|
2017-06-18 05:00:16 +08:00
|
|
|
tristate "Freescale IMX7D ADC driver"
|
2015-12-08 18:26:20 +08:00
|
|
|
depends on ARCH_MXC || COMPILE_TEST
|
2016-01-26 06:24:05 +08:00
|
|
|
depends on HAS_IOMEM
|
2015-12-08 18:26:20 +08:00
|
|
|
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.
|
|
|
|
|
iio: adc: add new lp8788 adc driver
TI LP8788 PMU provides regulators, battery charger, ADC,
RTC, backlight driver and current sinks.
This patch enables the LP8788 ADC functions.
The LP8788 ADC has several ADC input selection and supports 12bit resolution.
Internal operation of getting ADC is access to registers of LP8788.
The LP8788 ADC uses exported functions for accessing these registers.
(exported by LP8788 MFD device driver)
This driver supports IIO_CHAN_INFO_RAW and SCALE.
So the IIO consumer can calculate the value with raw and scale.
The unit of scale is micro.
(ADC Input Selection)
Voltage: battery voltage (MAX 5.0, 5.5 and 6.0V)
charger input voltage
four general ADC inputs
coin cell voltage
Current: battery charging current
Temperature: IC temperature
(The IIO map for the IIO consumer)
The ADC input is configurable in the platform side.
Even though this platform data is not defined,
the default IIO map is created for supporting the power supply driver.
The battery voltage and temperature are used inside this driver.
(History)
Patch v6.
(a) Fix scale value for each ADC input selection
Voltage and current type are mili unit and temperature is degree.
To calculate the IC temperature,
temp = raw * scaleint + (raw * scalepart)/ 1000000, scaleint is always 0.
= raw * 0.061050, raw: 0 ~ 4095
Then range of IC temperature(ADC result) is 0 ~ 250'C
(b) Reorganization of the IIO channel Spec
Remove address, scan_type and scan_index and rollback the datasheet name.
The reason why 'address' field is unnecessary is no relation with each channel.
Moreover, to get the raw ADC value, the address info is not only one register
but also several registers.
Therefore specific function(lp8788_get_adc_result) is called rather than
using one 'address' field.
(c) Fix coding style
Remove duplicated checking routine while unregistering the IIO map.
Fix code for space and parenthesis.
Patch v5.
Fix default consumer name as 'lp8788-charger'.
Add mutex for ADC read operation.
Reorganization on lp8788_adc_read_raw().
Patch v4.
Fix adc_raw function: support RAW and SCALE channel info.
Change LP8788 ADC platform data - iio map.
Enables the default IIO map.
Patch v3.
Fix wrong size of allocating iio private data.
Fix coding styles.
Patch v2.
Support RAW and SCALE interface for IIO consumer.
Clean up the iio channel spec macro.
Signed-off-by: Milo(Woogyom) Kim <milo.kim@ti.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2012-09-17 17:35:00 +08:00
|
|
|
config LP8788_ADC
|
2014-04-22 08:03:00 +08:00
|
|
|
tristate "LP8788 ADC driver"
|
iio: adc: add new lp8788 adc driver
TI LP8788 PMU provides regulators, battery charger, ADC,
RTC, backlight driver and current sinks.
This patch enables the LP8788 ADC functions.
The LP8788 ADC has several ADC input selection and supports 12bit resolution.
Internal operation of getting ADC is access to registers of LP8788.
The LP8788 ADC uses exported functions for accessing these registers.
(exported by LP8788 MFD device driver)
This driver supports IIO_CHAN_INFO_RAW and SCALE.
So the IIO consumer can calculate the value with raw and scale.
The unit of scale is micro.
(ADC Input Selection)
Voltage: battery voltage (MAX 5.0, 5.5 and 6.0V)
charger input voltage
four general ADC inputs
coin cell voltage
Current: battery charging current
Temperature: IC temperature
(The IIO map for the IIO consumer)
The ADC input is configurable in the platform side.
Even though this platform data is not defined,
the default IIO map is created for supporting the power supply driver.
The battery voltage and temperature are used inside this driver.
(History)
Patch v6.
(a) Fix scale value for each ADC input selection
Voltage and current type are mili unit and temperature is degree.
To calculate the IC temperature,
temp = raw * scaleint + (raw * scalepart)/ 1000000, scaleint is always 0.
= raw * 0.061050, raw: 0 ~ 4095
Then range of IC temperature(ADC result) is 0 ~ 250'C
(b) Reorganization of the IIO channel Spec
Remove address, scan_type and scan_index and rollback the datasheet name.
The reason why 'address' field is unnecessary is no relation with each channel.
Moreover, to get the raw ADC value, the address info is not only one register
but also several registers.
Therefore specific function(lp8788_get_adc_result) is called rather than
using one 'address' field.
(c) Fix coding style
Remove duplicated checking routine while unregistering the IIO map.
Fix code for space and parenthesis.
Patch v5.
Fix default consumer name as 'lp8788-charger'.
Add mutex for ADC read operation.
Reorganization on lp8788_adc_read_raw().
Patch v4.
Fix adc_raw function: support RAW and SCALE channel info.
Change LP8788 ADC platform data - iio map.
Enables the default IIO map.
Patch v3.
Fix wrong size of allocating iio private data.
Fix coding styles.
Patch v2.
Support RAW and SCALE interface for IIO consumer.
Clean up the iio channel spec macro.
Signed-off-by: Milo(Woogyom) Kim <milo.kim@ti.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2012-09-17 17:35:00 +08:00
|
|
|
depends on MFD_LP8788
|
|
|
|
help
|
|
|
|
Say yes here to build support for TI LP8788 ADC.
|
|
|
|
|
2015-06-21 18:18:09 +08:00
|
|
|
To compile this driver as a module, choose M here: the module will be
|
|
|
|
called lp8788_adc.
|
|
|
|
|
2016-03-12 20:30:14 +08:00
|
|
|
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.
|
|
|
|
|
2017-02-05 21:07:00 +08:00
|
|
|
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.
|
|
|
|
|
2017-07-03 14:25:57 +08:00
|
|
|
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.
|
|
|
|
|
2016-08-25 13:48:43 +08:00
|
|
|
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.
|
|
|
|
|
2017-03-29 17:42:58 +08:00
|
|
|
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.
|
|
|
|
|
2014-06-15 06:27:00 +08:00
|
|
|
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.
|
|
|
|
|
2015-06-21 18:18:09 +08:00
|
|
|
To compile this driver as a module, choose M here: the module will be
|
|
|
|
called max1027.
|
|
|
|
|
2017-01-19 00:30:52 +08:00
|
|
|
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.
|
|
|
|
|
2017-03-29 00:34:48 +08:00
|
|
|
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.
|
|
|
|
|
2012-10-06 21:42:27 +08:00
|
|
|
config MAX1363
|
|
|
|
tristate "Maxim max1363 ADC driver"
|
|
|
|
depends on I2C
|
|
|
|
select IIO_BUFFER
|
2013-01-11 01:29:00 +08:00
|
|
|
select IIO_TRIGGERED_BUFFER
|
2012-10-06 21:42:27 +08:00
|
|
|
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.
|
|
|
|
|
2015-06-21 18:18:09 +08:00
|
|
|
To compile this driver as a module, choose M here: the module will be
|
|
|
|
called max1363.
|
|
|
|
|
2017-04-06 22:20:53 +08:00
|
|
|
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.
|
|
|
|
|
2013-05-03 17:58:00 +08:00
|
|
|
config MCP320X
|
iio: adc: mcp320x: Add support for mcp3550/1/3
These ADCs are marketed as single-channel 22 bit delta-sigma ADCs, but
in reality their resolution is 21 bit with an overrange or underrange
of 12% beyond Vref. In other words, "full scale" means +/- 2^20.
This driver does not explicitly signal back to the user when an
overrange or underrange occurs, but the user can detect it by comparing
the raw value to +/- 2^20 (or the scaled value to Vref).
The chips feature an extended temperature range and high accuracy,
low noise characteristics, but their conversion times are slow with
up to 80 ms +/- 2% (on the MCP3550-50).
Hence, unlike the other ADCs supported by the driver, conversion does
not take place in realtime upon lowering CS. Instead, CS is asserted
for 8 usec to start the conversion. After waiting for the duration of
the conversion, the result can be fetched. While waiting, control of
the bus is ceased so it may be used by a different device.
After the result has been fetched and 10 us have passed, the chip goes
into shutdown and an additional power-up delay of 144 clock periods is
then required to wake the analog circuitry upon the next conversion
(footnote below table 4-1, page 16 in the spec).
Optionally, the chips can be used in so-called "continuous conversion
mode": Conversions then take place continuously and the last result may
be fetched at any time without observing a delay. The mode is enabled
by permanently driving CS low, e.g. by wiring it to ground. The driver
only supports "single conversion mode" for now but should be adaptable
to "continuous conversion mode" with moderate effort.
The chips clock out a 3 byte word, unlike the other ADCs supported by
the driver which all have a lower resolution than 16 bit and thus make
do with 2 bytes. Calculate the word length on probe by rounding up the
resolution to full bytes. Crucially, if the clock idles low, the
transfer is preceded by a useless Data Ready bit which increases its
length from 24 bit to 25 bit = 4 bytes (section 5.5 in the spec).
Autosense this based on the SPI slave's configuration.
Cc: Mathias Duckeck <m.duckeck@kunbus.de>
Signed-off-by: Lukas Wunner <lukas@wunner.de>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2017-09-10 02:32:41 +08:00
|
|
|
tristate "Microchip Technology MCP3x01/02/04/08 and MCP3550/1/3"
|
2013-05-03 17:58:00 +08:00
|
|
|
depends on SPI
|
|
|
|
help
|
2015-03-11 05:12:07 +08:00
|
|
|
Say yes here to build support for Microchip Technology's
|
2015-07-14 21:36:21 +08:00
|
|
|
MCP3001, MCP3002, MCP3004, MCP3008, MCP3201, MCP3202, MCP3204,
|
iio: adc: mcp320x: Add support for mcp3550/1/3
These ADCs are marketed as single-channel 22 bit delta-sigma ADCs, but
in reality their resolution is 21 bit with an overrange or underrange
of 12% beyond Vref. In other words, "full scale" means +/- 2^20.
This driver does not explicitly signal back to the user when an
overrange or underrange occurs, but the user can detect it by comparing
the raw value to +/- 2^20 (or the scaled value to Vref).
The chips feature an extended temperature range and high accuracy,
low noise characteristics, but their conversion times are slow with
up to 80 ms +/- 2% (on the MCP3550-50).
Hence, unlike the other ADCs supported by the driver, conversion does
not take place in realtime upon lowering CS. Instead, CS is asserted
for 8 usec to start the conversion. After waiting for the duration of
the conversion, the result can be fetched. While waiting, control of
the bus is ceased so it may be used by a different device.
After the result has been fetched and 10 us have passed, the chip goes
into shutdown and an additional power-up delay of 144 clock periods is
then required to wake the analog circuitry upon the next conversion
(footnote below table 4-1, page 16 in the spec).
Optionally, the chips can be used in so-called "continuous conversion
mode": Conversions then take place continuously and the last result may
be fetched at any time without observing a delay. The mode is enabled
by permanently driving CS low, e.g. by wiring it to ground. The driver
only supports "single conversion mode" for now but should be adaptable
to "continuous conversion mode" with moderate effort.
The chips clock out a 3 byte word, unlike the other ADCs supported by
the driver which all have a lower resolution than 16 bit and thus make
do with 2 bytes. Calculate the word length on probe by rounding up the
resolution to full bytes. Crucially, if the clock idles low, the
transfer is preceded by a useless Data Ready bit which increases its
length from 24 bit to 25 bit = 4 bytes (section 5.5 in the spec).
Autosense this based on the SPI slave's configuration.
Cc: Mathias Duckeck <m.duckeck@kunbus.de>
Signed-off-by: Lukas Wunner <lukas@wunner.de>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2017-09-10 02:32:41 +08:00
|
|
|
MCP3208, MCP3301, MCP3550, MCP3551 and MCP3553 analog to digital
|
|
|
|
converters.
|
2013-05-03 17:58:00 +08:00
|
|
|
|
|
|
|
This driver can also be built as a module. If so, the module will be
|
|
|
|
called mcp320x.
|
|
|
|
|
2013-09-02 22:00:00 +08:00
|
|
|
config MCP3422
|
2015-12-26 20:16:14 +08:00
|
|
|
tristate "Microchip Technology MCP3421/2/3/4/5/6/7/8 driver"
|
2013-09-02 22:00:00 +08:00
|
|
|
depends on I2C
|
|
|
|
help
|
2015-12-26 20:16:14 +08:00
|
|
|
Say yes here to build support for Microchip Technology's MCP3421
|
|
|
|
MCP3422, MCP3423, MCP3424, MCP3425, MCP3426, MCP3427 or MCP3428
|
2014-08-04 06:22:00 +08:00
|
|
|
analog to digital converters.
|
2013-09-02 22:00:00 +08:00
|
|
|
|
|
|
|
This driver can also be built as a module. If so, the module will be
|
|
|
|
called mcp3422.
|
|
|
|
|
2016-08-18 15:11:36 +08:00
|
|
|
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.
|
|
|
|
|
2014-02-27 00:29:07 +08:00
|
|
|
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.
|
|
|
|
|
2017-01-23 02:17:13 +08:00
|
|
|
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.
|
|
|
|
|
2013-06-25 01:24:00 +08:00
|
|
|
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.
|
|
|
|
|
2015-10-16 20:53:38 +08:00
|
|
|
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.
|
|
|
|
|
2017-04-04 20:08:18 +08:00
|
|
|
config QCOM_VADC_COMMON
|
|
|
|
tristate
|
|
|
|
|
2017-04-04 20:08:19 +08:00
|
|
|
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.
|
|
|
|
|
2014-10-22 22:13:33 +08:00
|
|
|
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.
|
|
|
|
|
2015-01-20 18:15:22 +08:00
|
|
|
config QCOM_SPMI_VADC
|
|
|
|
tristate "Qualcomm SPMI PMIC voltage ADC"
|
|
|
|
depends on SPMI
|
|
|
|
select REGMAP_SPMI
|
2017-04-04 20:08:18 +08:00
|
|
|
select QCOM_VADC_COMMON
|
2015-01-20 18:15:22 +08:00
|
|
|
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.
|
|
|
|
|
2017-01-28 07:08:37 +08:00
|
|
|
config RCAR_GYRO_ADC
|
|
|
|
tristate "Renesas R-Car GyroADC driver"
|
2017-10-04 20:08:25 +08:00
|
|
|
depends on ARCH_RCAR_GEN2 || COMPILE_TEST
|
2017-01-28 07:08:37 +08:00
|
|
|
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.
|
|
|
|
|
2014-07-24 05:24:00 +08:00
|
|
|
config ROCKCHIP_SARADC
|
|
|
|
tristate "Rockchip SARADC driver"
|
|
|
|
depends on ARCH_ROCKCHIP || (ARM && COMPILE_TEST)
|
2016-07-27 22:24:04 +08:00
|
|
|
depends on RESET_CONTROLLER
|
2014-07-24 05:24:00 +08:00
|
|
|
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.
|
|
|
|
|
2017-02-05 20:34:00 +08:00
|
|
|
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.
|
|
|
|
|
2018-01-10 18:13:08 +08:00
|
|
|
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.
|
|
|
|
|
2016-11-15 23:30:57 +08:00
|
|
|
config STM32_ADC_CORE
|
|
|
|
tristate "STMicroelectronics STM32 adc core"
|
|
|
|
depends on ARCH_STM32 || COMPILE_TEST
|
2017-01-26 22:28:33 +08:00
|
|
|
depends on HAS_DMA
|
2016-11-15 23:30:57 +08:00
|
|
|
depends on OF
|
|
|
|
depends on REGULATOR
|
2017-01-26 22:28:29 +08:00
|
|
|
select IIO_BUFFER
|
2017-01-26 22:28:30 +08:00
|
|
|
select MFD_STM32_TIMERS
|
|
|
|
select IIO_STM32_TIMER_TRIGGER
|
2017-01-26 22:28:29 +08:00
|
|
|
select IIO_TRIGGERED_BUFFER
|
2016-11-15 23:30:57 +08:00
|
|
|
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.
|
|
|
|
|
2016-11-15 23:30:58 +08:00
|
|
|
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.
|
|
|
|
|
iio: stx104: Add IIO support for the ADC channels
The Apex Embedded Systems STX104 features 16 channels of single-ended (8
channels of true differential) 16-bit analog input. Differential input
configuration may be selected via a physical jumper on the device.
Similarly, input polarity (unipolar/bipolar) is configured via a
physical jumper on the device.
Input gain selection is available to the user via software, thus
allowing eight possible input ranges: +-10V, +-5V, +-2.5V, +-1.25V,
0 to 10V, 0 to 5V, 0 to 2.5V, and 0 to 1.25V. Four input gain
configurations are supported: x1, x2, x4, and x8.
This ADC resolution is 16-bits (1/65536 of full scale). Analog input
samples are taken on software trigger; neither FIFO sampling nor
interrupt triggering is supported by this driver.
The Apex Embedded Systems STX104 is primarily an analog-to-digital
converter device. The STX104 IIO driver was initially placed in the DAC
directory because only the DAC portion of the STX104 was supported at
the time. Now that ADC support has been added to the STX104 IIO driver,
the driver should be moved to the more appropriate ADC directory.
Signed-off-by: William Breathitt Gray <vilhelm.gray@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-08-30 04:22:56 +08:00
|
|
|
config STX104
|
|
|
|
tristate "Apex Embedded Systems STX104 driver"
|
2017-01-11 02:51:29 +08:00
|
|
|
depends on PC104 && X86 && ISA_BUS_API
|
iio: stx104: Add IIO support for the ADC channels
The Apex Embedded Systems STX104 features 16 channels of single-ended (8
channels of true differential) 16-bit analog input. Differential input
configuration may be selected via a physical jumper on the device.
Similarly, input polarity (unipolar/bipolar) is configured via a
physical jumper on the device.
Input gain selection is available to the user via software, thus
allowing eight possible input ranges: +-10V, +-5V, +-2.5V, +-1.25V,
0 to 10V, 0 to 5V, 0 to 2.5V, and 0 to 1.25V. Four input gain
configurations are supported: x1, x2, x4, and x8.
This ADC resolution is 16-bits (1/65536 of full scale). Analog input
samples are taken on software trigger; neither FIFO sampling nor
interrupt triggering is supported by this driver.
The Apex Embedded Systems STX104 is primarily an analog-to-digital
converter device. The STX104 IIO driver was initially placed in the DAC
directory because only the DAC portion of the STX104 was supported at
the time. Now that ADC support has been added to the STX104 IIO driver,
the driver should be moved to the more appropriate ADC directory.
Signed-off-by: William Breathitt Gray <vilhelm.gray@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-08-30 04:22:56 +08:00
|
|
|
select GPIOLIB
|
|
|
|
help
|
|
|
|
Say yes here to build support for the Apex Embedded Systems STX104
|
|
|
|
integrated analog PC/104 card.
|
|
|
|
|
|
|
|
This driver supports the 16 channels of single-ended (8 channels of
|
|
|
|
differential) analog inputs, 2 channels of analog output, 4 digital
|
|
|
|
inputs, and 4 digital outputs provided by the STX104.
|
|
|
|
|
|
|
|
The base port addresses for the devices may be configured via the base
|
|
|
|
array module parameter.
|
|
|
|
|
2016-12-13 22:33:32 +08:00
|
|
|
config SUN4I_GPADC
|
|
|
|
tristate "Support for the Allwinner SoCs GPADC"
|
|
|
|
depends on IIO
|
iio: adc: sun4i-gpadc-iio: add support for A33 thermal sensor
This adds support for the Allwinner A33 thermal sensor.
Unlike the A10, A13 and A31, the Allwinner A33 only has one channel
which is dedicated to the thermal sensor. Moreover, its thermal sensor
does not generate interruptions, thus we only need to directly read the
register storing the temperature value.
The MFD used by the A10, A13 and A31, was created to avoid breaking the
DT binding, but since the nodes for the ADC weren't there for the A33,
it is not needed.
Though the A33 does not have an internal ADC, it has a thermal sensor
which shares the same registers with GPADC of the already supported SoCs
and almost the same bits, for the same purpose (thermal sensor).
The thermal sensor behaves exactly the same (except the presence of
interrupts or not) on the different SoCs.
Signed-off-by: Quentin Schulz <quentin.schulz@free-electrons.com>
Acked-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2017-04-05 17:06:30 +08:00
|
|
|
depends on MFD_SUN4I_GPADC || MACH_SUN8I
|
2017-03-28 18:07:23 +08:00
|
|
|
depends on THERMAL || !THERMAL_OF
|
2016-12-13 22:33:32 +08:00
|
|
|
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.
|
|
|
|
|
2012-11-23 23:13:00 +08:00
|
|
|
config TI_ADC081C
|
2016-04-11 22:24:26 +08:00
|
|
|
tristate "Texas Instruments ADC081C/ADC101C/ADC121C family"
|
2012-11-23 23:13:00 +08:00
|
|
|
depends on I2C
|
2016-10-05 22:46:50 +08:00
|
|
|
select IIO_BUFFER
|
|
|
|
select IIO_TRIGGERED_BUFFER
|
2012-11-23 23:13:00 +08:00
|
|
|
help
|
2016-04-11 22:24:26 +08:00
|
|
|
If you say yes here you get support for Texas Instruments ADC081C,
|
|
|
|
ADC101C and ADC121C ADC chips.
|
2012-11-23 23:13:00 +08:00
|
|
|
|
|
|
|
This driver can also be built as a module. If so, the module will be
|
|
|
|
called ti-adc081c.
|
|
|
|
|
2016-02-07 17:14:16 +08:00
|
|
|
config TI_ADC0832
|
|
|
|
tristate "Texas Instruments ADC0831/ADC0832/ADC0834/ADC0838"
|
|
|
|
depends on SPI
|
2016-10-16 23:59:42 +08:00
|
|
|
select IIO_BUFFER
|
|
|
|
select IIO_TRIGGERED_BUFFER
|
2016-02-07 17:14:16 +08:00
|
|
|
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.
|
|
|
|
|
2017-05-10 00:05:01 +08:00
|
|
|
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.
|
|
|
|
|
2016-08-28 22:52:49 +08:00
|
|
|
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.
|
|
|
|
|
2017-05-17 23:28:17 +08:00
|
|
|
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.
|
|
|
|
|
2014-03-09 02:38:00 +08:00
|
|
|
config TI_ADC128S052
|
2015-12-09 17:24:04 +08:00
|
|
|
tristate "Texas Instruments ADC128S052/ADC122S021/ADC124S021"
|
2014-03-09 02:38:00 +08:00
|
|
|
depends on SPI
|
|
|
|
help
|
2015-12-09 17:24:04 +08:00
|
|
|
If you say yes here you get support for Texas Instruments ADC128S052,
|
|
|
|
ADC122S021 and ADC124S021 chips.
|
2014-03-09 02:38:00 +08:00
|
|
|
|
|
|
|
This driver can also be built as a module. If so, the module will be
|
|
|
|
called ti-adc128s052.
|
|
|
|
|
2016-08-20 11:17:03 +08:00
|
|
|
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.
|
|
|
|
|
2016-02-11 21:49:54 +08:00
|
|
|
config TI_ADS1015
|
|
|
|
tristate "Texas Instruments ADS1015 ADC"
|
|
|
|
depends on I2C && !SENSORS_ADS1015
|
|
|
|
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.
|
|
|
|
|
2016-11-29 00:58:15 +08:00
|
|
|
config TI_ADS7950
|
|
|
|
tristate "Texas Instruments ADS7950 ADC driver"
|
|
|
|
depends on SPI
|
|
|
|
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.
|
|
|
|
|
2015-11-09 20:52:59 +08:00
|
|
|
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.
|
|
|
|
|
2012-10-16 15:25:45 +08:00
|
|
|
config TI_AM335X_ADC
|
2013-07-23 16:46:00 +08:00
|
|
|
tristate "TI's AM335X ADC driver"
|
2016-12-14 20:30:24 +08:00
|
|
|
depends on MFD_TI_AM335X_TSCADC && HAS_DMA
|
2013-09-26 04:37:00 +08:00
|
|
|
select IIO_BUFFER
|
2013-09-19 14:24:00 +08:00
|
|
|
select IIO_KFIFO_BUF
|
2012-10-16 15:25:45 +08:00
|
|
|
help
|
|
|
|
Say yes here to build support for Texas Instruments ADC
|
|
|
|
driver which is also a MFD client.
|
|
|
|
|
2015-06-21 18:18:09 +08:00
|
|
|
To compile this driver as a module, choose M here: the module will be
|
|
|
|
called ti_am335x_adc.
|
|
|
|
|
2017-01-16 16:38:24 +08:00
|
|
|
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.
|
|
|
|
|
2014-03-16 09:43:31 +08:00
|
|
|
config TWL4030_MADC
|
|
|
|
tristate "TWL4030 MADC (Monitoring A/D Converter)"
|
|
|
|
depends on TWL4030_CORE
|
|
|
|
help
|
2015-06-21 18:18:09 +08:00
|
|
|
This driver provides support for Triton TWL4030-MADC. The
|
|
|
|
driver supports both RT and SW conversion methods.
|
2014-03-16 09:43:31 +08:00
|
|
|
|
2015-06-21 18:18:09 +08:00
|
|
|
This driver can also be built as a module. If so, the module will be
|
|
|
|
called twl4030-madc.
|
2014-03-16 09:43:31 +08:00
|
|
|
|
iio: twl6030-gpadc: TWL6030, TWL6032 GPADC driver
The GPADC is general purpose ADC found on TWL6030, and TWL6032 PMIC,
known also as Phoenix and PhoenixLite.
The TWL6030 and TWL6032 have GPADC with 17 and 19 channels
respectively. Some channels have current source and are used for
measuring voltage drop on resistive load for detecting battery ID
resistance, or measuring voltage drop on NTC resistors for external
temperature measurements. Some channels measure voltage, (i.e. battery
voltage), and have voltage dividers, thus, capable to scale voltage.
Some channels are dedicated for measuring die temperature.
Some channels are calibrated in 2 points, having offsets from ideal
values kept in trim registers. This is used to correct measurements.
The differences between GPADC in TWL6030 and TWL6032:
- 10 bit vs 12 bit ADC;
- 17 vs 19 channels;
- channels have different purpose(i.e. battery voltage
channel 8 vs channel 18);
- trim values are interpreted differently.
Based on the driver patched from Balaji TK, Graeme Gregory, Ambresh K,
Girish S Ghongdemath.
Signed-off-by: Balaji T K <balajitk@ti.com>
Signed-off-by: Graeme Gregory <gg@slimlogic.co.uk>
Signed-off-by: Oleksandr Kozaruk <oleksandr.kozaruk@ti.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2013-07-25 21:26:00 +08:00
|
|
|
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.
|
|
|
|
|
2014-01-26 13:39:00 +08:00
|
|
|
config VF610_ADC
|
|
|
|
tristate "Freescale vf610 ADC driver"
|
|
|
|
depends on OF
|
2016-01-26 06:24:05 +08:00
|
|
|
depends on HAS_IOMEM
|
2015-08-17 23:51:40 +08:00
|
|
|
select IIO_BUFFER
|
|
|
|
select IIO_TRIGGERED_BUFFER
|
2014-01-26 13:39:00 +08:00
|
|
|
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.
|
|
|
|
|
2012-11-05 22:48:26 +08:00
|
|
|
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.
|
|
|
|
|
2015-06-21 18:18:09 +08:00
|
|
|
To compile this driver as a module, choose M here: the module will be
|
|
|
|
called viperboard_adc.
|
|
|
|
|
2014-02-17 22:10:00 +08:00
|
|
|
config XILINX_XADC
|
|
|
|
tristate "Xilinx XADC driver"
|
|
|
|
depends on ARCH_ZYNQ || MICROBLAZE || COMPILE_TEST
|
|
|
|
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.
|
|
|
|
|
2012-05-11 21:35:33 +08:00
|
|
|
endmenu
|