linux/drivers/iio
Oleksandr Kozaruk 1696f36482 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-08-17 15:50:57 +01:00
..
accel iio: accel: st_accel: Use devm_iio_device_alloc 2013-08-03 18:41:18 +01:00
adc iio: twl6030-gpadc: TWL6030, TWL6032 GPADC driver 2013-08-17 15:50:57 +01:00
amplifiers iio: amplifiers: ad8366: Use devm_* APIs 2013-08-03 21:00:15 +01:00
common iio: Add a comment to about alphabetical order to Kconfigs and Makefiles 2013-08-03 18:40:36 +01:00
dac iio:mcp4725: Use devm_iio_device_alloc 2013-08-03 22:18:54 +01:00
frequency iio: frequency: ad9523: Use devm_* APIs 2013-08-03 21:01:27 +01:00
gyro iio: gyro: st_gyro: Use devm_iio_device_alloc 2013-08-17 15:50:56 +01:00
imu iio: imu: inv_mpu6050: Use devm_iio_device_alloc 2013-08-03 18:55:24 +01:00
light iio:vcnl4000: Use devm_iio_device_alloc 2013-08-03 22:18:03 +01:00
magnetometer iio: magnetometer: st_magn: Use devm_iio_device_alloc 2013-08-03 18:43:14 +01:00
pressure iio: pressure: st_pressure: Use devm_iio_device_alloc 2013-08-03 21:02:38 +01:00
temperature iio: Add tmp006 IR temperature sensor 2013-08-17 15:50:53 +01:00
trigger iio: Add a comment to about alphabetical order to Kconfigs and Makefiles 2013-08-03 18:40:36 +01:00
buffer_cb.c iio:callback buffer: free the scan_mask 2013-06-04 18:19:30 +01:00
iio_core_trigger.h iio: fix semicolon in io_core_trigger.h 2013-08-03 18:40:32 +01:00
iio_core.h iio: Add OF support 2013-03-16 10:17:59 +00:00
industrialio-buffer.c iio: buffer: cleanup messages in iio_update_buffers() 2013-05-22 22:16:47 +01:00
industrialio-core.c iio: core: Avoid double minus in sysfs output 2013-08-03 18:41:19 +01:00
industrialio-event.c iio: events: Make iio_push_event() IRQ context save 2013-03-17 20:04:45 +00:00
industrialio-trigger.c iio:trigger: Fix use_count race condition 2013-07-20 10:18:53 +01:00
industrialio-triggered-buffer.c iio: Add helper function for initializing triggered buffers 2012-06-18 17:26:09 -07:00
inkern.c iio: inkern: fix iio_convert_raw_to_processed_unlocked 2013-07-03 20:30:52 +01:00
Kconfig iio: Add tmp006 IR temperature sensor 2013-08-17 15:50:53 +01:00
kfifo_buf.c staging:iio: Remove noop call to __iio_update_buffer 2013-01-31 17:56:44 +00:00
Makefile iio: Restore alphabetic order in Makefile 2013-08-17 15:50:54 +01:00