Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 505abf99 authored by Akinobu Mita's avatar Akinobu Mita Committed by Jonathan Cameron
Browse files

iio: adc: mcp3422: Add support for MCP3425



The MCP3425 is a single channel up to 16-bit A/D converter which has
features:

- On-Board Programmable Gain Amplifier (PGA):
 - Gains of 1, 2, 4 or 8
- Programmable Data Rate Options:
 - 15 SPS (16 bits), 60 SPS (14 bits), 240 SPS (12 bits)

The mcp3422 driver also supports the MCP3421 which is a single channel.
So we can support MCP3425 with a little changes to mcp3422 driver.

Signed-off-by: default avatarAkinobu Mita <akinobu.mita@gmail.com>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Angelo Compagnucci <angelo.compagnucci@gmail.com>
Cc: Peter Meerwald <pmeerw@pmeerw.net>
Cc: linux-iio@vger.kernel.org
Signed-off-by: default avatarJonathan Cameron <jic23@kernel.org>
parent 02c34ccc
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -6,6 +6,7 @@ Required properties:
	"microchip,mcp3422" or
	"microchip,mcp3423" or
	"microchip,mcp3424" or
	"microchip,mcp3425" or
	"microchip,mcp3426" or
	"microchip,mcp3427" or
	"microchip,mcp3428"
+3 −3
Original line number Diff line number Diff line
@@ -265,11 +265,11 @@ config MCP320X
	  called mcp320x.

config MCP3422
	tristate "Microchip Technology MCP3422/3/4/6/7/8 driver"
	tristate "Microchip Technology MCP3421/2/3/4/5/6/7/8 driver"
	depends on I2C
	help
	  Say yes here to build support for Microchip Technology's
	  MCP3422, MCP3423, MCP3424, MCP3426, MCP3427 or MCP3428
	  Say yes here to build support for Microchip Technology's MCP3421
	  MCP3422, MCP3423, MCP3424, MCP3425, MCP3426, MCP3427 or MCP3428
	  analog to digital converters.

	  This driver can also be built as a module. If so, the module will be
+5 −2
Original line number Diff line number Diff line
/*
 * mcp3422.c - driver for the Microchip mcp3422/3/4/6/7/8 chip family
 * mcp3422.c - driver for the Microchip mcp3421/2/3/4/5/6/7/8 chip family
 *
 * Copyright (C) 2013, Angelo Compagnucci
 * Author: Angelo Compagnucci <angelo.compagnucci@gmail.com>
 *
 * Datasheet: http://ww1.microchip.com/downloads/en/devicedoc/22088b.pdf
 *            http://ww1.microchip.com/downloads/en/DeviceDoc/22226a.pdf
 *            http://ww1.microchip.com/downloads/en/DeviceDoc/22072b.pdf
 *
 * This driver exports the value of analog input voltage to sysfs, the
 * voltage unit is nV.
@@ -357,6 +358,7 @@ static int mcp3422_probe(struct i2c_client *client,

	switch (adc->id) {
	case 1:
	case 5:
		indio_dev->channels = mcp3421_channels;
		indio_dev->num_channels = ARRAY_SIZE(mcp3421_channels);
		break;
@@ -395,6 +397,7 @@ static const struct i2c_device_id mcp3422_id[] = {
	{ "mcp3422", 2 },
	{ "mcp3423", 3 },
	{ "mcp3424", 4 },
	{ "mcp3425", 5 },
	{ "mcp3426", 6 },
	{ "mcp3427", 7 },
	{ "mcp3428", 8 },
@@ -421,5 +424,5 @@ static struct i2c_driver mcp3422_driver = {
module_i2c_driver(mcp3422_driver);

MODULE_AUTHOR("Angelo Compagnucci <angelo.compagnucci@gmail.com>");
MODULE_DESCRIPTION("Microchip mcp3422/3/4/6/7/8 driver");
MODULE_DESCRIPTION("Microchip mcp3421/2/3/4/5/6/7/8 driver");
MODULE_LICENSE("GPL v2");