2012-05-11 20:35:33 +07:00
|
|
|
#
|
|
|
|
# ADC drivers
|
|
|
|
#
|
2013-07-15 14:45:00 +07:00
|
|
|
# When adding new entries keep the list in alphabetical order
|
|
|
|
|
2012-05-11 20:35:33 +07:00
|
|
|
menu "Analog to digital converters"
|
|
|
|
|
2012-08-10 23:36:00 +07:00
|
|
|
config AD_SIGMA_DELTA
|
|
|
|
tristate
|
|
|
|
select IIO_BUFFER
|
|
|
|
select IIO_TRIGGERED_BUFFER
|
|
|
|
|
2012-06-25 19:52:49 +07: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.
|
|
|
|
|
2012-11-17 18:42:59 +07: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 14:45:00 +07:00
|
|
|
config AD7476
|
|
|
|
tristate "Analog Devices AD7476 and similar 1-channel ADCs driver"
|
2013-02-13 13:47:00 +07:00
|
|
|
depends on SPI
|
|
|
|
select IIO_BUFFER
|
|
|
|
select IIO_TRIGGERED_BUFFER
|
|
|
|
help
|
2013-07-15 14:45:00 +07: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).
|
|
|
|
|
|
|
|
If unsure, say N (but it's safe to say "Y").
|
2013-02-13 13:47:00 +07:00
|
|
|
|
|
|
|
To compile this driver as a module, choose M here: the
|
2013-07-15 14:45:00 +07:00
|
|
|
module will be called ad7476.
|
2013-02-13 13:47:00 +07:00
|
|
|
|
2012-09-04 22:26:00 +07: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,
|
|
|
|
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.
|
|
|
|
|
2012-11-21 23:27:00 +07: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).
|
|
|
|
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.
|
|
|
|
|
2013-07-15 14:45:00 +07:00
|
|
|
config AD7887
|
|
|
|
tristate "Analog Devices AD7887 ADC driver"
|
2012-09-10 15:34:00 +07:00
|
|
|
depends on SPI
|
|
|
|
select IIO_BUFFER
|
|
|
|
select IIO_TRIGGERED_BUFFER
|
|
|
|
help
|
2013-07-15 14:45:00 +07:00
|
|
|
Say yes here to build support for Analog Devices
|
|
|
|
AD7887 SPI analog to digital converter (ADC).
|
2012-09-10 15:34:00 +07:00
|
|
|
If unsure, say N (but it's safe to say "Y").
|
|
|
|
|
|
|
|
To compile this driver as a module, choose M here: the
|
2013-07-15 14:45:00 +07:00
|
|
|
module will be called ad7887.
|
2012-09-10 15:34:00 +07:00
|
|
|
|
2013-07-15 14:45:00 +07:00
|
|
|
config AD7923
|
|
|
|
tristate "Analog Devices AD7923 and similar ADCs driver"
|
2012-11-05 16:56:00 +07:00
|
|
|
depends on SPI
|
|
|
|
select IIO_BUFFER
|
|
|
|
select IIO_TRIGGERED_BUFFER
|
|
|
|
help
|
|
|
|
Say yes here to build support for Analog Devices
|
2013-07-15 14:45:00 +07:00
|
|
|
AD7904, AD7914, AD7923, AD7924 4 Channel ADCs.
|
2012-11-05 16:56:00 +07:00
|
|
|
|
|
|
|
To compile this driver as a module, choose M here: the
|
2013-07-15 14:45:00 +07:00
|
|
|
module will be called ad7923.
|
2012-11-05 16:56:00 +07:00
|
|
|
|
2014-10-03 16:31:00 +07: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.
|
|
|
|
|
2012-05-11 20:35:33 +07:00
|
|
|
config AT91_ADC
|
|
|
|
tristate "Atmel AT91 ADC"
|
|
|
|
depends on ARCH_AT91
|
2014-04-09 22:18:10 +07:00
|
|
|
depends on INPUT
|
2012-05-11 20:35:33 +07:00
|
|
|
select IIO_BUFFER
|
2012-06-18 23:33:49 +07:00
|
|
|
select IIO_TRIGGERED_BUFFER
|
2012-05-11 20:35:33 +07:00
|
|
|
select SYSFS
|
|
|
|
help
|
|
|
|
Say yes here to build support for Atmel AT91 ADC.
|
|
|
|
|
2013-02-15 13:56:00 +07:00
|
|
|
config EXYNOS_ADC
|
2014-04-22 07:03:00 +07:00
|
|
|
tristate "Exynos ADC driver support"
|
2014-08-04 20:24:00 +07:00
|
|
|
depends on ARCH_EXYNOS || (OF && COMPILE_TEST)
|
2013-02-15 13:56:00 +07: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.
|
|
|
|
|
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 16:35:00 +07:00
|
|
|
config LP8788_ADC
|
2014-04-22 07:03:00 +07: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 16:35:00 +07:00
|
|
|
depends on MFD_LP8788
|
|
|
|
help
|
|
|
|
Say yes here to build support for TI LP8788 ADC.
|
|
|
|
|
2012-10-06 20:42:27 +07:00
|
|
|
config MAX1363
|
|
|
|
tristate "Maxim max1363 ADC driver"
|
|
|
|
depends on I2C
|
|
|
|
select IIO_BUFFER
|
2013-01-11 00:29:00 +07:00
|
|
|
select IIO_TRIGGERED_BUFFER
|
2012-10-06 20:42:27 +07: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.
|
|
|
|
|
2013-05-03 16:58:00 +07:00
|
|
|
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.
|
|
|
|
|
2013-09-02 21:00:00 +07:00
|
|
|
config MCP3422
|
2014-08-04 05:22:00 +07:00
|
|
|
tristate "Microchip Technology MCP3422/3/4/6/7/8 driver"
|
2013-09-02 21:00:00 +07:00
|
|
|
depends on I2C
|
|
|
|
help
|
2014-08-04 05:22:00 +07:00
|
|
|
Say yes here to build support for Microchip Technology's
|
|
|
|
MCP3422, MCP3423, MCP3424, MCP3426, MCP3427 or MCP3428
|
|
|
|
analog to digital converters.
|
2013-09-02 21:00:00 +07:00
|
|
|
|
|
|
|
This driver can also be built as a module. If so, the module will be
|
|
|
|
called mcp3422.
|
|
|
|
|
2014-02-26 23:29:07 +07: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.
|
|
|
|
|
2013-06-25 00:24:00 +07: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.
|
|
|
|
|
2012-11-23 22:13:00 +07:00
|
|
|
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.
|
|
|
|
|
2012-10-16 14:25:45 +07:00
|
|
|
config TI_AM335X_ADC
|
2013-07-23 15:46:00 +07:00
|
|
|
tristate "TI's AM335X ADC driver"
|
2012-10-16 14:25:45 +07:00
|
|
|
depends on MFD_TI_AM335X_TSCADC
|
2013-09-26 03:37:00 +07:00
|
|
|
select IIO_BUFFER
|
2013-09-19 13:24:00 +07:00
|
|
|
select IIO_KFIFO_BUF
|
2012-10-16 14:25:45 +07:00
|
|
|
help
|
|
|
|
Say yes here to build support for Texas Instruments ADC
|
|
|
|
driver which is also a MFD client.
|
|
|
|
|
2014-03-16 08:43:31 +07:00
|
|
|
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.
|
|
|
|
|
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 20:26:00 +07: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 12:39:00 +07:00
|
|
|
config VF610_ADC
|
|
|
|
tristate "Freescale vf610 ADC driver"
|
|
|
|
depends on OF
|
|
|
|
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 21:48:26 +07: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.
|
|
|
|
|
2014-02-17 21:10:00 +07: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 20:35:33 +07:00
|
|
|
endmenu
|