This patch adds a new functionality of reading gain values from the
ad778x chips. This value is stored in the chip's state struct and is
updated whenever a read or write call is performed on the driver.
Signed-off-by: Renato Lui Geh <renatogeh@gmail.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
#define AD7780_GAIN_MIDPOINT 64
#define AD7780_FILTER_MIDPOINT 13350
+static const unsigned int ad778x_gain[2] = { 1, 128 };
+
struct ad7780_chip_info {
struct iio_chan_spec channel;
unsigned int pattern_mask;
((raw_sample & chip_info->pattern_mask) != chip_info->pattern))
return -EIO;
+ if (chip_info->is_ad778x)
+ st->gain = ad778x_gain[raw_sample & AD7780_GAIN];
+
return 0;
}