On Tue, 19 Mar 2024 11:11:23 +0100 Julien Stephan <jstephan@xxxxxxxxxxxx> wrote: > From: David Lechner <dlechner@xxxxxxxxxxxx> > > This adds a new driver for the AD7380 family ADCs. > > The driver currently implements basic support for the AD7380, AD7381, > 2-channel differential ADCs. Support for additional single-ended, > pseudo-differential and 4-channel chips that use the same register map > as well as additional features of the chip will be added in future patches. > > Co-developed-by: Stefan Popa <stefan.popa@xxxxxxxxxx> > Signed-off-by: Stefan Popa <stefan.popa@xxxxxxxxxx> > Reviewed-by: Nuno Sa <nuno.sa@xxxxxxxxxx> > Signed-off-by: David Lechner <dlechner@xxxxxxxxxxxx> > [Julien Stephan: add datasheet links of supported parts] > [Julien Stephan: fix rx/tx buffer for regmap access] > Signed-off-by: Julien Stephan <jstephan@xxxxxxxxxxxx> Looks good to me. One unrelated comment inline. Jonathan > --- > MAINTAINERS | 1 + > drivers/iio/adc/Kconfig | 16 ++ > drivers/iio/adc/Makefile | 1 + > drivers/iio/adc/ad7380.c | 447 +++++++++++++++++++++++++++++++++++++++++++++++ > 4 files changed, 465 insertions(+) > > diff --git a/MAINTAINERS b/MAINTAINERS > index f7c512f3bbda..2277870853c7 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -435,6 +435,7 @@ S: Supported > W: https://wiki.analog.com/resources/tools-software/linux-drivers/iio-adc/ad738x > W: https://ez.analog.com/linux-software-drivers > F: Documentation/devicetree/bindings/iio/adc/adi,ad7380.yaml > +F: drivers/iio/adc/ad7380.c > > AD7877 TOUCHSCREEN DRIVER > M: Michael Hennerich <michael.hennerich@xxxxxxxxxx> > diff --git a/drivers/iio/adc/Kconfig b/drivers/iio/adc/Kconfig > index 8db68b80b391..631386b037ae 100644 > --- a/drivers/iio/adc/Kconfig > +++ b/drivers/iio/adc/Kconfig > @@ -155,6 +155,22 @@ config AD7298 > To compile this driver as a module, choose M here: the > module will be called ad7298. > > +config AD7380 > + tristate "Analog Devices AD7380 ADC driver" > + depends on SPI_MASTER > + select IIO_BUFFER > + select IIO_TRIGGER > + select IIO_TRIGGERED_BUFFER > + help > + AD7380 is a family of simultaneous sampling ADCs that share the same > + SPI register map and have similar pinouts. > + > + Say yes here to build support for Analog Devices AD7380 ADC and > + similar chips. > + > + To compile this driver as a module, choose M here: the module will be > + called ad7380. > + > config AD7476 > tristate "Analog Devices AD7476 1-channel ADCs driver and other similar devices from AD and TI" > depends on SPI > diff --git a/drivers/iio/adc/Makefile b/drivers/iio/adc/Makefile > index edb32ce2af02..bd3cbbb178fa 100644 > --- a/drivers/iio/adc/Makefile > +++ b/drivers/iio/adc/Makefile > @@ -19,6 +19,7 @@ obj-$(CONFIG_AD7291) += ad7291.o > obj-$(CONFIG_AD7292) += ad7292.o > obj-$(CONFIG_AD7298) += ad7298.o > obj-$(CONFIG_AD7923) += ad7923.o Oops these clearly got out of order a long time ago. We should fix that up but nothing to do with this series. > +obj-$(CONFIG_AD7380) += ad7380.o > obj-$(CONFIG_AD7476) += ad7476.o > obj-$(CONFIG_AD7606_IFACE_PARALLEL) += ad7606_par.o > obj-$(CONFIG_AD7606_IFACE_SPI) += ad7606_spi.o