On Thu, 17 Nov 2022 10:09:14 +0200 Cosmin Tanislav <demonsingur@xxxxxxxxx> wrote: > 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. > Applied to the togreg branch of iio.git. Thanks, Jonathan > 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 >