1 .. SPDX-License-Identifier: GPL-2.0-only 1 .. SPDX-License-Identifier: GPL-2.0-only 2 2 3 ============= 3 ============= 4 AD7944 driver 4 AD7944 driver 5 ============= 5 ============= 6 6 7 ADC driver for Analog Devices Inc. AD7944 and 7 ADC driver for Analog Devices Inc. AD7944 and similar devices. The module name 8 is ``ad7944``. 8 is ``ad7944``. 9 9 10 10 11 Supported devices 11 Supported devices 12 ================= 12 ================= 13 13 14 The following chips are supported by this driv 14 The following chips are supported by this driver: 15 15 16 * `AD7944 <https://www.analog.com/AD7944>`_ 16 * `AD7944 <https://www.analog.com/AD7944>`_ 17 * `AD7985 <https://www.analog.com/AD7985>`_ 17 * `AD7985 <https://www.analog.com/AD7985>`_ 18 * `AD7986 <https://www.analog.com/AD7986>`_ 18 * `AD7986 <https://www.analog.com/AD7986>`_ 19 19 20 20 21 Supported features 21 Supported features 22 ================== 22 ================== 23 23 24 SPI wiring modes 24 SPI wiring modes 25 ---------------- 25 ---------------- 26 26 27 The driver currently supports three of the man 27 The driver currently supports three of the many possible SPI wiring configurations. 28 28 29 CS mode, 3-wire, without busy indicator 29 CS mode, 3-wire, without busy indicator 30 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 30 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 31 31 32 .. code-block:: 32 .. code-block:: 33 33 34 +---- 34 +-------------+ 35 +--------------------| CS 35 +--------------------| CS | 36 v | 36 v | | 37 VIO +--------------------+ | 37 VIO +--------------------+ | HOST | 38 | | CNV | | 38 | | CNV | | | 39 +--->| SDI AD7944 SDO |-------->| SDI 39 +--->| SDI AD7944 SDO |-------->| SDI | 40 | SCK | | 40 | SCK | | | 41 +--------------------+ | 41 +--------------------+ | | 42 ^ | 42 ^ | | 43 +--------------------| SCL 43 +--------------------| SCLK | 44 +---- 44 +-------------+ 45 45 46 To select this mode in the device tree, set th 46 To select this mode in the device tree, set the ``adi,spi-mode`` property to 47 ``"single"`` and omit the ``cnv-gpios`` proper 47 ``"single"`` and omit the ``cnv-gpios`` property. 48 48 49 CS mode, 4-wire, without busy indicator 49 CS mode, 4-wire, without busy indicator 50 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 50 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 51 51 52 .. code-block:: 52 .. code-block:: 53 53 54 +---- 54 +-------------+ 55 +-----------------------------------| CS 55 +-----------------------------------| CS | 56 | | 56 | | | 57 | +--------------------| GPI 57 | +--------------------| GPIO | 58 | v | 58 | v | | 59 | +--------------------+ | 59 | +--------------------+ | HOST | 60 | | CNV | | 60 | | CNV | | | 61 +--->| SDI AD7944 SDO |-------->| SDI 61 +--->| SDI AD7944 SDO |-------->| SDI | 62 | SCK | | 62 | SCK | | | 63 +--------------------+ | 63 +--------------------+ | | 64 ^ | 64 ^ | | 65 +--------------------| SCL 65 +--------------------| SCLK | 66 +---- 66 +-------------+ 67 67 68 To select this mode in the device tree, omit t 68 To select this mode in the device tree, omit the ``adi,spi-mode`` property and 69 provide the ``cnv-gpios`` property. 69 provide the ``cnv-gpios`` property. 70 70 71 Chain mode, without busy indicator 71 Chain mode, without busy indicator 72 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 72 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 73 73 74 .. code-block:: 74 .. code-block:: 75 75 76 76 +-------------+ 77 +-------------------------+- 77 +-------------------------+--------------------| CS | 78 v v 78 v v | | 79 +--------------------+ +----------- 79 +--------------------+ +--------------------+ | HOST | 80 | CNV | | CNV 80 | CNV | | CNV | | | 81 +--->| SDI AD7944 SDO |--->| SDI AD79 81 +--->| SDI AD7944 SDO |--->| SDI AD7944 SDO |-------->| SDI | 82 | | SCK | | SCK 82 | | SCK | | SCK | | | 83 GND +--------------------+ +----------- 83 GND +--------------------+ +--------------------+ | | 84 ^ ^ 84 ^ ^ | | 85 +-------------------------+- 85 +-------------------------+--------------------| SCLK | 86 86 +-------------+ 87 87 88 To select this mode in the device tree, set th 88 To select this mode in the device tree, set the ``adi,spi-mode`` property to 89 ``"chain"``, add the ``spi-cs-high`` flag, add 89 ``"chain"``, add the ``spi-cs-high`` flag, add the ``#daisy-chained-devices`` 90 property, and omit the ``cnv-gpios`` property. 90 property, and omit the ``cnv-gpios`` property. 91 91 92 Reference voltage 92 Reference voltage 93 ----------------- 93 ----------------- 94 94 95 All 3 possible reference voltage sources are s 95 All 3 possible reference voltage sources are supported: 96 96 97 - Internal reference 97 - Internal reference 98 - External 1.2V reference and internal buffer 98 - External 1.2V reference and internal buffer 99 - External reference 99 - External reference 100 100 101 The source is determined by the device tree. I 101 The source is determined by the device tree. If ``ref-supply`` is present, then 102 the external reference is used. If ``refin-sup 102 the external reference is used. If ``refin-supply`` is present, then the internal 103 buffer is used. If neither is present, then th 103 buffer is used. If neither is present, then the internal reference is used. 104 104 105 Unimplemented features 105 Unimplemented features 106 ---------------------- 106 ---------------------- 107 107 108 - ``BUSY`` indication 108 - ``BUSY`` indication 109 - ``TURBO`` mode 109 - ``TURBO`` mode 110 110 111 111 112 Device attributes 112 Device attributes 113 ================= 113 ================= 114 114 115 There are two types of ADCs in this family, ps 115 There are two types of ADCs in this family, pseudo-differential and fully 116 differential. The channel name is different de 116 differential. The channel name is different depending on the type of ADC. 117 117 118 Pseudo-differential ADCs 118 Pseudo-differential ADCs 119 ------------------------ 119 ------------------------ 120 120 121 AD7944 and AD7985 are pseudo-differential ADCs 121 AD7944 and AD7985 are pseudo-differential ADCs and have the following attributes: 122 122 123 +---------------------------------------+----- 123 +---------------------------------------+--------------------------------------------------------------+ 124 | Attribute | Desc 124 | Attribute | Description | 125 +=======================================+===== 125 +=======================================+==============================================================+ 126 | ``in_voltage0_raw`` | Raw 126 | ``in_voltage0_raw`` | Raw ADC voltage value (*IN+* referenced to ground sense). | 127 +---------------------------------------+----- 127 +---------------------------------------+--------------------------------------------------------------+ 128 | ``in_voltage0_scale`` | Scal 128 | ``in_voltage0_scale`` | Scale factor to convert raw value to mV. | 129 +---------------------------------------+----- 129 +---------------------------------------+--------------------------------------------------------------+ 130 130 131 In "chain" mode, additional chips will appear 131 In "chain" mode, additional chips will appear as additional voltage input 132 channels, e.g. ``in_voltage1_raw``. 132 channels, e.g. ``in_voltage1_raw``. 133 133 134 Fully-differential ADCs 134 Fully-differential ADCs 135 ----------------------- 135 ----------------------- 136 136 137 AD7986 is a fully-differential ADC and has the 137 AD7986 is a fully-differential ADC and has the following attributes: 138 138 139 +---------------------------------------+----- 139 +---------------------------------------+--------------------------------------------------------------+ 140 | Attribute | Desc 140 | Attribute | Description | 141 +=======================================+===== 141 +=======================================+==============================================================+ 142 | ``in_voltage0-voltage1_raw`` | Raw 142 | ``in_voltage0-voltage1_raw`` | Raw ADC voltage value (*IN+* - *IN-*). | 143 +---------------------------------------+----- 143 +---------------------------------------+--------------------------------------------------------------+ 144 | ``in_voltage0-voltage1_scale`` | Scal 144 | ``in_voltage0-voltage1_scale`` | Scale factor to convert raw value to mV. | 145 +---------------------------------------+----- 145 +---------------------------------------+--------------------------------------------------------------+ 146 146 147 In "chain" mode, additional chips will appear 147 In "chain" mode, additional chips will appear as additional voltage input 148 channels, e.g. ``in_voltage2-voltage3_raw``. 148 channels, e.g. ``in_voltage2-voltage3_raw``. 149 149 150 150 151 Device buffers 151 Device buffers 152 ============== 152 ============== 153 153 154 This driver supports IIO triggered buffers. 154 This driver supports IIO triggered buffers. 155 155 156 See :doc:`iio_devbuf` for more information. 156 See :doc:`iio_devbuf` for more information.
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.