linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] iio: adc: driver for ti adc081s/adc101s/adc121s
@ 2018-01-13 19:29 Milan Stevanovic
  2018-01-14 11:08 ` Jonathan Cameron
  0 siblings, 1 reply; 2+ messages in thread
From: Milan Stevanovic @ 2018-01-13 19:29 UTC (permalink / raw)
  To: Lars-Peter Clausen, Jonathan Cameron
  Cc: linux-iio, LKML, knaack.h, pmeerw, Michael.Hennerich

 From fab687d20ba46d78439b6cdaf0d40b78ae68222c Mon Sep 17 00:00:00 2001
From: Milan Stevanovic <milan.o.stevanovic@gmail.com>
Date: Sun, 7 Jan 2018 21:44:33 +0100
Subject: [PATCH v2] iio: adc: driver for ti adc081s/adc101s/adc121s

     Add Linux device driver for TI single-channel CMOS
     8/10/12-bit analog-to-digital converter with a
     high-speed serial interface.

Signed-off-by: Milan Stevanovic <milan.o.stevanovic@gmail.com>

---
Changes in v2:
      - Fix typo error
      - Keep Copyright comment
---
  drivers/iio/adc/ad7476.c | 25 +++++++++++++++++++++++--
  1 file changed, 23 insertions(+), 2 deletions(-)

diff --git a/drivers/iio/adc/ad7476.c b/drivers/iio/adc/ad7476.c
index b7706bf..4fe3cf1 100644
--- a/drivers/iio/adc/ad7476.c
+++ b/drivers/iio/adc/ad7476.c
@@ -1,9 +1,10 @@
+// SPDX-License-Identifier: GPL-2.0
  /*
- * AD7466/7/8 AD7476/5/7/8 (A) SPI ADC driver
+ * Analog Devices AD7466/7/8 AD7476/5/7/8 (A) SPI ADC driver
+ * TI ADC081S/ADC101S/ADC121S 8/10/12-bit SPI ADC driver
   *
   * Copyright 2010 Analog Devices Inc.
   *
- * Licensed under the GPL-2 or later.
   */
  
  #include <linux/device.h>
@@ -56,6 +57,9 @@ enum ad7476_supported_device_ids {
  	ID_AD7468,
  	ID_AD7495,
  	ID_AD7940,
+	ID_ADC081S,
+	ID_ADC101S,
+	ID_ADC121S,
  };
  
  static irqreturn_t ad7476_trigger_handler(int irq, void  *p)
@@ -147,6 +151,8 @@ static int ad7476_read_raw(struct iio_dev *indio_dev,
  	},							\
  }
  
+#define ADC081S_CHAN(bits) _AD7476_CHAN((bits), 12 - (bits), \
+		BIT(IIO_CHAN_INFO_RAW))
  #define AD7476_CHAN(bits) _AD7476_CHAN((bits), 13 - (bits), \
  		BIT(IIO_CHAN_INFO_RAW))
  #define AD7940_CHAN(bits) _AD7476_CHAN((bits), 15 - (bits), \
@@ -192,6 +198,18 @@ static const struct ad7476_chip_info ad7476_chip_info_tbl[] = {
  		.channel[0] = AD7940_CHAN(14),
  		.channel[1] = IIO_CHAN_SOFT_TIMESTAMP(1),
  	},
+	[ID_ADC081S] = {
+		.channel[0] = ADC081S_CHAN(8),
+		.channel[1] = IIO_CHAN_SOFT_TIMESTAMP(1),
+	},
+	[ID_ADC101S] = {
+		.channel[0] = ADC081S_CHAN(10),
+		.channel[1] = IIO_CHAN_SOFT_TIMESTAMP(1),
+	},
+	[ID_ADC121S] = {
+		.channel[0] = ADC081S_CHAN(12),
+		.channel[1] = IIO_CHAN_SOFT_TIMESTAMP(1),
+	},
  };
  
  static const struct iio_info ad7476_info = {
@@ -294,6 +312,9 @@ static const struct spi_device_id ad7476_id[] = {
  	{"ad7910", ID_AD7467},
  	{"ad7920", ID_AD7466},
  	{"ad7940", ID_AD7940},
+	{"adc081s", ID_ADC081S},
+	{"adc101s", ID_ADC101S},
+	{"adc121s", ID_ADC121S},
  	{}
  };
  MODULE_DEVICE_TABLE(spi, ad7476_id);
-- 
2.7.4
la

^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2018-01-14 11:08 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-13 19:29 [PATCH v2] iio: adc: driver for ti adc081s/adc101s/adc121s Milan Stevanovic
2018-01-14 11:08 ` Jonathan Cameron

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).