linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Miquel Raynal <miquel.raynal@bootlin.com>
To: Jonathan Cameron <jic23@kernel.org>,
	Hartmut Knaack <knaack.h@gmx.de>,
	Lars-Peter Clausen <lars@metafoo.de>,
	Peter Meerwald-Stadler <pmeerw@pmeerw.net>,
	Rob Herring <robh+dt@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>
Cc: <devicetree@vger.kernel.org>,
	linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org,
	Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
	Miquel Raynal <miquel.raynal@bootlin.com>
Subject: [PATCH v2 5/7] iio: adc: max1027: Introduce 12-bit devices support
Date: Thu,  3 Oct 2019 19:33:59 +0200	[thread overview]
Message-ID: <20191003173401.16343-6-miquel.raynal@bootlin.com> (raw)
In-Reply-To: <20191003173401.16343-1-miquel.raynal@bootlin.com>

Maxim's max12xx series is very similar to the max10xx series, with the
difference of the measurements depth which is upgraded from 10 to 12
bits per channel. Everything else looks the same.

Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
---
 drivers/iio/adc/Kconfig   |  4 ++--
 drivers/iio/adc/max1027.c | 44 ++++++++++++++++++++++++++++++++++++++-
 2 files changed, 45 insertions(+), 3 deletions(-)

diff --git a/drivers/iio/adc/Kconfig b/drivers/iio/adc/Kconfig
index f0af3a42f53c..6ac16d738822 100644
--- a/drivers/iio/adc/Kconfig
+++ b/drivers/iio/adc/Kconfig
@@ -508,8 +508,8 @@ config MAX1027
 	select IIO_BUFFER
 	select IIO_TRIGGERED_BUFFER
 	help
-	  Say yes here to build support for Maxim SPI ADC models
-	  max1027, max1029 and max1031.
+	  Say yes here to build support for Maxim SPI {10,12}-bit ADC models:
+	  max1027, max1029, max1031, max1227, max1229 and max1231.
 
 	  To compile this driver as a module, choose M here: the module will be
 	  called max1027.
diff --git a/drivers/iio/adc/max1027.c b/drivers/iio/adc/max1027.c
index 5d5d223dd42a..0d7116e9a63b 100644
--- a/drivers/iio/adc/max1027.c
+++ b/drivers/iio/adc/max1027.c
@@ -63,12 +63,18 @@ enum max1027_id {
 	max1027,
 	max1029,
 	max1031,
+	max1227,
+	max1229,
+	max1231,
 };
 
 static const struct spi_device_id max1027_id[] = {
 	{"max1027", max1027},
 	{"max1029", max1029},
 	{"max1031", max1031},
+	{"max1227", max1227},
+	{"max1229", max1229},
+	{"max1231", max1231},
 	{}
 };
 MODULE_DEVICE_TABLE(spi, max1027_id);
@@ -78,6 +84,9 @@ static const struct of_device_id max1027_adc_dt_ids[] = {
 	{ .compatible = "maxim,max1027" },
 	{ .compatible = "maxim,max1029" },
 	{ .compatible = "maxim,max1031" },
+	{ .compatible = "maxim,max1227" },
+	{ .compatible = "maxim,max1229" },
+	{ .compatible = "maxim,max1231" },
 	{},
 };
 MODULE_DEVICE_TABLE(of, max1027_adc_dt_ids);
@@ -153,6 +162,21 @@ static const struct iio_chan_spec max1031_channels[] = {
 	MAX1X31_CHANNELS(10)
 };
 
+static const struct iio_chan_spec max1227_channels[] = {
+	MAX1X27_CHANNELS(12)
+};
+
+static const struct iio_chan_spec max1229_channels[] = {
+	MAX1X27_CHANNELS(12),
+	MAX1X29_CHANNELS(12)
+};
+
+static const struct iio_chan_spec max1231_channels[] = {
+	MAX1X27_CHANNELS(12),
+	MAX1X29_CHANNELS(12),
+	MAX1X31_CHANNELS(12)
+};
+
 static const unsigned long max1027_available_scan_masks[] = {
 	0x000001ff,
 	0x00000000,
@@ -194,6 +218,24 @@ static const struct max1027_chip_info max1027_chip_info_tbl[] = {
 		.depth = 10,
 		.available_scan_masks = max1031_available_scan_masks,
 	},
+	[max1227] = {
+		.channels = max1227_channels,
+		.num_channels = ARRAY_SIZE(max1227_channels),
+		.depth = 12,
+		.available_scan_masks = max1027_available_scan_masks,
+	},
+	[max1229] = {
+		.channels = max1229_channels,
+		.num_channels = ARRAY_SIZE(max1229_channels),
+		.depth = 12,
+		.available_scan_masks = max1029_available_scan_masks,
+	},
+	[max1231] = {
+		.channels = max1231_channels,
+		.num_channels = ARRAY_SIZE(max1231_channels),
+		.depth = 12,
+		.available_scan_masks = max1031_available_scan_masks,
+	},
 };
 
 struct max1027_state {
@@ -490,5 +532,5 @@ static struct spi_driver max1027_driver = {
 module_spi_driver(max1027_driver);
 
 MODULE_AUTHOR("Philippe Reynes <tremyfr@yahoo.fr>");
-MODULE_DESCRIPTION("MAX1027/MAX1029/MAX1031 ADC");
+MODULE_DESCRIPTION("MAX1X27/MAX1X29/MAX1X31 ADC");
 MODULE_LICENSE("GPL v2");
-- 
2.20.1


  parent reply	other threads:[~2019-10-03 17:34 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-03 17:33 [PATCH v2 0/7] Introduce max12xx ADC support Miquel Raynal
2019-10-03 17:33 ` [PATCH v2 1/7] iio: adc: max1027: Add debugfs register read support Miquel Raynal
2019-10-06 10:04   ` Jonathan Cameron
2019-10-07 10:00     ` Miquel Raynal
2019-10-12 13:56       ` Jonathan Cameron
2019-10-03 17:33 ` [PATCH v2 2/7] iio: adc: max1027: Make it optional to use interrupts Miquel Raynal
2019-10-06 10:18   ` Jonathan Cameron
2019-10-07 10:01     ` Miquel Raynal
2019-10-07 11:44       ` Jonathan Cameron
2019-10-03 17:33 ` [PATCH v2 3/7] iio: adc: max1027: Reset the device at probe time Miquel Raynal
2019-10-03 17:33 ` [PATCH v2 4/7] iio: adc: max1027: Prepare the introduction of different resolutions Miquel Raynal
2019-10-06 10:22   ` Jonathan Cameron
2019-10-07 10:03     ` Miquel Raynal
2019-10-03 17:33 ` Miquel Raynal [this message]
2019-10-06 10:24   ` [PATCH v2 5/7] iio: adc: max1027: Introduce 12-bit devices support Jonathan Cameron
2019-10-03 17:34 ` [PATCH v2 6/7] dt-bindings: iio: adc: max1027: Mark interrupts as optional Miquel Raynal
2019-10-03 17:34 ` [PATCH v2 7/7] dt-bindings: iio: adc: max1027: Document max12xx series compatibles Miquel Raynal
2019-10-06 10:27   ` Jonathan Cameron
2019-10-07 10:04     ` Miquel Raynal

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191003173401.16343-6-miquel.raynal@bootlin.com \
    --to=miquel.raynal@bootlin.com \
    --cc=devicetree@vger.kernel.org \
    --cc=jic23@kernel.org \
    --cc=knaack.h@gmx.de \
    --cc=lars@metafoo.de \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=pmeerw@pmeerw.net \
    --cc=robh+dt@kernel.org \
    --cc=thomas.petazzoni@bootlin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).