Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

iio:ad7476: Add support for ad7273/ad7274/ad7276/ad7277/ad7278

The ad7276/ad7277/ad7278 are similar to the ad7476/ad7477/ad7478 but have the
same number of leading zeros as the ad7940. The ad7273/ad7274 have a extra pin
for VREF where as for the ad7276/ad7277/ad7278 VREF is taken from VDD, but
otherwise they are compatible to the ad7276/ad7277.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>

authored by

Lars-Peter Clausen and committed by
Jonathan Cameron
c26cc89e 4c337de8

+23 -3
+3 -3
drivers/iio/adc/Kconfig
··· 36 36 select IIO_BUFFER 37 37 select IIO_TRIGGERED_BUFFER 38 38 help 39 - Say yes here to build support for Analog Devices AD7475, AD7476, AD7477, 40 - AD7478, AD7466, AD7467, AD7468, AD7495, AD7910, AD7920, AD7920 SPI analog 41 - to digital converters (ADC). 39 + Say yes here to build support for Analog Devices AD7273, AD7274, AD7276, 40 + AD7277, AD7278, AD7475, AD7476, AD7477, AD7478, AD7466, AD7467, AD7468, 41 + AD7495, AD7910, AD7920, AD7920 SPI analog to digital converters (ADC). 42 42 43 43 If unsure, say N (but it's safe to say "Y"). 44 44
+20
drivers/iio/adc/ad7476.c
··· 45 45 }; 46 46 47 47 enum ad7476_supported_device_ids { 48 + ID_AD7276, 49 + ID_AD7277, 50 + ID_AD7278, 48 51 ID_AD7466, 49 52 ID_AD7467, 50 53 ID_AD7468, ··· 149 146 #define AD7940_CHAN(bits) _AD7476_CHAN((bits), 15 - (bits)) 150 147 151 148 static const struct ad7476_chip_info ad7476_chip_info_tbl[] = { 149 + [ID_AD7276] = { 150 + .channel[0] = AD7940_CHAN(12), 151 + .channel[1] = IIO_CHAN_SOFT_TIMESTAMP(1), 152 + }, 153 + [ID_AD7277] = { 154 + .channel[0] = AD7940_CHAN(10), 155 + .channel[1] = IIO_CHAN_SOFT_TIMESTAMP(1), 156 + }, 157 + [ID_AD7278] = { 158 + .channel[0] = AD7940_CHAN(8), 159 + .channel[1] = IIO_CHAN_SOFT_TIMESTAMP(1), 160 + }, 152 161 [ID_AD7466] = { 153 162 .channel[0] = AD7476_CHAN(12), 154 163 .channel[1] = IIO_CHAN_SOFT_TIMESTAMP(1), ··· 271 256 } 272 257 273 258 static const struct spi_device_id ad7476_id[] = { 259 + {"ad7273", ID_AD7277}, 260 + {"ad7274", ID_AD7276}, 261 + {"ad7276", ID_AD7276}, 262 + {"ad7277", ID_AD7277}, 263 + {"ad7278", ID_AD7278}, 274 264 {"ad7466", ID_AD7466}, 275 265 {"ad7467", ID_AD7467}, 276 266 {"ad7468", ID_AD7468},