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