[v2,0/2] AD74115

Message ID 20221103094436.2136698-1-demonsingur@gmail.com
Headers
Series AD74115 |

Message

Cosmin Tanislav Nov. 3, 2022, 9:44 a.m. UTC
  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.

V1 -> V2:
 * dt-bindings: add spi peripheral allOf
 * dt-bindings: remove cs-gpios
 * dt-bindings: remove refin supply from example
 * dt-bindings: remove status
 * sort includes
 * ad74115_parse_fw_prop -> ad74115_apply_fw_prop
 * ad74115_setup_{comp,}_gc -> ad74115_setup_{comp,}_gpio_chip
 * gpiod_get_optional -> devm_gpiod_get_optional
 * add support for reset-gpios
 * add support for running without an interrupt
 * fix comma after terminating member
 * fix order of rate and range masks
 * fix reset pin wait time and out of reset time
 * fix rtd mode reading
 * pass chan spec only where needed
 * remove -en suffix
 * remove default 0 values
 * remove diag support
 * remove unecessary prop storage
 * reorder switch cases to match enum
 * set burnout enable bit based on burnout current
 * set default value for props
 * simplify dac hart slew usage
 * simplify prop value validation
 * use bool for 4 wire rtd mode
 * use bool for burnout current polarity
 * use bool for dac sc current limit
 * use bool for debounce mode
 * use bool for din sink range
 * use bool for din threshold mode
 * use devm_regulator_bulk_get_enable
 * use IIO_VAL_FRACTIONAL for resistance offset
 * use struct assignment for gpiochip
 * warn on empty prop mask

Cosmin Tanislav (2):
  dt-bindings: iio: addac: add AD74115
  iio: addac: add AD74115 driver

 .../bindings/iio/addac/adi,ad74115.yaml       |  370 ++++
 MAINTAINERS                                   |    8 +
 drivers/iio/addac/Kconfig                     |   14 +
 drivers/iio/addac/Makefile                    |    1 +
 drivers/iio/addac/ad74115.c                   | 1901 +++++++++++++++++
 5 files changed, 2294 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/iio/addac/adi,ad74115.yaml
 create mode 100644 drivers/iio/addac/ad74115.c