This is adding DT bindings and a new driver for the AD4695 and similar devices. The plan is to implement quite a few more features, but this is a complex chip so we're spreading out the work. To start with, we have a reasonably complete DT binding and a very basic driver. This work is being done in collaboration with Analog Devices Inc., hence they listed as maintainers rather than me. The code has been tested on a ZedBoard with an EVAL-AD4696FMCZ using the internal LDO, an external reference and a variety of input channel configurations. --- Changes in v3: * Dropped "dt-bindings: iio: adc: add common-mode-channel dependency" patch. * Link to v2: https://lore.kernel.org/r/20240617-iio-adc-ad4695-v2-0-63ef6583f25d@xxxxxxxxxxxx [PATCH 1/3] * Change interrupts to be per pin instead of per signal. * Drop diff-channels and single-channel properties. * Odd numbered pins added to common-mode-channel property enum. * REFGND and COM values changed to avoid confusion with pin numbers. * Add inX-supply properties for odd numbed input pins. [PATCH 2/3] * always include all channels, not just ones customized in DT * rework channel fwnode parsing for DT changes [PATCH 3/3] * Rework DT examples for DT bindings changes Changes in v2: [PATCH 1/4] * New patch * Depends on recently applied patch https://lore.kernel.org/linux-iio/20240607-ad4111-v7-1-97e3855900a0@xxxxxxxxxx/ [PATCH 2/4] * Drop *-wlcsp compatible strings * Don't use fallback compatible strings * Reword supply descriptions * Use standard channel properties instead of adi,pin-pairing * Fix unnecessary | character * Fix missing blank line * Add header file with common mode channel macros [PATCH 3/4] * rework register definition macros * remove code structure comments at top level * remove simple wrapper functions around regmap functions * rework channel fwnode parsing for DT changes * fix missing return value check [PATCH 4/4] * Rework DT examples for DT bindings changes * Fix wrong MAINTAINERS update * Link to v1: https://lore.kernel.org/r/20240612-iio-adc-ad4695-v1-0-6a4ed251fc86@xxxxxxxxxxxx --- David Lechner (3): dt-bindings: iio: adc: add AD4695 and similar ADCs iio: adc: ad4695: Add driver for AD4695 and similar ADCs Documentation: iio: Document ad4695 driver .../devicetree/bindings/iio/adc/adi,ad4695.yaml | 256 ++++++++ Documentation/iio/ad4695.rst | 155 +++++ Documentation/iio/index.rst | 1 + MAINTAINERS | 12 + drivers/iio/adc/Kconfig | 11 + drivers/iio/adc/Makefile | 1 + drivers/iio/adc/ad4695.c | 730 +++++++++++++++++++++ include/dt-bindings/iio/adi,ad4695.h | 9 + 8 files changed, 1175 insertions(+) --- base-commit: 2dfa1b7bfc07e58acb9f9eaa8c871f37189dbfee change-id: 20240517-iio-adc-ad4695-ef72b2a2cf88 Best regards, -- David Lechner <dlechner@xxxxxxxxxxxx>