summaryrefslogtreecommitdiffstats
path: root/drivers/iio/adc/ad7606.h
diff options
context:
space:
mode:
authorBeniamin Bia <beniamin.bia@analog.com>2019-07-18 09:27:30 +0300
committerJonathan Cameron <Jonathan.Cameron@huawei.com>2019-07-28 08:53:18 +0100
commit7677f73158d3dac530daca7ce834603989c05b18 (patch)
tree8993548f43b682dfa8b62d32e33f96e0938aaa8a /drivers/iio/adc/ad7606.h
parent06ae56b9e723d653b6c14da947794d440554dff4 (diff)
downloadlinux-7677f73158d3dac530daca7ce834603989c05b18.tar.bz2
iio: adc: ad7606: Move common channel definition to header
The common channel definition which are going to be used by both core file but also spi file, were moved in header file. Some devices have different channel definitions when are used in software mode, feature available only with spi, and those definitions will be added in spi file. Signed-off-by: Beniamin Bia <beniamin.bia@analog.com> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Diffstat (limited to 'drivers/iio/adc/ad7606.h')
-rw-r--r--drivers/iio/adc/ad7606.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/drivers/iio/adc/ad7606.h b/drivers/iio/adc/ad7606.h
index d8a509c2c428..d547e88f4c9d 100644
--- a/drivers/iio/adc/ad7606.h
+++ b/drivers/iio/adc/ad7606.h
@@ -8,6 +8,29 @@
#ifndef IIO_ADC_AD7606_H_
#define IIO_ADC_AD7606_H_
+#define AD760X_CHANNEL(num, mask) { \
+ .type = IIO_VOLTAGE, \
+ .indexed = 1, \
+ .channel = num, \
+ .address = num, \
+ .info_mask_separate = BIT(IIO_CHAN_INFO_RAW), \
+ .info_mask_shared_by_type = BIT(IIO_CHAN_INFO_SCALE),\
+ .info_mask_shared_by_all = mask, \
+ .scan_index = num, \
+ .scan_type = { \
+ .sign = 's', \
+ .realbits = 16, \
+ .storagebits = 16, \
+ .endianness = IIO_CPU, \
+ }, \
+}
+
+#define AD7605_CHANNEL(num) \
+ AD760X_CHANNEL(num, 0)
+
+#define AD7606_CHANNEL(num) \
+ AD760X_CHANNEL(num, BIT(IIO_CHAN_INFO_OVERSAMPLING_RATIO))
+
/**
* struct ad7606_chip_info - chip specific information
* @channels: channel specification