lkml.org 
[lkml]   [2022]   [Nov]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 5/5] iio: addac: ad74413r: add support for reset-gpio
On Tue, 15 Nov 2022 15:49:46 +0100
Nuno Sá <noname.nuno@gmail.com> wrote:

> On Mon, 2022-11-14 at 19:44 +0000, Jonathan Cameron wrote:
> > On Mon, 14 Nov 2022 13:52:26 +0000
> > "Tanislav, Cosmin" <Cosmin.Tanislav@analog.com> wrote:
> >
> > > > -----Original Message-----
> > > > From: Jonathan Cameron <jic23@kernel.org>
> > > > Sent: Saturday, November 12, 2022 7:07 PM
> > > > To: Rasmus Villemoes <linux@rasmusvillemoes.dk>
> > > > Cc: Tanislav, Cosmin <Cosmin.Tanislav@analog.com>; Lars-Peter
> > > > Clausen
> > > > <lars@metafoo.de>; Hennerich, Michael
> > > > <Michael.Hennerich@analog.com>;
> > > > 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
> > > >
> > > > [External]
> > > >
> > > > On Fri, 11 Nov 2022 15:39:21 +0100
> > > > Rasmus Villemoes <linux@rasmusvillemoes.dk> 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. 
> > > >
> > > > I'm a little confused on polarity here.  The pin is a !reset so
> > > > we need to drive it low briefly to trigger a reset.
> > > > I'm guessing for your board the pin is set to active low? (an
> > > > example
> > > > in the dt would have made that clearer) Hence the pulse
> > > > in here to 1 is actually briefly driving it low before restoring
> > > > to high?
> > > >
> > > > For a pin documented as !reset that seems backwards though you
> > > > have
> > > > called it reset so that is fine, but this description doesn't
> > > > make that
> > > > celar. 
> > >
> > > My opinion is that the driver shouldn't exactly know the polarity
> > > of the reset,
> > > and just assume that setting the reset GPIO to 1 means putting it
> > > in reset,
> > > and setting it to 0 means bringing out of reset.
> >
> > Agreed. I'd just like a comment + example in the dt-binding to make
> > the point
> > that the pin is !reset.
> >
> > Preferably with an example in the dt binding of the common case of it
> > being wired
> > up to an active low pin.
> >
> > The main oddity here is the need to pulse it rather than request it
> > directly as
> > in the reset state and then just set that to off.
> >
> >
>
> Agreed... In theory we should be able to request the gpio with
> GPIOD_OUT_HIGH and then just bring the device out of reset

If I recall correctly the datasheet specifically calls out that a pulse
should be used. No idea if that's actually true, or if it was meant
to be there just to say it needs to be set for X nsecs.

Jonathan

>
> - Nuno Sá
>

\
 
 \ /
  Last update: 2022-11-15 17:12    [W:0.068 / U:0.680 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site