This is a new driver for the Analog Devices AD7944/AD7985/AD7986 family of ADCs. These are fairly simple chips (e.g. no configuration registers) but do have some unusual SPI configurations. The initial driver is only supporting the normal (4-wire) SPI mode. This work is done on behalf of Analog Devices, Inc., hence the MAINTAINERS are @analog.com folks. --- Changes in v5: - DT bindings: - fixed typo - picked up Rob's reviewed-by - Driver: - Dropped "nanoseconds" from comments. - Renamed "t" to "timing_spec" - Replaced "&spi->dev" with "dev" - Fixed logic on optional "ref" regulator - Added comment explaining why "cnv" gpio is required - Simplified always_turbo assignment - Link to v4: https://lore.kernel.org/r/20240229-ad7944-mainline-v4-0-f88b5ec4baed@xxxxxxxxxxxx Changes in v4: - Fixed broken DT patch due to misplaced changelog - Link to v3: https://lore.kernel.org/r/20240228-ad7944-mainline-v3-0-781b922334af@xxxxxxxxxxxx Changes in v3: - Removed 'multi' value from adi,spi-mode property in DT bindings - Modified driver for above change - Fixed spelling of 'conventional' - Added '#daisy-chained-devices' to DT bindings - Added comments explaining that '3-wire' mode is not related to spi-3wire/SPI_3WIRE - Replaced _sign with _diff in chip info struct to properly handle pseudo-differential vs. true differential chips - Link to v2: https://lore.kernel.org/r/20240216-ad7944-mainline-v2-0-7eb69651e592@xxxxxxxxxxxx Changes in v2: - Added limit to spi-max-frequency for chain mode in DT bindings - Added spi-cpol property to DT bindings - Renamed '3-wire' mode to 'single' mode (to avoid confusion with spi-3wire) - Renamed '4-wire' mode to 'multi' mode - Dropped adi,reference property - now using only ref-supply and refin-supply to determine the reference voltage source - Fixed spelling of TURBO - Renamed t_cnv to t_conv to match datasheet name and fixed comment - Fixed wrong timestamp pushed to buffer - Fixed scaling for chips with signed data - Make use of sysfs_match_string() function - Link to v1: https://lore.kernel.org/r/20240206-ad7944-mainline-v1-0-bf115fa9474f@xxxxxxxxxxxx --- David Lechner (2): dt-bindings: iio: adc: add ad7944 ADCs iio: adc: ad7944: add driver for AD7944/AD7985/AD7986 .../devicetree/bindings/iio/adc/adi,ad7944.yaml | 213 +++++++++++ MAINTAINERS | 9 + drivers/iio/adc/Kconfig | 10 + drivers/iio/adc/Makefile | 1 + drivers/iio/adc/ad7944.c | 416 +++++++++++++++++++++ 5 files changed, 649 insertions(+) --- base-commit: 74744b27ba8cb8c265263aa0ff0693350a8cbc19 change-id: 20240206-ad7944-mainline-17c968aa0967