It took more time than I expected, but I have followed up on this and now I'm presenting the patch for your review. Modified the code based on the implementation of this application note as a reference: https://www.analog.com/media/en/technical-documentation/user-guides/guide-to-programming-the-max14001max14002-isolated-adcs--maxim-integrated.pdf For now, I'm figuring out how to implement daisy chain for future support. Changes in v2: max14001: - Replaced verification register definitions with macro. - Removed local definition of IIO_DMA_MINALIGN. - Changed driver to big endian format and reverse data prior to outputting it to the device as per the app note. - Utilized default register values instead of zero to clear memory validation fault. - Converted driver to use custom regmap for register access. - Modified scaled value calculation and changed to IIO_VAL_FRACTIONAL_LOG2. - Removed offset attribute. - Added comments for clarity in write transactions. - Misc changes(blank lines...). Bindings: - Removed unneccessary device tree propertied and updated bindings. The code was tested using max14001pmb and max14001evsys boards with raspberry pi 4. Kim Seer Paller (2): dt-bindings:iio:adc: add max14001 iio: adc: max14001: New driver .../bindings/iio/adc/adi,max14001.yaml | 55 +++ MAINTAINERS | 8 + drivers/iio/adc/Kconfig | 10 + drivers/iio/adc/Makefile | 1 + drivers/iio/adc/max14001.c | 333 ++++++++++++++++++ 5 files changed, 407 insertions(+) create mode 100644 Documentation/devicetree/bindings/iio/adc/adi,max14001.yaml create mode 100644 drivers/iio/adc/max14001.c base-commit: 44149752e9987a9eac5ad78e6d3a20934b5e018d -- 2.34.1