Devicetree
 help / color / mirror / Atom feed
From: Marcelo Schmitt <marcelo.schmitt1@gmail.com>
To: Jonathan Santos <Jonathan.Santos@analog.com>
Cc: linux-iio@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org,
	Sergiu Cuciurean <sergiu.cuciurean@analog.com>,
	lars@metafoo.de, Michael.Hennerich@analog.com,
	marcelo.schmitt@analog.com, jic23@kernel.org, robh@kernel.org,
	krzk+dt@kernel.org, conor+dt@kernel.org,
	linus.walleij@linaro.org, brgl@bgdev.pl, lgirdwood@gmail.com,
	broonie@kernel.org, dlechner@baylibre.com, jonath4nns@gmail.com
Subject: Re: [PATCH v4 09/17] iio: adc: ad7768-1: Add reset gpio
Date: Fri, 7 Mar 2025 10:42:09 -0300	[thread overview]
Message-ID: <Z8r3sR740CpZfVFr@debian-BULLSEYE-live-builder-AMD64> (raw)
In-Reply-To: <305f0bb4a90aba547de6b46d4c9dcf04a2a4db72.1741268122.git.Jonathan.Santos@analog.com>

On 03/06, Jonathan Santos wrote:
> From: Sergiu Cuciurean <sergiu.cuciurean@analog.com>
> 
> Depending on the controller, the default state of a gpio can vary. This
> change excludes the probability that the dafult state of the ADC reset
> gpio will be HIGH if it will be passed as reference in the devicetree.

The description doesn't seem to match the changes nor the patch title. You are
essentinally adding support for hardware reset. Change the commit description to
reflect that.

The default state of GPIOs would not impact device reset because (in theory)
they weren't being connected to the reset pin prevously.

> 
> Reviewed-by: David Lechner <dlechner@baylibre.com>
> Reviewed-by: Marcelo Schmitt <marcelo.schmitt@analog.com>
> Signed-off-by: Sergiu Cuciurean <sergiu.cuciurean@analog.com>
> Co-developed-by: Jonathan Santos <Jonathan.Santos@analog.com>
> Signed-off-by: Jonathan Santos <Jonathan.Santos@analog.com>
> ---
> v4 Changes:
> * None.
> 
> v3 Changes:
> * fixed SoB order.
> * increased delay after finishing the reset action to 200us, as the
>   datasheet recommends.
> 
> v2 Changes:
> * Replaced usleep_range() for fsleep() and gpiod_direction_output() for 
>   gpiod_set_value_cansleep().
> * Reset via SPI register is performed if the Reset GPIO is not defined. 
> ---
>  drivers/iio/adc/ad7768-1.c | 36 ++++++++++++++++++++++++------------
>  1 file changed, 24 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/iio/adc/ad7768-1.c b/drivers/iio/adc/ad7768-1.c
> index 04a26e5b7d5c..86f44d28c478 100644
> --- a/drivers/iio/adc/ad7768-1.c
> +++ b/drivers/iio/adc/ad7768-1.c
> @@ -166,6 +166,7 @@ struct ad7768_state {
>  	struct completion completion;
>  	struct iio_trigger *trig;
>  	struct gpio_desc *gpio_sync_in;
> +	struct gpio_desc *gpio_reset;
>  	const char *labels[ARRAY_SIZE(ad7768_channels)];
>  	/*
>  	 * DMA (thus cache coherency maintenance) may require the
> @@ -487,19 +488,30 @@ static int ad7768_setup(struct ad7768_state *st)
>  {
>  	int ret;
>  
> -	/*
> -	 * Two writes to the SPI_RESET[1:0] bits are required to initiate
> -	 * a software reset. The bits must first be set to 11, and then
> -	 * to 10. When the sequence is detected, the reset occurs.
> -	 * See the datasheet, page 70.
> -	 */
> -	ret = regmap_write(st->regmap, AD7768_REG_SYNC_RESET, 0x3);
> -	if (ret)
> -		return ret;
> +	st->gpio_reset = devm_gpiod_get_optional(&st->spi->dev, "reset",
> +						 GPIOD_OUT_HIGH);
> +	if (IS_ERR(st->gpio_reset))
> +		return PTR_ERR(st->gpio_reset);
>  
> -	ret = regmap_write(st->regmap, AD7768_REG_SYNC_RESET, 0x2);
> -	if (ret)
> -		return ret;
> +	if (st->gpio_reset) {
> +		fsleep(10);
> +		gpiod_set_value_cansleep(st->gpio_reset, 0);
> +		fsleep(200);
> +	} else {
> +		/*
> +		 * Two writes to the SPI_RESET[1:0] bits are required to initiate
> +		 * a software reset. The bits must first be set to 11, and then
> +		 * to 10. When the sequence is detected, the reset occurs.
> +		 * See the datasheet, page 70.
> +		 */
> +		ret = regmap_write(st->regmap, AD7768_REG_SYNC_RESET, 0x3);
> +		if (ret)
> +			return ret;
> +
> +		ret = regmap_write(st->regmap, AD7768_REG_SYNC_RESET, 0x2);
> +		if (ret)
> +			return ret;
> +	}
>  
>  	st->gpio_sync_in = devm_gpiod_get(&st->spi->dev, "adi,sync-in",
>  					  GPIOD_OUT_LOW);
> -- 
> 2.34.1
> 

  reply	other threads:[~2025-03-07 13:41 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-06 21:00 [PATCH v4 00/17] iio: adc: ad7768-1: Add features, improvements, and fixes Jonathan Santos
2025-03-06 21:00 ` [PATCH v4 01/17] iio: adc: ad7768-1: Fix conversion result sign Jonathan Santos
2025-03-08 13:13   ` Jonathan Cameron
2025-03-06 21:00 ` [PATCH v4 02/17] iio: adc: ad7768-1: set MOSI idle state to prevent accidental reset Jonathan Santos
2025-03-07 12:06   ` Marcelo Schmitt
2025-03-08 13:15     ` Jonathan Cameron
2025-03-31 13:16     ` Jonathan Santos
2025-03-06 21:00 ` [PATCH v4 03/17] dt-bindings: iio: adc: ad7768-1: add trigger-sources property Jonathan Santos
2025-03-08 13:17   ` Jonathan Cameron
2025-04-01 16:15   ` David Lechner
2025-03-06 21:01 ` [PATCH v4 04/17] dt-bindings: iio: adc: ad7768-1: Document GPIO controller Jonathan Santos
2025-03-07 13:46   ` Bartosz Golaszewski
2025-03-14 10:22   ` Linus Walleij
2025-03-06 21:01 ` [PATCH v4 05/17] dt-bindings: iio: adc: ad7768-1: document regulator provider property Jonathan Santos
2025-04-01 16:20   ` David Lechner
2025-03-06 21:01 ` [PATCH v4 06/17] Documentation: ABI: add wideband filter type to sysfs-bus-iio Jonathan Santos
2025-03-07 12:45   ` Marcelo Schmitt
2025-03-08 13:20     ` Jonathan Cameron
2025-03-06 21:01 ` [PATCH v4 07/17] iio: adc: ad7768-1: remove unnecessary locking Jonathan Santos
2025-03-08 13:24   ` Jonathan Cameron
2025-03-06 21:02 ` [PATCH v4 08/17] iio: adc: ad7768-1: convert driver to use regmap Jonathan Santos
2025-03-07 13:20   ` Marcelo Schmitt
2025-03-08 13:27     ` Jonathan Cameron
2025-04-01 16:31   ` David Lechner
2025-04-01 16:38     ` David Lechner
2025-03-06 21:02 ` [PATCH v4 09/17] iio: adc: ad7768-1: Add reset gpio Jonathan Santos
2025-03-07 13:42   ` Marcelo Schmitt [this message]
2025-03-08 13:30     ` Jonathan Cameron
2025-03-06 21:02 ` [PATCH v4 10/17] iio: adc: ad7768-1: Move buffer allocation to a separate function Jonathan Santos
2025-03-07 13:52   ` Marcelo Schmitt
2025-03-08 13:33   ` Jonathan Cameron
2025-03-06 21:02 ` [PATCH v4 11/17] iio: adc: ad7768-1: add regulator to control VCM output Jonathan Santos
2025-03-07 14:32   ` Marcelo Schmitt
2025-03-08 13:08     ` Jonathan Cameron
2025-03-08 13:38   ` Jonathan Cameron
2025-03-06 21:03 ` [PATCH v4 12/17] iio: adc: ad7768-1: Add GPIO controller support Jonathan Santos
2025-03-07 13:45   ` Bartosz Golaszewski
2025-03-08 13:41   ` Jonathan Cameron
2025-04-04 21:12   ` Marcelo Schmitt
2025-03-06 21:03 ` [PATCH v4 13/17] iio: adc: ad7768-1: add multiple scan types to support 16-bits mode Jonathan Santos
2025-03-06 21:03 ` [PATCH v4 14/17] iio: adc: ad7768-1: add support for Synchronization over SPI Jonathan Santos
2025-04-01 17:02   ` David Lechner
2025-03-06 21:04 ` [PATCH v4 15/17] iio: adc: ad7768-1: replace manual attribute declaration Jonathan Santos
2025-03-07 14:49   ` Marcelo Schmitt
2025-04-01 17:05   ` David Lechner
2025-03-06 21:04 ` [PATCH v4 16/17] iio: adc: ad7768-1: add filter type and oversampling ratio attributes Jonathan Santos
2025-03-08 13:56   ` Jonathan Cameron
2025-04-01  0:18     ` Jonathan Santos
2025-04-06 10:49       ` Jonathan Cameron
2025-03-06 21:04 ` [PATCH v4 17/17] iio: adc: ad7768-1: add low pass -3dB cutoff attribute Jonathan Santos
2025-03-07 15:12   ` Marcelo Schmitt
2025-04-01 17:12   ` David Lechner

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=Z8r3sR740CpZfVFr@debian-BULLSEYE-live-builder-AMD64 \
    --to=marcelo.schmitt1@gmail.com \
    --cc=Jonathan.Santos@analog.com \
    --cc=Michael.Hennerich@analog.com \
    --cc=brgl@bgdev.pl \
    --cc=broonie@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dlechner@baylibre.com \
    --cc=jic23@kernel.org \
    --cc=jonath4nns@gmail.com \
    --cc=krzk+dt@kernel.org \
    --cc=lars@metafoo.de \
    --cc=lgirdwood@gmail.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=marcelo.schmitt@analog.com \
    --cc=robh@kernel.org \
    --cc=sergiu.cuciurean@analog.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox