| .. SPDX-License-Identifier: GPL-2.0-only |
| |
| ============= |
| AD4000 driver |
| ============= |
| |
| Device driver for Analog Devices Inc. AD4000 series of ADCs. |
| |
| Supported devices |
| ================= |
| |
| * `AD4000 <https://www.analog.com/AD4000>`_ |
| * `AD4001 <https://www.analog.com/AD4001>`_ |
| * `AD4002 <https://www.analog.com/AD4002>`_ |
| * `AD4003 <https://www.analog.com/AD4003>`_ |
| * `AD4004 <https://www.analog.com/AD4004>`_ |
| * `AD4005 <https://www.analog.com/AD4005>`_ |
| * `AD4006 <https://www.analog.com/AD4006>`_ |
| * `AD4007 <https://www.analog.com/AD4007>`_ |
| * `AD4008 <https://www.analog.com/AD4008>`_ |
| * `AD4010 <https://www.analog.com/AD4010>`_ |
| * `AD4011 <https://www.analog.com/AD4011>`_ |
| * `AD4020 <https://www.analog.com/AD4020>`_ |
| * `AD4021 <https://www.analog.com/AD4021>`_ |
| * `AD4022 <https://www.analog.com/AD4022>`_ |
| * `ADAQ4001 <https://www.analog.com/ADAQ4001>`_ |
| * `ADAQ4003 <https://www.analog.com/ADAQ4003>`_ |
| |
| Wiring connections |
| ------------------ |
| |
| Devices of the AD4000 series can be connected to the SPI host controller in a |
| few different modes. |
| |
| CS mode, 3-wire turbo mode |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| Datasheet "3-wire" mode is what most resembles standard SPI connection which, |
| for these devices, comprises of connecting the controller CS line to device CNV |
| pin and other SPI lines as usual. This configuration is (misleadingly) called |
| "CS Mode, 3-Wire Turbo Mode" connection in datasheets. |
| NOTE: The datasheet definition of 3-wire mode for the AD4000 series is NOT the |
| same of standard spi-3wire mode. |
| This is the only connection mode that allows configuration register access but |
| it requires the SPI controller to support the ``SPI_MOSI_IDLE_HIGH`` feature. |
| |
| Omit the ``adi,sdi-pin`` property in device tree to select this mode. |
| |
| :: |
| |
| +-------------+ |
| + ----------------------------------| SDO | |
| | | | |
| | +-------------------| CS | |
| | v | | |
| | +--------------------+ | HOST | |
| | | CNV | | | |
| +--->| SDI AD4000 SDO |-------->| SDI | |
| | SCK | | | |
| +--------------------+ | | |
| ^ | | |
| +--------------------| SCLK | |
| +-------------+ |
| |
| CS mode, 3-wire, without busy indicator |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| Another wiring configuration supported as "3-wire" mode has the SDI pin |
| hard-wired to digital input/output interface supply (VIO). In this setup, the |
| controller is not required to support ``SPI_MOSI_IDLE_HIGH`` but register access |
| is not possible. This connection mode saves one wire and works with any SPI |
| controller. |
| |
| Set the ``adi,sdi-pin`` device tree property to ``"high"`` to select this mode. |
| |
| :: |
| |
| +-------------+ |
| +--------------------| CS | |
| v | | |
| VIO +--------------------+ | HOST | |
| | | CNV | | | |
| +--->| SDI AD4000 SDO |-------->| SDI | |
| | SCK | | | |
| +--------------------+ | | |
| ^ | | |
| +--------------------| SCLK | |
| +-------------+ |
| |
| Alternatively, a GPIO may be connected to the device CNV pin. This is similar to |
| the previous wiring configuration but saves the use of a CS line. |
| |
| :: |
| |
| +-------------+ |
| +--------------------| GPIO | |
| v | | |
| VIO +--------------------+ | HOST | |
| | | CNV | | | |
| +--->| SDI AD4000 SDO |-------->| SDI | |
| | SCK | | | |
| +--------------------+ | | |
| ^ | | |
| +--------------------| SCLK | |
| +-------------+ |
| |
| CS mode, 4-wire without busy indicator |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| In datasheet "4-wire" mode, the controller CS line is connected to the ADC SDI |
| pin and a GPIO is connected to the ADC CNV pin. This connection mode may better |
| suit scenarios where multiple ADCs can share one CNV trigger. |
| |
| Set ``adi,sdi-pin`` to ``"cs"`` to select this mode. |
| |
| |
| :: |
| |
| +-------------+ |
| + ----------------------------------| CS | |
| | | | |
| | +-------------------| GPIO | |
| | v | | |
| | +--------------------+ | HOST | |
| | | CNV | | | |
| +--->| SDI AD4000 SDO |-------->| SDI | |
| | SCK | | | |
| +--------------------+ | | |
| ^ | | |
| +--------------------| SCLK | |
| +-------------+ |