linux/drivers/iio
Akinobu Mita a9e9c7153e iio: adc: add max1117/max1118/max1119 ADC driver
This adds max1117/max1118/max1119 8-bit, dual-channel ADC driver.

This new driver uses the zero length spi_transfers with the cs_change
flag set and/or the non-zero delay_usecs.

1. The zero length transfer with the spi_transfer.cs_change set is
required in order to select CH1.  The chip select line must be brought
high and low again without transfer.

2. The zero length transfer with the spi_transfer.delay_usecs > 0 is
required for waiting the conversion to be complete.  The conversion
begins with the falling edge of the chip select.  During the conversion
process, SCLK is ignored.

These two usages are unusual.  But the spi controller drivers that use
a default implementation of transfer_one_message() are likely to work.
(I've tested this adc driver with spi-omap2-mcspi and spi-xilinx)

On the other hand, some spi controller drivers that have their own
transfer_one_message() may not work.  But at least for the zero length
transfer with delay_usecs > 0, I'm proposing a new testcase for the
spi-loopback-test that can test whether the delay_usecs setting has
taken effect.

Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Cc: Jonathan Cameron <jic23@kernel.org>
Cc: Hartmut Knaack <knaack.h@gmx.de>
Cc: Lars-Peter Clausen <lars@metafoo.de>
Cc: Peter Meerwald-Stadler <pmeerw@pmeerw.net>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Mark Brown <broonie@kernel.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2017-04-14 15:09:06 +01:00
..
accel iio: accel: mma7660: Add OF device ID table 2017-03-19 10:58:28 +00:00
adc iio: adc: add max1117/max1118/max1119 ADC driver 2017-04-14 15:09:06 +01:00
amplifiers
buffer
chemical drivers: iio: chemical: replace comma with a semicolon 2017-03-30 19:13:23 +01:00
common iio: hid-sensor: Fix unbalanced pm_runtime_enable error 2017-04-08 15:36:47 +01:00
counter iio: pc104: Mask PC/104 drivers via the PC104 Kconfig option 2017-03-15 21:59:08 +00:00
dac iio: dac: ad5504: Remove unnecessary cast on void pointer 2017-04-02 09:48:50 +01:00
dummy
frequency
gyro iio: gyro: mpu3050: stop double error reporting 2017-04-03 20:40:51 +01:00
health
humidity iio: humidity: hts221: Remove unnecessary cast on void pointer 2017-04-02 09:50:32 +01:00
imu iio: imu: st_lsm6dsx: use i2c/spi device name for iio_dev name 2017-04-08 18:09:40 +01:00
light iio: light: lm3533-als: constify attribute_group structures 2017-04-02 09:08:55 +01:00
magnetometer Merge 4.11-rc4 into staging-next 2017-03-27 09:11:25 +02:00
orientation
potentiometer
potentiostat
pressure iio: pressure: zpa2326: Remove unnecessary cast on void pointer 2017-04-02 09:52:18 +01:00
proximity iio: proximity: as3935: constify attribute_group structures 2017-04-01 11:26:10 +01:00
temperature iio: mlx96014: Add OF device ID table 2017-03-19 10:49:24 +00:00
trigger iio: stm32 trigger: Add counter enable modes 2017-04-14 15:09:04 +01:00
iio_core_trigger.h
iio_core.h
industrialio-buffer.c
industrialio-configfs.c
industrialio-core.c
industrialio-event.c
industrialio-sw-device.c
industrialio-sw-trigger.c
industrialio-trigger.c
industrialio-triggered-event.c
inkern.c
Kconfig
Makefile