From: Jonathan Cameron <jic23@kernel.org>
To: Janani Sunil <janani.sunil@analog.com>
Cc: "Nuno Sá" <nuno.sa@analog.com>,
"Michael Hennerich" <Michael.Hennerich@analog.com>,
"David Lechner" <dlechner@baylibre.com>,
"Andy Shevchenko" <andy@kernel.org>,
"Rob Herring" <robh@kernel.org>,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
"Olivier Moysan" <olivier.moysan@foss.st.com>,
"Philipp Zabel" <p.zabel@pengutronix.de>,
"Linus Walleij" <linusw@kernel.org>,
"Bartosz Golaszewski" <brgl@kernel.org>,
"Jonathan Corbet" <corbet@lwn.net>,
"Shuah Khan" <skhan@linuxfoundation.org>,
"Michael Walle" <mwalle@kernel.org>,
linux@analog.com, linux-iio@vger.kernel.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-gpio@vger.kernel.org, linux-doc@vger.kernel.org,
jananisunil.dev@gmail.com,
"Uwe Kleine-König" <u.kleine-koenig@baylibre.com>
Subject: Re: [PATCH v4 05/14] iio: adc: Add AD7768 and AD7768-4 core support
Date: Sun, 23 Aug 2026 20:16:22 +0100 [thread overview]
Message-ID: <20260823201622.79ab691b@jic23-huawei> (raw)
In-Reply-To: <20260821-ad7768-driver-v4-5-bb8fbd06d4eb@analog.com>
On Fri, 21 Aug 2026 16:06:58 +0200
Janani Sunil <janani.sunil@analog.com> wrote:
> Add core support for the AD7768 and AD7768-4 simultaneous sampling ADCs.
> Configure supplies, clock and reset, use a custom regmap bus for the SPI
> protocol, and parse the enabled channels and input buffer settings from
> devicetree.
>
> Connect the converter to an IIO backend for buffered capture with CRC,
> provide a fixed safe wideband sampling configuration and add runtime
> power management.
>
> Signed-off-by: Janani Sunil <janani.sunil@analog.com>
One trivial thing from me. In general this is coming together nicely.
> diff --git a/drivers/iio/adc/ad7768.c b/drivers/iio/adc/ad7768.c
> new file mode 100644
> index 000000000000..34233ad6cfca
> --- /dev/null
> +++ b/drivers/iio/adc/ad7768.c
> +static int ad7768_reset(struct ad7768_state *st)
> +{
> + struct device *dev = regmap_get_device(st->regmap);
> + struct reset_control *reset_ctrl;
> + unsigned long reset_low_us;
> + unsigned long mclk;
> + int ret;
> +
> + reset_ctrl = devm_reset_control_get_optional_exclusive(dev, NULL);
> + if (IS_ERR(reset_ctrl))
> + return PTR_ERR(reset_ctrl);
> +
> + if (reset_ctrl) {
> + mclk = clk_get_rate(st->mclk);
> + if (!mclk)
> + return -EINVAL;
> +
> + /*
> + * Minimum RESET low pulse width: 2 x tMCLK
> + * (datasheet Table 1).
> + */
> + reset_low_us = DIV_ROUND_UP_ULL(2ULL * USEC_PER_SEC, mclk);
> +
> + ret = reset_control_assert(reset_ctrl);
> + if (ret)
> + return ret;
> +
> + fsleep(max_t(unsigned long, 1, reset_low_us));
David covered this I think. We should very rarely see the _t
variants in use in modern code.
> +
> + ret = reset_control_deassert(reset_ctrl);
> + if (ret)
> + return ret;
> + } else {
> + ret = regmap_write(st->regmap, AD7768_REG_DATA_CONTROL,
> + AD7768_DATA_CONTROL_SPI_RESET_1);
> + if (ret)
> + return ret;
> +
> + ret = regmap_write(st->regmap, AD7768_REG_DATA_CONTROL,
> + AD7768_DATA_CONTROL_SPI_RESET_2);
> + if (ret)
> + return ret;
> + }
> +
> + /* ADC start-up time after reset: 1.66 ms max (datasheet Table 1) */
> + fsleep(2000);
If it's 1.66 ms why not
fsleep(1660);
?
> +
> + return 0;
> +}
next prev parent reply other threads:[~2026-08-23 19:16 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-21 14:06 [PATCH v4 00/14] iio: adc: Add AD7768/AD7768-4 ADC driver support Janani Sunil
2026-08-21 14:06 ` [PATCH v4 01/14] iio: adc: adi-axi-adc: Initialize state mutex Janani Sunil
2026-08-23 18:52 ` Jonathan Cameron
2026-08-23 19:05 ` Jonathan Cameron
2026-08-21 14:06 ` [PATCH v4 02/14] dt-bindings: iio: adc: Add AD7768 Janani Sunil
2026-08-21 15:57 ` David Lechner
2026-08-23 1:45 ` Jonathan Cameron
2026-08-21 14:06 ` [PATCH v4 03/14] iio: backend: Add support for CRC Janani Sunil
2026-08-21 16:02 ` David Lechner
2026-08-21 14:06 ` [PATCH v4 04/14] iio: adc: adi-axi-adc: " Janani Sunil
2026-08-21 16:03 ` David Lechner
2026-08-21 14:06 ` [PATCH v4 05/14] iio: adc: Add AD7768 and AD7768-4 core support Janani Sunil
2026-08-22 17:30 ` David Lechner
2026-08-23 8:35 ` Andy Shevchenko
2026-08-25 10:43 ` Janani Sunil
2026-08-23 19:16 ` Jonathan Cameron [this message]
2026-08-21 14:06 ` [PATCH v4 06/14] iio: adc: ad7768: Add configurable sampling modes Janani Sunil
2026-08-23 19:25 ` Jonathan Cameron
2026-08-24 6:43 ` Andy Shevchenko
2026-08-21 14:07 ` [PATCH v4 07/14] iio: adc: ad7768: Add calibration controls Janani Sunil
2026-08-24 6:50 ` Andy Shevchenko
2026-08-21 14:07 ` [PATCH v4 08/14] iio: adc: ad7768: Add per-channel conversion delay Janani Sunil
2026-08-24 7:10 ` Andy Shevchenko
2026-08-25 13:17 ` Janani Sunil
2026-08-21 14:07 ` [PATCH v4 09/14] iio: adc: ad7768: Add VCM regulator support Janani Sunil
2026-08-24 7:13 ` Andy Shevchenko
2026-08-21 14:07 ` [PATCH v4 10/14] iio: adc: ad7768: Register GPIO auxiliary device Janani Sunil
2026-08-21 14:07 ` [PATCH v4 11/14] gpio: regmap: Use regmap_test_bits() for single bit reads Janani Sunil
2026-08-24 7:47 ` Andy Shevchenko
2026-08-21 14:07 ` [PATCH v4 12/14] gpio: regmap: Add optional runtime PM support Janani Sunil
2026-08-24 8:05 ` Andy Shevchenko
2026-08-25 13:50 ` Janani Sunil
2026-08-21 14:07 ` [PATCH v4 13/14] gpio: ad7768: Add AD7768 GPIO auxiliary driver Janani Sunil
2026-08-23 19:39 ` Jonathan Cameron
2026-08-24 8:13 ` Andy Shevchenko
2026-08-25 19:37 ` Linus Walleij
2026-08-24 8:10 ` Andy Shevchenko
2026-08-25 19:40 ` Linus Walleij
2026-08-21 14:07 ` [PATCH v4 14/14] Documentation: iio: Add AD7768 Documentation Janani Sunil
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=20260823201622.79ab691b@jic23-huawei \
--to=jic23@kernel.org \
--cc=Michael.Hennerich@analog.com \
--cc=andy@kernel.org \
--cc=brgl@kernel.org \
--cc=conor+dt@kernel.org \
--cc=corbet@lwn.net \
--cc=devicetree@vger.kernel.org \
--cc=dlechner@baylibre.com \
--cc=janani.sunil@analog.com \
--cc=jananisunil.dev@gmail.com \
--cc=krzk+dt@kernel.org \
--cc=linusw@kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@analog.com \
--cc=mwalle@kernel.org \
--cc=nuno.sa@analog.com \
--cc=olivier.moysan@foss.st.com \
--cc=p.zabel@pengutronix.de \
--cc=robh@kernel.org \
--cc=skhan@linuxfoundation.org \
--cc=u.kleine-koenig@baylibre.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.