docs: iio: new docs for ad7944 driver
This adds a new page to document how to use the ad7944 ADC driver. Signed-off-by: David Lechner <dlechner@baylibre.com> Link: https://lore.kernel.org/r/20240322-mainline-ad7944-doc-v2-2-0923d35d5596@baylibre.com Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
parent
74f7ffd684
commit
18b51455e6
|
@ -0,0 +1,130 @@
|
|||
.. 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 two 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.
|
||||
|
||||
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
|
||||
- Daisy chain 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. |
|
||||
+---------------------------------------+--------------------------------------------------------------+
|
||||
|
||||
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. |
|
||||
+---------------------------------------+--------------------------------------------------------------+
|
||||
|
||||
|
||||
Device buffers
|
||||
==============
|
||||
|
||||
This driver supports IIO triggered buffers.
|
||||
|
||||
See :doc:`iio_devbuf` for more information.
|
|
@ -16,6 +16,7 @@ Industrial I/O Kernel Drivers
|
|||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
ad7944
|
||||
adis16475
|
||||
bno055
|
||||
ep93xx_adc
|
||||
|
|
|
@ -448,6 +448,7 @@ R: David Lechner <dlechner@baylibre.com>
|
|||
S: Supported
|
||||
W: https://ez.analog.com/linux-software-drivers
|
||||
F: Documentation/devicetree/bindings/iio/adc/adi,ad7944.yaml
|
||||
F: Documentation/iio/ad7944.rst
|
||||
F: drivers/iio/adc/ad7944.c
|
||||
|
||||
ADAFRUIT MINI I2C GAMEPAD
|
||||
|
|
Loading…
Reference in New Issue