mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00
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
3 changed files with 132 additions and 0 deletions
130
Documentation/iio/ad7944.rst
Normal file
130
Documentation/iio/ad7944.rst
Normal file
|
@ -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::
|
.. toctree::
|
||||||
:maxdepth: 1
|
:maxdepth: 1
|
||||||
|
|
||||||
|
ad7944
|
||||||
adis16475
|
adis16475
|
||||||
bno055
|
bno055
|
||||||
ep93xx_adc
|
ep93xx_adc
|
||||||
|
|
|
@ -448,6 +448,7 @@ R: David Lechner <dlechner@baylibre.com>
|
||||||
S: Supported
|
S: Supported
|
||||||
W: https://ez.analog.com/linux-software-drivers
|
W: https://ez.analog.com/linux-software-drivers
|
||||||
F: Documentation/devicetree/bindings/iio/adc/adi,ad7944.yaml
|
F: Documentation/devicetree/bindings/iio/adc/adi,ad7944.yaml
|
||||||
|
F: Documentation/iio/ad7944.rst
|
||||||
F: drivers/iio/adc/ad7944.c
|
F: drivers/iio/adc/ad7944.c
|
||||||
|
|
||||||
ADAFRUIT MINI I2C GAMEPAD
|
ADAFRUIT MINI I2C GAMEPAD
|
||||||
|
|
Loading…
Add table
Reference in a new issue