diff mbox series

[RESEND] iio: dac: ad5686: Add support for AD5673R/AD5677R

Message ID 20210217074102.23148-1-alexandru.ardelean@analog.com (mailing list archive)
State New
Headers show
Series [RESEND] iio: dac: ad5686: Add support for AD5673R/AD5677R | expand

Commit Message

Alexandru Ardelean Feb. 17, 2021, 7:41 a.m. UTC
From: Mircea Caprioru <mircea.caprioru@analog.com>

The AD5673R/AD5677R are low power, 16-channel, 12-/16-bit buffered voltage
output digital-to-analog converters (DACs). They include a 2.5 V internal
reference (enabled by default).

These devices are very similar to AD5674R/AD5679R, except that they
have an i2c interface.

Signed-off-by: Mircea Caprioru <mircea.caprioru@analog.com>
Signed-off-by: Alexandru Ardelean <alexandru.ardelean@analog.com>
---

Forgot to include the linux-iio list in the first send.

 drivers/iio/dac/Kconfig      |  5 +++--
 drivers/iio/dac/ad5686.c     | 12 ++++++++++++
 drivers/iio/dac/ad5686.h     |  2 ++
 drivers/iio/dac/ad5696-i2c.c |  6 ++++--
 4 files changed, 21 insertions(+), 4 deletions(-)

Comments

Jonathan Cameron Feb. 18, 2021, 1:34 p.m. UTC | #1
On Wed, 17 Feb 2021 09:41:02 +0200
Alexandru Ardelean <alexandru.ardelean@analog.com> wrote:

> From: Mircea Caprioru <mircea.caprioru@analog.com>
> 
> The AD5673R/AD5677R are low power, 16-channel, 12-/16-bit buffered voltage
> output digital-to-analog converters (DACs). They include a 2.5 V internal
> reference (enabled by default).
> 
> These devices are very similar to AD5674R/AD5679R, except that they
> have an i2c interface.
> 
> Signed-off-by: Mircea Caprioru <mircea.caprioru@analog.com>
> Signed-off-by: Alexandru Ardelean <alexandru.ardelean@analog.com>

Applied, thanks

Jonathan

> ---
> 
> Forgot to include the linux-iio list in the first send.
> 
>  drivers/iio/dac/Kconfig      |  5 +++--
>  drivers/iio/dac/ad5686.c     | 12 ++++++++++++
>  drivers/iio/dac/ad5686.h     |  2 ++
>  drivers/iio/dac/ad5696-i2c.c |  6 ++++--
>  4 files changed, 21 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/iio/dac/Kconfig b/drivers/iio/dac/Kconfig
> index cea07b4cced1..75e1f2b48638 100644
> --- a/drivers/iio/dac/Kconfig
> +++ b/drivers/iio/dac/Kconfig
> @@ -142,8 +142,9 @@ config AD5696_I2C
>  	select AD5686
>  	help
>  	  Say yes here to build support for Analog Devices AD5311R, AD5338R,
> -	  AD5671R, AD5675R, AD5691R, AD5692R, AD5693, AD5693R, AD5694, AD5694R,
> -	  AD5695R, AD5696, and AD5696R Digital to Analog converters.
> +	  AD5671R, AD5673R, AD5675R, AD5677R, AD5691R, AD5692R, AD5693, AD5693R,
> +	  AD5694, AD5694R, AD5695R, AD5696, and AD5696R Digital to Analog
> +	  converters.
>  
>  	  To compile this driver as a module, choose M here: the module will be
>  	  called ad5696.
> diff --git a/drivers/iio/dac/ad5686.c b/drivers/iio/dac/ad5686.c
> index 7d6792ac1020..99a95282ac57 100644
> --- a/drivers/iio/dac/ad5686.c
> +++ b/drivers/iio/dac/ad5686.c
> @@ -301,6 +301,12 @@ static const struct ad5686_chip_info ad5686_chip_info_tbl[] = {
>  		.num_channels = 8,
>  		.regmap_type = AD5686_REGMAP,
>  	},
> +	[ID_AD5673R] = {
> +		.channels = ad5674r_channels,
> +		.int_vref_mv = 2500,
> +		.num_channels = 16,
> +		.regmap_type = AD5686_REGMAP,
> +	},
>  	[ID_AD5674R] = {
>  		.channels = ad5674r_channels,
>  		.int_vref_mv = 2500,
> @@ -324,6 +330,12 @@ static const struct ad5686_chip_info ad5686_chip_info_tbl[] = {
>  		.num_channels = 8,
>  		.regmap_type = AD5686_REGMAP,
>  	},
> +	[ID_AD5677R] = {
> +		.channels = ad5679r_channels,
> +		.int_vref_mv = 2500,
> +		.num_channels = 16,
> +		.regmap_type = AD5686_REGMAP,
> +	},
>  	[ID_AD5679R] = {
>  		.channels = ad5679r_channels,
>  		.int_vref_mv = 2500,
> diff --git a/drivers/iio/dac/ad5686.h b/drivers/iio/dac/ad5686.h
> index d9c8ba413fe9..f89a6f92b427 100644
> --- a/drivers/iio/dac/ad5686.h
> +++ b/drivers/iio/dac/ad5686.h
> @@ -55,10 +55,12 @@ enum ad5686_supported_device_ids {
>  	ID_AD5338R,
>  	ID_AD5671R,
>  	ID_AD5672R,
> +	ID_AD5673R,
>  	ID_AD5674R,
>  	ID_AD5675R,
>  	ID_AD5676,
>  	ID_AD5676R,
> +	ID_AD5677R,
>  	ID_AD5679R,
>  	ID_AD5681R,
>  	ID_AD5682R,
> diff --git a/drivers/iio/dac/ad5696-i2c.c b/drivers/iio/dac/ad5696-i2c.c
> index a39eda7c02d2..24a6a4a5a2e0 100644
> --- a/drivers/iio/dac/ad5696-i2c.c
> +++ b/drivers/iio/dac/ad5696-i2c.c
> @@ -1,7 +1,7 @@
>  // SPDX-License-Identifier: GPL-2.0
>  /*
> - * AD5671R, AD5675R, AD5691R, AD5692R, AD5693, AD5693R,
> - * AD5694, AD5694R, AD5695R, AD5696, AD5696R
> + * AD5338R, AD5671R, AD5673R, AD5675R, AD5677R, AD5691R, AD5692R, AD5693,
> + * AD5693R, AD5694, AD5694R, AD5695R, AD5696, AD5696R
>   * Digital to analog converters driver
>   *
>   * Copyright 2018 Analog Devices Inc.
> @@ -74,7 +74,9 @@ static const struct i2c_device_id ad5686_i2c_id[] = {
>  	{"ad5311r", ID_AD5311R},
>  	{"ad5338r", ID_AD5338R},
>  	{"ad5671r", ID_AD5671R},
> +	{"ad5673r", ID_AD5673R},
>  	{"ad5675r", ID_AD5675R},
> +	{"ad5677r", ID_AD5677R},
>  	{"ad5691r", ID_AD5691R},
>  	{"ad5692r", ID_AD5692R},
>  	{"ad5693", ID_AD5693},
diff mbox series

Patch

diff --git a/drivers/iio/dac/Kconfig b/drivers/iio/dac/Kconfig
index cea07b4cced1..75e1f2b48638 100644
--- a/drivers/iio/dac/Kconfig
+++ b/drivers/iio/dac/Kconfig
@@ -142,8 +142,9 @@  config AD5696_I2C
 	select AD5686
 	help
 	  Say yes here to build support for Analog Devices AD5311R, AD5338R,
-	  AD5671R, AD5675R, AD5691R, AD5692R, AD5693, AD5693R, AD5694, AD5694R,
-	  AD5695R, AD5696, and AD5696R Digital to Analog converters.
+	  AD5671R, AD5673R, AD5675R, AD5677R, AD5691R, AD5692R, AD5693, AD5693R,
+	  AD5694, AD5694R, AD5695R, AD5696, and AD5696R Digital to Analog
+	  converters.
 
 	  To compile this driver as a module, choose M here: the module will be
 	  called ad5696.
diff --git a/drivers/iio/dac/ad5686.c b/drivers/iio/dac/ad5686.c
index 7d6792ac1020..99a95282ac57 100644
--- a/drivers/iio/dac/ad5686.c
+++ b/drivers/iio/dac/ad5686.c
@@ -301,6 +301,12 @@  static const struct ad5686_chip_info ad5686_chip_info_tbl[] = {
 		.num_channels = 8,
 		.regmap_type = AD5686_REGMAP,
 	},
+	[ID_AD5673R] = {
+		.channels = ad5674r_channels,
+		.int_vref_mv = 2500,
+		.num_channels = 16,
+		.regmap_type = AD5686_REGMAP,
+	},
 	[ID_AD5674R] = {
 		.channels = ad5674r_channels,
 		.int_vref_mv = 2500,
@@ -324,6 +330,12 @@  static const struct ad5686_chip_info ad5686_chip_info_tbl[] = {
 		.num_channels = 8,
 		.regmap_type = AD5686_REGMAP,
 	},
+	[ID_AD5677R] = {
+		.channels = ad5679r_channels,
+		.int_vref_mv = 2500,
+		.num_channels = 16,
+		.regmap_type = AD5686_REGMAP,
+	},
 	[ID_AD5679R] = {
 		.channels = ad5679r_channels,
 		.int_vref_mv = 2500,
diff --git a/drivers/iio/dac/ad5686.h b/drivers/iio/dac/ad5686.h
index d9c8ba413fe9..f89a6f92b427 100644
--- a/drivers/iio/dac/ad5686.h
+++ b/drivers/iio/dac/ad5686.h
@@ -55,10 +55,12 @@  enum ad5686_supported_device_ids {
 	ID_AD5338R,
 	ID_AD5671R,
 	ID_AD5672R,
+	ID_AD5673R,
 	ID_AD5674R,
 	ID_AD5675R,
 	ID_AD5676,
 	ID_AD5676R,
+	ID_AD5677R,
 	ID_AD5679R,
 	ID_AD5681R,
 	ID_AD5682R,
diff --git a/drivers/iio/dac/ad5696-i2c.c b/drivers/iio/dac/ad5696-i2c.c
index a39eda7c02d2..24a6a4a5a2e0 100644
--- a/drivers/iio/dac/ad5696-i2c.c
+++ b/drivers/iio/dac/ad5696-i2c.c
@@ -1,7 +1,7 @@ 
 // SPDX-License-Identifier: GPL-2.0
 /*
- * AD5671R, AD5675R, AD5691R, AD5692R, AD5693, AD5693R,
- * AD5694, AD5694R, AD5695R, AD5696, AD5696R
+ * AD5338R, AD5671R, AD5673R, AD5675R, AD5677R, AD5691R, AD5692R, AD5693,
+ * AD5693R, AD5694, AD5694R, AD5695R, AD5696, AD5696R
  * Digital to analog converters driver
  *
  * Copyright 2018 Analog Devices Inc.
@@ -74,7 +74,9 @@  static const struct i2c_device_id ad5686_i2c_id[] = {
 	{"ad5311r", ID_AD5311R},
 	{"ad5338r", ID_AD5338R},
 	{"ad5671r", ID_AD5671R},
+	{"ad5673r", ID_AD5673R},
 	{"ad5675r", ID_AD5675R},
+	{"ad5677r", ID_AD5677R},
 	{"ad5691r", ID_AD5691R},
 	{"ad5692r", ID_AD5692R},
 	{"ad5693", ID_AD5693},