summaryrefslogtreecommitdiff
path: root/Documentation/iio/ad3552r.rst
blob: f5d59e4e86c7ec8338f3f4e82d7a07587e3d8404 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
.. SPDX-License-Identifier: GPL-2.0-only

==============
AD3552R driver
==============

Device driver for Analog Devices Inc. AD35XXR series of DACs. The module name
is ``ad3552r``.
With the same module name, two different driver variants are available, the
``generic spi`` variant, to be used with any classic SPI controllers, and the
``hs`` (high speed) variant, for an ADI ``axi-dac`` (IP core) based controller
that allows to reach the maximum sample rate supported from the DACs, using the
DMA transfer and all the SPI lines available (D/QDSPI)..
The high speed driver variant is intended to be used with the ``adi-axi-dac``
backend support enabled, that is enabled by default when the driver is selected.

Supported devices
=================

* `AD3541R <https://www.analog.com/en/products/ad3541r.html>`_
* `AD3542R <https://www.analog.com/en/products/ad3542r.html>`_
* `AD3551R <https://www.analog.com/en/products/ad3551r.html>`_
* `AD3552R <https://www.analog.com/en/products/ad3552r.html>`_

Wiring connections
==================

Generic SPI
-----------
Use the classic SPI S_CLK/CS/SDO/SDI connection.

High speed (using axi-dac backend)
----------------------------------

::

    .-----------------.                .-------.
    |                 |--- D/QSPI -----|       |
    |   DAC IP CORE   |--- SPI S_CLK --|  DAC  |
    |                 |--- SPI CS -----|       |
    |                 |--- LDAC -------|       |
    |                 |--- RESET ------|       |
    |_________________|                |_______|


High speed features
===================

Device attributes
-----------------

The following table shows the ad35xxr related device debug files, found in the
specific debugfs path ``/sys/kernel/debug/iio/iio:deviceX``.

+-----------------------+------------------------------------------------------+
| Debugfs device files  | Description                                          |
+-----------------------+------------------------------------------------------+
| data_source           | The used data source, as                             |
|                       | ``normal``, ``ramp-16bit``, etc.                     |
+-----------------------+------------------------------------------------------+
| data_source_available | The available data sources.                          |
+-----------------------+------------------------------------------------------+

Usage examples
--------------

. code-block:: bash
	root:/sys/bus/iio/devices/iio:device0# cat data_source
	normal
	root:/sys/bus/iio/devices/iio:device0# echo -n ramp-16bit > data_source
	root:/sys/bus/iio/devices/iio:device0# cat data_source
	ramp-16bit