| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- .. SPDX-License-Identifier: GPL-2.0-only
- =============
- AD7944 driver
- =============
- ADC driver for Analog Devices Inc. AD7944 and similar devices. The module name
- is ``ad7944``.
- Supported devices
- =================
- The following chips are supported by this driver:
- * `AD7944 <https://www.analog.com/AD7944>`_
- * `AD7985 <https://www.analog.com/AD7985>`_
- * `AD7986 <https://www.analog.com/AD7986>`_
- Supported features
- ==================
- SPI wiring modes
- ----------------
- The driver currently supports three of the many possible SPI wiring configurations.
- CS mode, 3-wire, without busy indicator
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- .. code-block::
- +-------------+
- +--------------------| CS |
- v | |
- VIO +--------------------+ | HOST |
- | | CNV | | |
- +--->| SDI AD7944 SDO |-------->| SDI |
- | SCK | | |
- +--------------------+ | |
- ^ | |
- +--------------------| SCLK |
- +-------------+
- To select this mode in the device tree, set the ``adi,spi-mode`` property to
- ``"single"`` and omit the ``cnv-gpios`` property.
- CS mode, 4-wire, without busy indicator
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- .. code-block::
- +-------------+
- +-----------------------------------| CS |
- | | |
- | +--------------------| GPIO |
- | v | |
- | +--------------------+ | HOST |
- | | CNV | | |
- +--->| SDI AD7944 SDO |-------->| SDI |
- | SCK | | |
- +--------------------+ | |
- ^ | |
- +--------------------| SCLK |
- +-------------+
- To select this mode in the device tree, omit the ``adi,spi-mode`` property and
- provide the ``cnv-gpios`` property.
- Chain mode, without busy indicator
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- .. code-block::
- +-------------+
- +-------------------------+--------------------| CS |
- v v | |
- +--------------------+ +--------------------+ | HOST |
- | CNV | | CNV | | |
- +--->| SDI AD7944 SDO |--->| SDI AD7944 SDO |-------->| SDI |
- | | SCK | | SCK | | |
- GND +--------------------+ +--------------------+ | |
- ^ ^ | |
- +-------------------------+--------------------| SCLK |
- +-------------+
- To select this mode in the device tree, set the ``adi,spi-mode`` property to
- ``"chain"``, add the ``spi-cs-high`` flag, add the ``#daisy-chained-devices``
- property, and omit the ``cnv-gpios`` property.
- Reference voltage
- -----------------
- All 3 possible reference voltage sources are supported:
- - Internal reference
- - External 1.2V reference and internal buffer
- - External reference
- The source is determined by the device tree. If ``ref-supply`` is present, then
- the external reference is used. If ``refin-supply`` is present, then the internal
- buffer is used. If neither is present, then the internal reference is used.
- Unimplemented features
- ----------------------
- - ``BUSY`` indication
- - ``TURBO`` mode
- Device attributes
- =================
- There are two types of ADCs in this family, pseudo-differential and fully
- differential. The channel name is different depending on the type of ADC.
- Pseudo-differential ADCs
- ------------------------
- AD7944 and AD7985 are pseudo-differential ADCs and have the following attributes:
- +---------------------------------------+--------------------------------------------------------------+
- | Attribute | Description |
- +=======================================+==============================================================+
- | ``in_voltage0_raw`` | Raw ADC voltage value (*IN+* referenced to ground sense). |
- +---------------------------------------+--------------------------------------------------------------+
- | ``in_voltage0_scale`` | Scale factor to convert raw value to mV. |
- +---------------------------------------+--------------------------------------------------------------+
- In "chain" mode, additional chips will appear as additional voltage input
- channels, e.g. ``in_voltage1_raw``.
- Fully-differential ADCs
- -----------------------
- AD7986 is a fully-differential ADC and has the following attributes:
- +---------------------------------------+--------------------------------------------------------------+
- | Attribute | Description |
- +=======================================+==============================================================+
- | ``in_voltage0-voltage1_raw`` | Raw ADC voltage value (*IN+* - *IN-*). |
- +---------------------------------------+--------------------------------------------------------------+
- | ``in_voltage0-voltage1_scale`` | Scale factor to convert raw value to mV. |
- +---------------------------------------+--------------------------------------------------------------+
- In "chain" mode, additional chips will appear as additional voltage input
- channels, e.g. ``in_voltage2-voltage3_raw``.
- Device buffers
- ==============
- This driver supports IIO triggered buffers.
- See :doc:`iio_devbuf` for more information.
|