[PATCH v3 0/2] AD74115
From: Cosmin Tanislav
Date: Thu Nov 17 2022 - 03:09:44 EST
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.
V2 -> V3:
* dt-bindings: remove address and size cells specifiers
* dt-bindings: additionalProperties -> unevaluatedProperties
* dt-bindings: remove pipe where not needed
* dt-bindings: use required for adi,digital-input-sink-range-high: true
* do not uselessly store poll time
* fix ad74115_adc_gain capitalization
* inline ad74115_channels_map[st->ch_func] access
* keep consistent table naming
* remove aldo1v8 regulator
* spell out low-power
* split up resistance offset and scale into separate function
* use adc_rdy name for irq
* use microvolt for conv2 range
* use unsigned int for ad74115_adc_conv_mul
* use unsigned int for ad74115_adc_gain
* wrap module_driver call less
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 | 373 ++++
MAINTAINERS | 8 +
drivers/iio/addac/Kconfig | 14 +
drivers/iio/addac/Makefile | 1 +
drivers/iio/addac/ad74115.c | 1947 +++++++++++++++++
5 files changed, 2343 insertions(+)
create mode 100644 Documentation/devicetree/bindings/iio/addac/adi,ad74115.yaml
create mode 100644 drivers/iio/addac/ad74115.c
--
2.38.1