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

TOMOYO Linux Cross Reference
Linux/Documentation/iio/ad7380.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 AD7380 driver
  5 =============
  6 
  7 ADC driver for Analog Devices Inc. AD7380 and similar devices. The module name
  8 is ``ad7380``.
  9 
 10 
 11 Supported devices
 12 =================
 13 
 14 The following chips are supported by this driver:
 15 
 16 * `AD7380 <https://www.analog.com/en/products/ad7380.html>`_
 17 * `AD7381 <https://www.analog.com/en/products/ad7381.html>`_
 18 * `AD7383 <https://www.analog.com/en/products/ad7383.html>`_
 19 * `AD7384 <https://www.analog.com/en/products/ad7384.html>`_
 20 * `AD7386 <https://www.analog.com/en/products/ad7386.html>`_
 21 * `AD7387 <https://www.analog.com/en/products/ad7387.html>`_
 22 * `AD7388 <https://www.analog.com/en/products/ad7388.html>`_
 23 * `AD7380-4 <https://www.analog.com/en/products/ad7380-4.html>`_
 24 * `AD7381-4 <https://www.analog.com/en/products/ad7381-4.html>`_
 25 * `AD7383-4 <https://www.analog.com/en/products/ad7383-4.html>`_
 26 * `AD7384-4 <https://www.analog.com/en/products/ad7384-4.html>`_
 27 * `AD7386-4 <https://www.analog.com/en/products/ad7386-4.html>`_
 28 * `AD7387-4 <https://www.analog.com/en/products/ad7387-4.html>`_
 29 * `AD7388-4 <https://www.analog.com/en/products/ad7388-4.html>`_
 30 
 31 
 32 Supported features
 33 ==================
 34 
 35 SPI wiring modes
 36 ----------------
 37 
 38 ad738x ADCs can output data on several SDO lines (1/2/4). The driver currently
 39 supports only 1 SDO line.
 40 
 41 Reference voltage
 42 -----------------
 43 
 44 ad7380-4
 45 ~~~~~~~~
 46 
 47 ad7380-4 supports only an external reference voltage (2.5V to 3.3V). It must be
 48 declared in the device tree as ``refin-supply``.
 49 
 50 All other devices from ad738x family
 51 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 52 
 53 All other devices from ad738x support 2 possible reference voltage sources:
 54 
 55 - Internal reference (2.5V)
 56 - External reference (2.5V to 3.3V)
 57 
 58 The source is determined by the device tree. If ``refio-supply`` is present,
 59 then it is used as external reference, else the internal reference is used.
 60 
 61 Oversampling and resolution boost
 62 ---------------------------------
 63 
 64 This family supports 2 types of oversampling: normal average and rolling
 65 average. Only normal average is supported by the driver, as rolling average can
 66 be achieved by processing a captured data buffer. The following ratios are
 67 available: 1 (oversampling disabled)/2/4/8/16/32.
 68 
 69 When the on-chip oversampling function is enabled the performance of the ADC can
 70 exceed the default resolution. To accommodate the performance boost achievable,
 71 it is possible to enable an additional two bits of resolution. Because the
 72 resolution boost feature can only be enabled when oversampling is enabled and
 73 oversampling is not as useful without the resolution boost, the driver
 74 automatically enables the resolution boost if and only if oversampling is
 75 enabled.
 76 
 77 Since the resolution boost feature causes 16-bit chips to now have 18-bit data
 78 which means the storagebits has to change from 16 to 32 bits, we use the new
 79 ext_scan_type feature to allow changing the scan_type at runtime. Unfortunately
 80 libiio does not support it. So when enabling or disabling oversampling, user
 81 must restart iiod using the following command:
 82 
 83 .. code-block:: bash
 84 
 85         root:~# systemctl restart iiod
 86 
 87 Channel selection and sequencer (single-end chips only)
 88 -------------------------------------------------------
 89 
 90 Single-ended chips of this family (ad7386/7/8(-4)) have a 2:1 multiplexer in
 91 front of each ADC. They also include additional configuration registers that
 92 allow for either manual selection or automatic switching (sequencer mode), of
 93 the multiplexer inputs.
 94 
 95 From an IIO point of view, all inputs are exported, i.e ad7386/7/8
 96 export 4 channels and ad7386-4/7-4/8-4 export 8 channels.
 97 
 98 Inputs ``AinX0`` of multiplexers correspond to the first half of IIO channels (i.e
 99 0-1 or 0-3) and inputs ``AinX1`` correspond to second half (i.e 2-3 or 4-7).
100 Example for AD7386/7/8 (2 channels parts):
101 
102 .. code-block::
103 
104            IIO   | AD7386/7/8
105                  |         +----------------------------
106                  |         |     _____        ______
107                  |         |    |     |      |      |
108         voltage0 | AinA0 --|--->|     |      |      |
109                  |         |    | mux |----->| ADCA |---
110         voltage2 | AinA1 --|--->|     |      |      |
111                  |         |    |_____|      |_____ |
112                  |         |     _____        ______
113                  |         |    |     |      |      |
114         voltage1 | AinB0 --|--->|     |      |      |
115                  |         |    | mux |----->| ADCB |---
116         voltage3 | AinB1 --|--->|     |      |      |
117                  |         |    |_____|      |______|
118                  |         |
119                  |         +----------------------------
120 
121 
122 When enabling sequencer mode, the effective sampling rate is divided by two.
123 
124 Unimplemented features
125 ----------------------
126 
127 - 2/4 SDO lines
128 - Rolling average oversampling
129 - Power down mode
130 - CRC indication
131 - Alert
132 
133 
134 Device buffers
135 ==============
136 
137 This driver supports IIO triggered buffers.
138 
139 See :doc:`iio_devbuf` for more 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