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:
Supported features¶
SPI wiring modes¶
The driver currently supports three of the many possible SPI wiring configurations.
CS mode, 3-wire, without busy indicator¶
                                     +-------------+
                +--------------------| 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¶
                                    +-------------+
+-----------------------------------| 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¶
                                                               +-------------+
                +-------------------------+--------------------| 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¶
- BUSYindication
- TURBOmode
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 | 
|---|---|
| 
 | Raw ADC voltage value (IN+ referenced to ground sense). | 
| 
 | 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 | 
|---|---|
| 
 | Raw ADC voltage value (IN+ - IN-). | 
| 
 | 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 Industrial IIO device buffers for more information.