From: Jonathan Cameron <jic23@kernel.org>
To: Guillaume Stols <gstols@baylibre.com>
Cc: "Uwe Kleine-König" <ukleinek@kernel.org>,
"Lars-Peter Clausen" <lars@metafoo.de>,
"Michael Hennerich" <Michael.Hennerich@analog.com>,
"Rob Herring" <robh@kernel.org>,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
"Rafael J. Wysocki" <rafael@kernel.org>,
"Jonathan Corbet" <corbet@lwn.net>,
"Michal Marek" <mmarek@suse.com>,
linux-pwm@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-fbdev@vger.kernel.org, linux-iio@vger.kernel.org,
devicetree@vger.kernel.org, linux-doc@vger.kernel.org,
aardelean@baylibre.com, dlechner@baylibre.com,
jstephan@baylibre.com
Subject: Re: [PATCH v2 04/10] Documentation: iio: Document ad7606 driver
Date: Sun, 29 Sep 2024 13:33:49 +0100 [thread overview]
Message-ID: <20240929133349.50f7f510@jic23-huawei> (raw)
In-Reply-To: <20240920-ad7606_add_iio_backend_support-v2-4-0e78782ae7d0@baylibre.com>
On Fri, 20 Sep 2024 17:33:24 +0000
Guillaume Stols <gstols@baylibre.com> wrote:
> The Analog Devices Inc. AD7606 (and similar chips) are complex ADCs that
> will benefit from a detailed driver documentation.
>
> This documents the current features supported by the driver.
>
> Signed-off-by: Guillaume Stols <gstols@baylibre.com>
> ---
> Documentation/iio/ad7606.rst | 143 +++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 143 insertions(+)
>
> diff --git a/Documentation/iio/ad7606.rst b/Documentation/iio/ad7606.rst
> new file mode 100644
> index 000000000000..270a49aae685
> --- /dev/null
> +++ b/Documentation/iio/ad7606.rst
> @@ -0,0 +1,143 @@
> +.. SPDX-License-Identifier: GPL-2.0-only
> +
> +=============
> +AD7606 driver
> +=============
> +
> +ADC driver for Analog Devices Inc. AD7606 and similar devices. The module name
> +is ``ad7606``.
> +
> +Supported devices
> +=================
> +
> +The following chips are supported by this driver:
> +
> +* `AD7605 <https://www.analog.com/en/products/ad7605.html>`_
> +* `AD7606 <https://www.analog.com/en/products/ad7606.html>`_
> +* `AD7606B <https://www.analog.com/en/products/ad7606b.html>`_
> +* `AD7616 <https://www.analog.com/en/products/ad7616.html>`_
> +
> +Supported features
> +==================
> +
> +SPI wiring modes
> +----------------
> +
> +ad7606x ADCs can output data on several SDO lines (1/2/4/8). The driver
> +currently supports only 1 SDO line.
> +
> +Parallel wiring mode
> +--------------------
> +
> +AD7606x ADC have also a parallel interface, with 16 lines (that can be reduced
If intent here is AD7606 and AD7606B only as covered by that wildcard, then
I'd just state them both explicitly. If the others are intended that wildcard
is wrong. If it's all of them, just say These ADCs
> +to 8 in byte mode). The parallel interface is selected by declaring the device
> +as platform in the device tree (with no io-backends node defined, see below).
> +
> +IIO-backend mode
> +----------------
> +
> +This mode allows to reach the best sample rates, but it requires an external
> +hardware (eg HDL or APU) to handle the low level communication.
> +The backend mode is enabled when through the definition of the "io-backends"
> +property in the device tree.
> +
> +The reference configuration for the current implementation of IIO-backend mode
> +is the HDL reference provided by ADI:
> +https://wiki.analog.com/resources/eval/user-guides/ad7606x-fmc/hdl
> +
> +This implementation embeds an IIO-backend compatible IP (adi-axi-adc) and a PWM
> +connected to the conversion trigger pin.
> +
> ++---+ +----------------------------
> +| | +-------+ |AD76xx
> +| A | controls | | |
> +| D |-------------->| PWM |-------------->| cnvst
> +| 7 | | | |
> +| 6 | +-------+ |
> +| 0 | controls +-----------+-----------+ |
> +| 6 |---------->| | |<--| frstdata
> +| | | Backend | Backend |<--| busy
> +| D | | Driver | | |
> +| R | | | |-->| clk
> +| I | requests |+---------+| DMA | |
> +| V |----------->| Buffer ||<---- |<=>| DATA
> +| E | |+---------+| | |
> +| R | +-----------+-----------+ |
> +| |-------------------------------------->| reset/configuration gpios
> ++---+ +-----------------------------
> +
I think we should introduce an annual award for best kernel ASCII art.
This one is nice.
> +IIO backend buffer
> +------------------
> +
> +When IIO backend is used, the trigger is not needed, and the sample rate is
> +considered as stable, hence there is no timestamp channel.
That's a dodge I think. There is no timestamp because we have no way to insert
one into the DMA buffer! I'd drop the hence
"stable. There is no timestamp channel."
> The communication is
> +delegated to an external logic, called a backend, and the backend's driver
> +handles the buffer. When this mode is enabled, the driver cannot control the
> +conversion pin, because the busy pin is bound to the backend.
> +
Nice docs in general.
Jonathan
next prev parent reply other threads:[~2024-09-29 12:33 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-20 17:33 [PATCH v2 00/10] Add iio backend compatibility for ad7606 Guillaume Stols
2024-09-20 17:33 ` [PATCH v2 01/10] dt-bindings: iio: adc: ad7606: Set the correct polarity Guillaume Stols
2024-09-21 9:11 ` Uwe Kleine-König
2024-09-29 12:23 ` Jonathan Cameron
2024-09-20 17:33 ` [PATCH v2 02/10] dt-bindings: iio: adc: ad7606: Make corrections on spi conditions Guillaume Stols
2024-09-21 21:55 ` Conor Dooley
2024-09-24 14:41 ` Guillaume Stols
2024-09-24 14:59 ` Conor Dooley
2024-09-25 15:28 ` Guillaume Stols
2024-09-29 12:27 ` Jonathan Cameron
2024-09-20 17:33 ` [PATCH v2 03/10] dt-bindings: iio: adc: ad7606: Add iio backend bindings Guillaume Stols
2024-09-21 22:19 ` Conor Dooley
2024-09-20 17:33 ` [PATCH v2 04/10] Documentation: iio: Document ad7606 driver Guillaume Stols
2024-09-29 12:33 ` Jonathan Cameron [this message]
2024-09-20 17:33 ` [PATCH v2 05/10] iio: adc: ad7606: Sort includes in alphabetical order Guillaume Stols
2024-09-20 17:33 ` [PATCH v2 06/10] iio: adc: ad7606: Add PWM support for conversion trigger Guillaume Stols
2024-09-29 12:39 ` Jonathan Cameron
2024-09-20 17:33 ` [PATCH v2 07/10] iio: adc: ad7606: Add compatibility to fw_nodes Guillaume Stols
2024-09-24 15:28 ` David Lechner
2024-09-25 8:40 ` Guillaume Stols
2024-09-29 12:44 ` Jonathan Cameron
2024-10-02 0:12 ` Guillaume Stols
2024-10-04 14:25 ` Jonathan Cameron
2024-10-04 15:10 ` Guillaume Stols
2024-09-20 17:33 ` [PATCH v2 08/10] iio: adc: ad7606: Fix typo in the driver name Guillaume Stols
2024-09-29 12:44 ` Jonathan Cameron
2024-09-20 17:33 ` [PATCH v2 09/10] iio: adc: ad7606: Add iio-backend support Guillaume Stols
2024-09-23 9:40 ` David Lechner
2024-09-29 12:54 ` Jonathan Cameron
2024-09-20 17:33 ` [PATCH v2 10/10] iio: adc: ad7606: Disable PWM usage for non backend version Guillaume Stols
2024-09-23 8:34 ` David Lechner
2024-09-29 12:56 ` Jonathan Cameron
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240929133349.50f7f510@jic23-huawei \
--to=jic23@kernel.org \
--cc=Michael.Hennerich@analog.com \
--cc=aardelean@baylibre.com \
--cc=conor+dt@kernel.org \
--cc=corbet@lwn.net \
--cc=devicetree@vger.kernel.org \
--cc=dlechner@baylibre.com \
--cc=gregkh@linuxfoundation.org \
--cc=gstols@baylibre.com \
--cc=jstephan@baylibre.com \
--cc=krzk+dt@kernel.org \
--cc=lars@metafoo.de \
--cc=linux-doc@vger.kernel.org \
--cc=linux-fbdev@vger.kernel.org \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pwm@vger.kernel.org \
--cc=mmarek@suse.com \
--cc=rafael@kernel.org \
--cc=robh@kernel.org \
--cc=ukleinek@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox