Add support for AD4000 series of ADCs
From: | Marcelo Schmitt <marcelo.schmitt-AT-analog.com> | |
To: | <broonie-AT-kernel.org>, <lars-AT-metafoo.de>, <Michael.Hennerich-AT-analog.com>, <jic23-AT-kernel.org>, <robh+dt-AT-kernel.org>, <krzysztof.kozlowski+dt-AT-linaro.org>, <conor+dt-AT-kernel.org>, <nuno.sa-AT-analog.com>, <dlechner-AT-baylibre.com>, <corbet-AT-lwn.net>, <marcelo.schmitt1-AT-gmail.com> | |
Subject: | [PATCH v7 0/7] Add support for AD4000 series of ADCs | |
Date: | Fri, 12 Jul 2024 16:20:00 -0300 | |
Message-ID: | <cover.1720810545.git.marcelo.schmitt@analog.com> | |
Cc: | <linux-iio-AT-vger.kernel.org>, <devicetree-AT-vger.kernel.org>, <linux-spi-AT-vger.kernel.org>, <linux-doc-AT-vger.kernel.org>, <linux-kernel-AT-vger.kernel.org> | |
Archive-link: | Article |
This patch series extends the SPI bitbang, gpio, and spi-engine controllers to support configurable MOSI line idle states. It then introduces the ad4000 driver which uses the MOSI idle configuration to provide improved support for the AD4000 series of ADCs. Documentation is added describing the new extension to the SPI protocol. The currently supported wiring modes for AD4000 devices were documented under IIO documentation directory. Change log v6 -> v7: [Device tree] No changes to device tree from v6 to v7. [SPI] spi.c: Removed blank line added in code not related to MOSI idle feature. spi: bitbang: Rewrapped commit message. spi: bitbang: Rebased bitbang patch on top of spi for-next branch. [IIO] ad4000: Checked gain-milli read from dt and made it match one of supported gains or fail. ad4000: Added blank lines to improve code readability. ad4000: return 0; when known that no errors occurred. Link to v6: https://lore.kernel.org/linux-iio/cover.1719686465.git.ma... Link to v5: https://lore.kernel.org/linux-iio/cover.1719351923.git.ma... Link to v4: https://lore.kernel.org/linux-iio/cover.1718749981.git.ma... Link to v3: https://lore.kernel.org/linux-iio/cover.1717539384.git.ma... Link to v2: https://lore.kernel.org/linux-iio/cover.1712585500.git.ma... Link to v1: https://lore.kernel.org/linux-iio/cover.1711131830.git.ma... Prerequisite patches to apply this series to IIO testing branch: c3358a746e078d0f9048732c90fdab4f37c00e0d "spi: bitbang: Convert unsigned to unsigned int" https://git.kernel.org/pub/scm/linux/kernel/git/broonie/s... f261172d39f358dcecce13c310690d3937e0cca6 "spi: bitbang: Use typedef for txrx_*() callbacks" https://git.kernel.org/pub/scm/linux/kernel/git/broonie/s... 6ecdb0aa4dca62d236a659426e11e6cf302e8f18 "spi: axi-spi-engine: Add SPI_CS_HIGH support" https://git.kernel.org/pub/scm/linux/kernel/git/broonie/s... Prerequisite patches to apply the series to SPI for-next brach: ef60f9ca26d33d0f8e1a709771c61d3e96f64559 "docs: iio: add documentation for adis16480 driver" https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio... Thanks, Marcelo Marcelo Schmitt (7): spi: Enable controllers to extend the SPI protocol with MOSI idle 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 Documentation: Add AD4000 documentation .../bindings/iio/adc/adi,ad4000.yaml | 197 +++++ Documentation/iio/ad4000.rst | 131 ++++ Documentation/iio/index.rst | 1 + Documentation/spi/spi-summary.rst | 83 ++ MAINTAINERS | 9 + drivers/iio/adc/Kconfig | 12 + drivers/iio/adc/Makefile | 1 + drivers/iio/adc/ad4000.c | 722 ++++++++++++++++++ drivers/spi/spi-axi-spi-engine.c | 15 +- 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 | 5 +- 14 files changed, 1213 insertions(+), 6 deletions(-) create mode 100644 Documentation/devicetree/bindings/iio/adc/adi,ad4000.yaml create mode 100644 Documentation/iio/ad4000.rst create mode 100644 drivers/iio/adc/ad4000.c base-commit: 986da024b99a72e64f6bdb3f3f0e52af024b1f50 prerequisite-patch-id: 76a35c35c2af889be2ff20052da02df561b3d71b prerequisite-patch-id: ce5abb83d4f04e72c69d0df4ded79077065cd649 prerequisite-patch-id: b30f54a92e47dbad33ca7450089c7b19610e9cf2 -- 2.43.0