This patch series extends the SPI bitbang, gpio, and spi-engine controllers to support configurable MOSI line idle state. It then introduces the ad4000 driver which makes use of the MOSI idle configuration to properly support AD4000 series of ADCs. Change log v2 -> v3: - [new patch] Extended SPI modes to allow MOSI idle high configuration. - [new patch] Implemented configurable MOSI idle state for spi-bitbang controller. - [new patch] Implemented configurable MOSI idle state for spi-gpio controller. - [new patch] Implemented configurable MOSI idle state for spi-axi-spi-engine controller. - Dropped spi-cpha property (these devices communicate in SPI mode 0). - Added dt-binding check to constrain adi,gain-milli property to ADAQ devices only. - Device config doesn't enable TURBO anymore to save power. - Fixed device buffer declaration. - Simplified ADC input gain handling by keeping gain value from DT. - Reworked ADC sample read function in "3-wire mode" making it latency free. - Added ADC sample read function for "4-wire mode". - Read adi,spi-mode dt prop and use "3-wire" or "4-wire" mode accordingly. - Many other minor improvements such as better code execution flows and comments. - Removed Mircea Caprioru from authors. This driver is now completely different from what Mircea left in ADI Linux. I'll leave additional ADC features (e.g. single-ended to differential configuration) for future patches if no one minds it. Thanks, Marcelo Marcelo Schmitt (6): spi: Add SPI mode bit for MOSI idle state configuration spi: bitbang: Implement support for MOSI idle state configuration spi: spi-gpio: Add support for MOSI idle state configuration spi: spi-axi-spi-engine: Add support for MOSI idle configuration dt-bindings: iio: adc: Add AD4000 iio: adc: Add support for AD4000 .../bindings/iio/adc/adi,ad4000.yaml | 207 +++++ MAINTAINERS | 8 + drivers/iio/adc/Kconfig | 12 + drivers/iio/adc/Makefile | 1 + drivers/iio/adc/ad4000.c | 735 ++++++++++++++++++ drivers/spi/spi-axi-spi-engine.c | 8 +- drivers/spi/spi-bitbang.c | 24 + drivers/spi/spi-gpio.c | 12 +- drivers/spi/spi.c | 6 + include/linux/spi/spi_bitbang.h | 1 + include/uapi/linux/spi/spi.h | 3 +- 11 files changed, 1014 insertions(+), 3 deletions(-) create mode 100644 Documentation/devicetree/bindings/iio/adc/adi,ad4000.yaml create mode 100644 drivers/iio/adc/ad4000.c -- 2.43.0