~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/iio/ad4695.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 .. SPDX-License-Identifier: GPL-2.0-only
  2 
  3 =============
  4 AD4695 driver
  5 =============
  6 
  7 ADC driver for Analog Devices Inc. AD4695 and similar devices. The module name
  8 is ``ad4695``.
  9 
 10 
 11 Supported devices
 12 =================
 13 
 14 The following chips are supported by this driver:
 15 
 16 * `AD4695 <https://www.analog.com/AD4695>`_
 17 * `AD4696 <https://www.analog.com/AD4696>`_
 18 * `AD4697 <https://www.analog.com/AD4697>`_
 19 * `AD4698 <https://www.analog.com/AD4698>`_
 20 
 21 
 22 Supported features
 23 ==================
 24 
 25 SPI wiring modes
 26 ----------------
 27 
 28 The driver currently supports the following SPI wiring configuration:
 29 
 30 4-wire mode
 31 ^^^^^^^^^^^
 32 
 33 In this mode, CNV and CS are tied together and there is a single SDO line.
 34 
 35 .. code-block::
 36 
 37     +-------------+         +-------------+
 38     |          CS |<-+------| CS          |
 39     |         CNV |<-+      |             |
 40     |     ADC     |         |     HOST    |
 41     |             |         |             |
 42     |         SDI |<--------| SDO         |
 43     |         SDO |-------->| SDI         |
 44     |        SCLK |<--------| SCLK        |
 45     +-------------+         +-------------+
 46 
 47 To use this mode, in the device tree, omit the ``cnv-gpios`` and
 48 ``spi-rx-bus-width`` properties.
 49 
 50 Channel configuration
 51 ---------------------
 52 
 53 Since the chip supports multiple ways to configure each channel, this must be
 54 described in the device tree based on what is actually wired up to the inputs.
 55 
 56 There are three typical configurations:
 57 
 58 An ``INx`` pin is used as the positive input with the ``REFGND``, ``COM`` or
 59 the next ``INx`` pin as the negative input.
 60 
 61 Pairing with REFGND
 62 ^^^^^^^^^^^^^^^^^^^
 63 
 64 Each ``INx`` pin can be used as a pseudo-differential input in conjunction with
 65 the ``REFGND`` pin. The device tree will look like this:
 66 
 67 .. code-block::
 68 
 69     channel@0 {
 70         reg = <0>; /* IN0 */
 71     };
 72 
 73 If no other channel properties are needed (e.g. ``adi,no-high-z``), the channel
 74 node can be omitted entirely.
 75 
 76 This will appear on the IIO bus as the ``voltage0`` channel. The processed value
 77 (*raw × scale*) will be the voltage present on the ``IN0`` pin relative to
 78 ``REFGND``. (Offset is always 0 when pairing with ``REFGND``.)
 79 
 80 Pairing with COM
 81 ^^^^^^^^^^^^^^^^
 82 
 83 Each ``INx`` pin can be used as a pseudo-differential input in conjunction with
 84 the ``COM`` pin. The device tree will look like this:
 85 
 86 .. code-block::
 87 
 88     com-supply = <&vref_div_2>;
 89 
 90     channel@1 {
 91         reg = <1>; /* IN1 */
 92         common-mode-channel = <AD4695_COMMON_MODE_COM>;
 93         bipolar;
 94     };
 95 
 96 This will appear on the IIO bus as the ``voltage1`` channel. The processed value
 97 (*(raw + offset) × scale*) will be the voltage measured on the ``IN1`` pin
 98 relative to ``REFGND``. (The offset is determined by the ``com-supply`` voltage.)
 99 
100 The macro comes from:
101 
102 .. code-block::
103 
104     #include <dt-bindings/iio/adi,ad4695.h>
105 
106 Pairing two INx pins
107 ^^^^^^^^^^^^^^^^^^^^
108 
109 An even-numbered ``INx`` pin and the following odd-numbered ``INx`` pin can be
110 used as a pseudo-differential input. The device tree for using ``IN2`` as the
111 positive input and ``IN3`` as the negative input will look like this:
112 
113 .. code-block::
114 
115     in3-supply = <&vref_div_2>;
116 
117     channel@2 {
118         reg = <2>; /* IN2 */
119         common-mode-channel = <3>; /* IN3 */
120         bipolar;
121     };
122 
123 This will appear on the IIO bus as the ``voltage2`` channel. The processed value
124 (*(raw + offset) × scale*) will be the voltage measured on the ``IN1`` pin
125 relative to ``REFGND``. (Offset is determined by the ``in3-supply`` voltage.)
126 
127 VCC supply
128 ----------
129 
130 The chip supports being powered by an external LDO via the ``VCC`` input or an
131 internal LDO via the ``LDO_IN`` input. The driver looks at the device tree to
132 determine which is being used. If ``ldo-supply`` is present, then the internal
133 LDO is used. If ``vcc-supply`` is present, then the external LDO is used and
134 the internal LDO is disabled.
135 
136 Reference voltage
137 -----------------
138 
139 The chip supports an external reference voltage via the ``REF`` input or an
140 internal buffered reference voltage via the ``REFIN`` input. The driver looks
141 at the device tree to determine which is being used. If ``ref-supply`` is
142 present, then the external reference voltage is used and the internal buffer is
143 disabled. If ``refin-supply`` is present, then the internal buffered reference
144 voltage is used.
145 
146 Gain/offset calibration
147 -----------------------
148 
149 System calibration is supported using the channel gain and offset registers via
150 the ``calibscale`` and ``calibbias`` attributes respectively.
151 
152 Unimplemented features
153 ----------------------
154 
155 - Additional wiring modes
156 - Threshold events
157 - Oversampling
158 - GPIO support
159 - CRC support
160 
161 Device buffers
162 ==============
163 
164 This driver supports hardware triggered buffers. This uses the "advanced
165 sequencer" feature of the chip to trigger a burst of conversions.
166 
167 Also see :doc:`iio_devbuf` for more general information.

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php