xref: /linux/Documentation/iio/ad7625.rst (revision 60675d4ca1ef0857e44eba5849b74a3a998d0c0f)
1*78134832STrevor Gamblin.. SPDX-License-Identifier: GPL-2.0-only
2*78134832STrevor Gamblin
3*78134832STrevor Gamblin====================
4*78134832STrevor GamblinAD7625 driver
5*78134832STrevor Gamblin====================
6*78134832STrevor Gamblin
7*78134832STrevor GamblinADC driver for Analog Devices Inc. AD7625, AD7626, AD7960, and AD7961
8*78134832STrevor Gamblindevices. The module name is ``ad7625``.
9*78134832STrevor Gamblin
10*78134832STrevor GamblinSupported devices
11*78134832STrevor Gamblin=================
12*78134832STrevor Gamblin
13*78134832STrevor GamblinThe following chips are supported by this driver:
14*78134832STrevor Gamblin
15*78134832STrevor Gamblin* `AD7625 <https://www.analog.com/AD7625>`_
16*78134832STrevor Gamblin* `AD7626 <https://www.analog.com/AD7626>`_
17*78134832STrevor Gamblin* `AD7960 <https://www.analog.com/AD7960>`_
18*78134832STrevor Gamblin* `AD7961 <https://www.analog.com/AD7961>`_
19*78134832STrevor Gamblin
20*78134832STrevor GamblinThe driver requires use of the Pulsar LVDS HDL project:
21*78134832STrevor Gamblin
22*78134832STrevor Gamblin* `Pulsar LVDS HDL <http://analogdevicesinc.github.io/hdl/projects/pulsar_lvds/index.html>`_
23*78134832STrevor Gamblin
24*78134832STrevor GamblinTo trigger conversions and enable subsequent data transfer, the devices
25*78134832STrevor Gamblinrequire coupled PWM signals with a phase offset.
26*78134832STrevor Gamblin
27*78134832STrevor GamblinSupported features
28*78134832STrevor Gamblin==================
29*78134832STrevor Gamblin
30*78134832STrevor GamblinConversion control modes
31*78134832STrevor Gamblin------------------------
32*78134832STrevor Gamblin
33*78134832STrevor GamblinThe driver currently supports one of two possible LVDS conversion control methods.
34*78134832STrevor Gamblin
35*78134832STrevor GamblinEchoed-Clock interface mode
36*78134832STrevor Gamblin^^^^^^^^^^^^^^^^^^^^^^^^^^^
37*78134832STrevor Gamblin
38*78134832STrevor Gamblin.. code-block::
39*78134832STrevor Gamblin
40*78134832STrevor Gamblin                                                +----------------+
41*78134832STrevor Gamblin                     +xxxxxxxxxxxxxxxxxxxxxxxxxx| CNV            |
42*78134832STrevor Gamblin                     X                          |                |
43*78134832STrevor Gamblin                     v                          |    HOST        |
44*78134832STrevor Gamblin          +----------------------------+        |                |
45*78134832STrevor Gamblin          |      CNV+/CNV-   DCO+/DCO- |xxxxxxx>| CLK_IN         |
46*78134832STrevor Gamblin          |                            |        |                |
47*78134832STrevor Gamblin          |                            |        |                |
48*78134832STrevor Gamblin          |       AD7625         D+/D- |xxxxxxx>| DATA_IN        |
49*78134832STrevor Gamblin          |                            |        |                |
50*78134832STrevor Gamblin          |                            |        |                |
51*78134832STrevor Gamblin          |                  CLK+/CLK- |<xxxxxxx| CLK & CLK_GATE |
52*78134832STrevor Gamblin          +----------------------------+        |                |
53*78134832STrevor Gamblin                                                +----------------+
54*78134832STrevor Gamblin
55*78134832STrevor GamblinReference voltage
56*78134832STrevor Gamblin-----------------
57*78134832STrevor Gamblin
58*78134832STrevor GamblinThree possible reference voltage sources are supported:
59*78134832STrevor Gamblin
60*78134832STrevor Gamblin- Internal reference (only available on AD7625 and AD7626)
61*78134832STrevor Gamblin- External reference and internal buffer
62*78134832STrevor Gamblin- External reference
63*78134832STrevor Gamblin
64*78134832STrevor GamblinThe source is determined by the device tree. If ``ref-supply`` is present, then
65*78134832STrevor Gamblinthe external reference is used. If ``refin-supply`` is present, then the internal
66*78134832STrevor Gamblinbuffer is used. If neither is present, then the internal reference is used.
67*78134832STrevor Gamblin
68*78134832STrevor GamblinUnimplemented features
69*78134832STrevor Gamblin----------------------
70*78134832STrevor Gamblin
71*78134832STrevor Gamblin- Self-clocked mode
72*78134832STrevor Gamblin
73*78134832STrevor Gamblin
74*78134832STrevor GamblinDevice attributes
75*78134832STrevor Gamblin=================
76*78134832STrevor Gamblin
77*78134832STrevor GamblinThe AD762x is a fully-differential ADC and has the following attributes:
78*78134832STrevor Gamblin
79*78134832STrevor Gamblin+---------------------------------------+--------------------------------------------------------------+
80*78134832STrevor Gamblin| Attribute                             | Description                                                  |
81*78134832STrevor Gamblin+=======================================+==============================================================+
82*78134832STrevor Gamblin| ``scale``                             | Scale factor to convert raw value from buffered reads to mV. |
83*78134832STrevor Gamblin+---------------------------------------+--------------------------------------------------------------+
84*78134832STrevor Gamblin
85*78134832STrevor Gamblin
86*78134832STrevor GamblinDevice buffers
87*78134832STrevor Gamblin==============
88*78134832STrevor Gamblin
89*78134832STrevor GamblinThis driver supports IIO triggered buffers.
90*78134832STrevor Gamblin
91*78134832STrevor GamblinSee :doc:`iio_devbuf` for more information.
92