iio: addac: add AD74115 driver

The AD74115H is a single-channel, software-configurable, input and
output device for industrial control applications. The AD74115H
provides a wide range of use cases, integrated on a single chip.

These use cases include analog output, analog input, digital output,
digital input, resistance temperature detector (RTD), and thermocouple
measurement capability. The AD74115H also has an integrated HART modem.

A serial peripheral interface (SPI) is used to handle all communications
to the device, including communications with the HART modem. The digital
input and digital outputs can be accessed via the SPI or the
general-purpose input and output (GPIO) pins to support higher
speed data rates.

The device features a 16-bit, sigma-delta analog-to-digital converter
(ADC) and a 14-bit digital-to-analog converter (DAC).
The AD74115H contains a high accuracy 2.5 V on-chip reference that can
be used as the DAC and ADC reference.

Signed-off-by: Cosmin Tanislav <cosmin.tanislav@analog.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20221117080916.411766-3-cosmin.tanislav@analog.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
Cosmin Tanislav 2022-11-17 10:09:16 +02:00 committed by Jonathan Cameron
parent 0e69ba0dd5
commit 48ea75598d
4 changed files with 1963 additions and 0 deletions

View File

@ -1181,6 +1181,7 @@ L: linux-iio@vger.kernel.org
S: Supported
W: http://ez.analog.com/community/linux-device-drivers
F: Documentation/devicetree/bindings/iio/addac/adi,ad74115.yaml
F: drivers/iio/addac/ad74115.c
ANALOG DEVICES INC AD74413R DRIVER
M: Cosmin Tanislav <cosmin.tanislav@analog.com>

View File

@ -5,6 +5,20 @@
menu "Analog to digital and digital to analog converters"
config AD74115
tristate "Analog Devices AD74115H driver"
depends on GPIOLIB && SPI
select CRC8
select IIO_BUFFER
select IIO_TRIGGERED_BUFFER
select REGMAP_SPI
help
Say yes here to build support for Analog Devices AD74115H
single-channel software configurable input/output solution.
To compile this driver as a module, choose M here: the
module will be called ad74115.
config AD74413R
tristate "Analog Devices AD74412R/AD74413R driver"
depends on GPIOLIB && SPI

View File

@ -4,5 +4,6 @@
#
# When adding new entries keep the list in alphabetical order
obj-$(CONFIG_AD74115) += ad74115.o
obj-$(CONFIG_AD74413R) += ad74413r.o
obj-$(CONFIG_STX104) += stx104.o

1947
drivers/iio/addac/ad74115.c Normal file

File diff suppressed because it is too large Load Diff