From: "Nuno Sá" <noname.nuno@gmail.com>
To: Rasmus Villemoes <linux@rasmusvillemoes.dk>,
Cosmin Tanislav <cosmin.tanislav@analog.com>,
Lars-Peter Clausen <lars@metafoo.de>,
Michael Hennerich <Michael.Hennerich@analog.com>,
Jonathan Cameron <jic23@kernel.org>
Cc: devicetree@vger.kernel.org, Rob Herring <robh+dt@kernel.org>,
linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 5/5] iio: addac: ad74413r: add support for reset-gpio
Date: Tue, 15 Nov 2022 15:53:06 +0100 [thread overview]
Message-ID: <27be5a5bf23fbea31d82cf2e7b3f9747d7c610eb.camel@gmail.com> (raw)
In-Reply-To: <20221111143921.742194-6-linux@rasmusvillemoes.dk>
On Fri, 2022-11-11 at 15:39 +0100, Rasmus Villemoes wrote:
> We have a board where the reset pin of the ad74412 is connected to a
> gpio, but also pulled low by default. Hence to get the chip out of
> reset, the driver needs to know about that gpio and set it high
> before
> attempting to communicate with it.
>
> When a reset-gpio is given in device tree, use that instead of the
> software reset. According to the data sheet, the two methods are
> functionally equivalent.
>
> Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
> ---
> drivers/iio/addac/ad74413r.c | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/drivers/iio/addac/ad74413r.c
> b/drivers/iio/addac/ad74413r.c
> index 9f77d2f514de..af09d43f921c 100644
> --- a/drivers/iio/addac/ad74413r.c
> +++ b/drivers/iio/addac/ad74413r.c
> @@ -71,6 +71,7 @@ struct ad74413r_state {
> struct regmap *regmap;
> struct device *dev;
> struct iio_trigger *trig;
> + struct gpio_desc *reset_gpio;
>
> size_t adc_active_channels;
> struct spi_message adc_samples_msg;
> @@ -393,6 +394,13 @@ static int ad74413r_reset(struct ad74413r_state
> *st)
> {
> int ret;
>
> + if (st->reset_gpio) {
> + gpiod_set_value_cansleep(st->reset_gpio, 1);
> + fsleep(50);
> + gpiod_set_value_cansleep(st->reset_gpio, 0);
> + return 0;
> + }
> +
> ret = regmap_write(st->regmap, AD74413R_REG_CMD_KEY,
> AD74413R_CMD_KEY_RESET1);
> if (ret)
> @@ -1316,6 +1324,10 @@ static int ad74413r_probe(struct spi_device
> *spi)
> if (IS_ERR(st->regmap))
> return PTR_ERR(st->regmap);
>
> + st->reset_gpio = devm_gpiod_get_optional(st->dev, "reset",
> GPIOD_OUT_LOW);
> + if (IS_ERR(st->reset_gpio))
> + return PTR_ERR(st->reset_gpio);
> +
Minor thing but,
I would move this into ad74413r_reset() as there's no real need to have
the gpio_desc in struct ad74413r_state.
- Nuno Sá
next prev parent reply other threads:[~2022-11-15 14:52 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-11 14:39 [PATCH 0/5] iio: addac: ad74413r: various fixups Rasmus Villemoes
2022-11-11 14:39 ` [PATCH 1/5] iio: addac: ad74413r: add spi_device_id table Rasmus Villemoes
2022-11-12 16:50 ` Jonathan Cameron
2022-11-14 8:02 ` Rasmus Villemoes
2022-11-14 19:39 ` Jonathan Cameron
2022-11-11 14:39 ` [PATCH 2/5] dt-bindings: iio: ad74413r: make refin-supply optional Rasmus Villemoes
2022-11-12 16:54 ` Jonathan Cameron
2022-11-14 8:10 ` Rasmus Villemoes
2022-11-11 14:39 ` [PATCH 3/5] iio: addac: ad74413r: implement support for optional refin-supply Rasmus Villemoes
2022-11-12 16:56 ` Jonathan Cameron
2022-11-11 14:39 ` [PATCH 4/5] dt-bindings: iio: ad74413r: add optional reset-gpios Rasmus Villemoes
2022-11-12 17:00 ` Jonathan Cameron
2022-11-11 14:39 ` [PATCH 5/5] iio: addac: ad74413r: add support for reset-gpio Rasmus Villemoes
2022-11-12 17:07 ` Jonathan Cameron
2022-11-14 8:37 ` Rasmus Villemoes
2022-11-14 19:41 ` Jonathan Cameron
2022-11-14 13:52 ` Tanislav, Cosmin
2022-11-14 19:44 ` Jonathan Cameron
2022-11-15 14:49 ` Nuno Sá
2022-11-15 16:10 ` Jonathan Cameron
2022-11-15 19:10 ` Rasmus Villemoes
2022-11-16 10:22 ` Jonathan Cameron
2022-11-16 12:06 ` Nuno Sá
2022-11-18 11:21 ` Rasmus Villemoes
2022-11-15 14:53 ` Nuno Sá [this message]
2022-11-15 9:55 ` [PATCH v2 0/3] iio: addac: ad74413r: add spi device id table, support reset gpio Rasmus Villemoes
2022-11-15 9:55 ` [PATCH v2 1/3] iio: addac: ad74413r: add spi_device_id table Rasmus Villemoes
2022-11-15 9:55 ` [PATCH v2 2/3] dt-bindings: iio: ad74413r: add optional reset-gpios Rasmus Villemoes
2022-11-15 10:12 ` Krzysztof Kozlowski
2022-11-15 9:55 ` [PATCH v2 3/3] iio: addac: ad74413r: add support for reset-gpio Rasmus Villemoes
2022-11-23 20:55 ` [PATCH v2 0/3] iio: addac: ad74413r: add spi device id table, support reset gpio 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=27be5a5bf23fbea31d82cf2e7b3f9747d7c610eb.camel@gmail.com \
--to=noname.nuno@gmail.com \
--cc=Michael.Hennerich@analog.com \
--cc=cosmin.tanislav@analog.com \
--cc=devicetree@vger.kernel.org \
--cc=jic23@kernel.org \
--cc=lars@metafoo.de \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@rasmusvillemoes.dk \
--cc=robh+dt@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;
as well as URLs for NNTP newsgroup(s).