diff mbox series

[v4,3/7,media] ad5820: DT new optional field enable-gpios

Message ID 20180920204751.29117-3-ricardo.ribalda@gmail.com (mailing list archive)
State New, archived
Headers show
Series [v4,1/7,media] ad5820: Define entity function | expand

Commit Message

Ricardo Ribalda Delgado Sept. 20, 2018, 8:47 p.m. UTC
Document new enable-gpio field. It can be used to disable the part
without turning down its regulator.

Cc: devicetree@vger.kernel.org
Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
Acked-by: Pavel Machek <pavel@ucw.cz>
---
 Documentation/devicetree/bindings/media/i2c/ad5820.txt | 7 +++++++
 1 file changed, 7 insertions(+)

Comments

Rob Herring (Arm) Sept. 27, 2018, 6:23 p.m. UTC | #1
On Thu, Sep 20, 2018 at 10:47:47PM +0200, Ricardo Ribalda Delgado wrote:
> Document new enable-gpio field. It can be used to disable the part

enable-gpios

> without turning down its regulator.
> 
> Cc: devicetree@vger.kernel.org
> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
> Acked-by: Pavel Machek <pavel@ucw.cz>
> ---
>  Documentation/devicetree/bindings/media/i2c/ad5820.txt | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/media/i2c/ad5820.txt b/Documentation/devicetree/bindings/media/i2c/ad5820.txt
> index 5940ca11c021..9ccd96d3d5f0 100644
> --- a/Documentation/devicetree/bindings/media/i2c/ad5820.txt
> +++ b/Documentation/devicetree/bindings/media/i2c/ad5820.txt
> @@ -8,6 +8,12 @@ Required Properties:
>  
>    - VANA-supply: supply of voltage for VANA pin
>  
> +Optional properties:
> +
> +   - enable-gpios : GPIO spec for the XSHUTDOWN pin. Note that the polarity of
> +the enable GPIO is the opposite of the XSHUTDOWN pin (asserting the enable
> +GPIO deasserts the XSHUTDOWN signal and vice versa).

shutdown-gpios is also standard and seems like it would make more sense 
here. Yes, it is a bit redundant to have both, but things just evolved 
that way and we don't want to totally abandon the hardware names (just 
all the variants).

Rob
Ricardo Ribalda Delgado Oct. 1, 2018, 8:20 a.m. UTC | #2
Hi Rob
On Thu, Sep 27, 2018 at 8:23 PM Rob Herring <robh@kernel.org> wrote:
>
> On Thu, Sep 20, 2018 at 10:47:47PM +0200, Ricardo Ribalda Delgado wrote:
> > Document new enable-gpio field. It can be used to disable the part
>
> enable-gpios
>
> > without turning down its regulator.
> >
> > Cc: devicetree@vger.kernel.org
> > Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
> > Acked-by: Pavel Machek <pavel@ucw.cz>
> > ---
> >  Documentation/devicetree/bindings/media/i2c/ad5820.txt | 7 +++++++
> >  1 file changed, 7 insertions(+)
> >
> > diff --git a/Documentation/devicetree/bindings/media/i2c/ad5820.txt b/Documentation/devicetree/bindings/media/i2c/ad5820.txt
> > index 5940ca11c021..9ccd96d3d5f0 100644
> > --- a/Documentation/devicetree/bindings/media/i2c/ad5820.txt
> > +++ b/Documentation/devicetree/bindings/media/i2c/ad5820.txt
> > @@ -8,6 +8,12 @@ Required Properties:
> >
> >    - VANA-supply: supply of voltage for VANA pin
> >
> > +Optional properties:
> > +
> > +   - enable-gpios : GPIO spec for the XSHUTDOWN pin. Note that the polarity of
> > +the enable GPIO is the opposite of the XSHUTDOWN pin (asserting the enable
> > +GPIO deasserts the XSHUTDOWN signal and vice versa).
>
> shutdown-gpios is also standard and seems like it would make more sense
> here. Yes, it is a bit redundant to have both, but things just evolved
> that way and we don't want to totally abandon the hardware names (just
> all the variants).
>

Sorry to insist

The pin is called xshutdown, not shutdown and is inverse logic,
Wouldnt it make more sense to use the name
enable-gpios?

Regards

> Rob
Rob Herring (Arm) Oct. 1, 2018, 12:36 p.m. UTC | #3
On Mon, Oct 1, 2018 at 3:20 AM Ricardo Ribalda Delgado
<ricardo.ribalda@gmail.com> wrote:
>
> Hi Rob
> On Thu, Sep 27, 2018 at 8:23 PM Rob Herring <robh@kernel.org> wrote:
> >
> > On Thu, Sep 20, 2018 at 10:47:47PM +0200, Ricardo Ribalda Delgado wrote:
> > > Document new enable-gpio field. It can be used to disable the part
> >
> > enable-gpios
> >
> > > without turning down its regulator.
> > >
> > > Cc: devicetree@vger.kernel.org
> > > Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
> > > Acked-by: Pavel Machek <pavel@ucw.cz>
> > > ---
> > >  Documentation/devicetree/bindings/media/i2c/ad5820.txt | 7 +++++++
> > >  1 file changed, 7 insertions(+)
> > >
> > > diff --git a/Documentation/devicetree/bindings/media/i2c/ad5820.txt b/Documentation/devicetree/bindings/media/i2c/ad5820.txt
> > > index 5940ca11c021..9ccd96d3d5f0 100644
> > > --- a/Documentation/devicetree/bindings/media/i2c/ad5820.txt
> > > +++ b/Documentation/devicetree/bindings/media/i2c/ad5820.txt
> > > @@ -8,6 +8,12 @@ Required Properties:
> > >
> > >    - VANA-supply: supply of voltage for VANA pin
> > >
> > > +Optional properties:
> > > +
> > > +   - enable-gpios : GPIO spec for the XSHUTDOWN pin. Note that the polarity of
> > > +the enable GPIO is the opposite of the XSHUTDOWN pin (asserting the enable
> > > +GPIO deasserts the XSHUTDOWN signal and vice versa).
> >
> > shutdown-gpios is also standard and seems like it would make more sense
> > here. Yes, it is a bit redundant to have both, but things just evolved
> > that way and we don't want to totally abandon the hardware names (just
> > all the variants).
> >
>
> Sorry to insist
>
> The pin is called xshutdown, not shutdown and is inverse logic,
> Wouldnt it make more sense to use the name
> enable-gpios?

Inverse of what? shutdown-gpios is the inverse of enable-gpios. By
using shutdown-gpios you can just get rid of "Note that the polarity
of the enable GPIO is the opposite of the XSHUTDOWN pin (asserting the
enable GPIO deasserts the XSHUTDOWN signal and vice versa)."

This looks to me like a case of just standardizing the name so for
example we just have "reset" instead of many flavors like rst, RSTb,
RESETb, RESETn, nRESET, etc.

Rob
Ricardo Ribalda Delgado Oct. 1, 2018, 12:40 p.m. UTC | #4
Hi
On Mon, Oct 1, 2018 at 2:36 PM Rob Herring <robh@kernel.org> wrote:
>
> On Mon, Oct 1, 2018 at 3:20 AM Ricardo Ribalda Delgado
> <ricardo.ribalda@gmail.com> wrote:
> >
> > Hi Rob
> > On Thu, Sep 27, 2018 at 8:23 PM Rob Herring <robh@kernel.org> wrote:
> > >
> > > On Thu, Sep 20, 2018 at 10:47:47PM +0200, Ricardo Ribalda Delgado wrote:
> > > > Document new enable-gpio field. It can be used to disable the part
> > >
> > > enable-gpios
> > >
> > > > without turning down its regulator.
> > > >
> > > > Cc: devicetree@vger.kernel.org
> > > > Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
> > > > Acked-by: Pavel Machek <pavel@ucw.cz>
> > > > ---
> > > >  Documentation/devicetree/bindings/media/i2c/ad5820.txt | 7 +++++++
> > > >  1 file changed, 7 insertions(+)
> > > >
> > > > diff --git a/Documentation/devicetree/bindings/media/i2c/ad5820.txt b/Documentation/devicetree/bindings/media/i2c/ad5820.txt
> > > > index 5940ca11c021..9ccd96d3d5f0 100644
> > > > --- a/Documentation/devicetree/bindings/media/i2c/ad5820.txt
> > > > +++ b/Documentation/devicetree/bindings/media/i2c/ad5820.txt
> > > > @@ -8,6 +8,12 @@ Required Properties:
> > > >
> > > >    - VANA-supply: supply of voltage for VANA pin
> > > >
> > > > +Optional properties:
> > > > +
> > > > +   - enable-gpios : GPIO spec for the XSHUTDOWN pin. Note that the polarity of
> > > > +the enable GPIO is the opposite of the XSHUTDOWN pin (asserting the enable
> > > > +GPIO deasserts the XSHUTDOWN signal and vice versa).
> > >
> > > shutdown-gpios is also standard and seems like it would make more sense
> > > here. Yes, it is a bit redundant to have both, but things just evolved
> > > that way and we don't want to totally abandon the hardware names (just
> > > all the variants).
> > >
> >
> > Sorry to insist
> >
> > The pin is called xshutdown, not shutdown and is inverse logic,
> > Wouldnt it make more sense to use the name
> > enable-gpios?
>
> Inverse of what? shutdown-gpios is the inverse of enable-gpios. By
> using shutdown-gpios you can just get rid of "Note that the polarity
> of the enable GPIO is the opposite of the XSHUTDOWN pin (asserting the
> enable GPIO deasserts the XSHUTDOWN signal and vice versa)."

The pin is called XSHUTDOWN

0V means shutdown

3.3V means enable

This is why I think is more clear to use enable as name in the device tree.

>
> This looks to me like a case of just standardizing the name so for
> example we just have "reset" instead of many flavors like rst, RSTb,
> RESETb, RESETn, nRESET, etc.
>
> Rob
Rob Herring (Arm) Oct. 1, 2018, 3:01 p.m. UTC | #5
On Mon, Oct 1, 2018 at 7:40 AM Ricardo Ribalda Delgado
<ricardo.ribalda@gmail.com> wrote:
>
> Hi
> On Mon, Oct 1, 2018 at 2:36 PM Rob Herring <robh@kernel.org> wrote:
> >
> > On Mon, Oct 1, 2018 at 3:20 AM Ricardo Ribalda Delgado
> > <ricardo.ribalda@gmail.com> wrote:
> > >
> > > Hi Rob
> > > On Thu, Sep 27, 2018 at 8:23 PM Rob Herring <robh@kernel.org> wrote:
> > > >
> > > > On Thu, Sep 20, 2018 at 10:47:47PM +0200, Ricardo Ribalda Delgado wrote:
> > > > > Document new enable-gpio field. It can be used to disable the part
> > > >
> > > > enable-gpios
> > > >
> > > > > without turning down its regulator.
> > > > >
> > > > > Cc: devicetree@vger.kernel.org
> > > > > Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
> > > > > Acked-by: Pavel Machek <pavel@ucw.cz>
> > > > > ---
> > > > >  Documentation/devicetree/bindings/media/i2c/ad5820.txt | 7 +++++++
> > > > >  1 file changed, 7 insertions(+)
> > > > >
> > > > > diff --git a/Documentation/devicetree/bindings/media/i2c/ad5820.txt b/Documentation/devicetree/bindings/media/i2c/ad5820.txt
> > > > > index 5940ca11c021..9ccd96d3d5f0 100644
> > > > > --- a/Documentation/devicetree/bindings/media/i2c/ad5820.txt
> > > > > +++ b/Documentation/devicetree/bindings/media/i2c/ad5820.txt
> > > > > @@ -8,6 +8,12 @@ Required Properties:
> > > > >
> > > > >    - VANA-supply: supply of voltage for VANA pin
> > > > >
> > > > > +Optional properties:
> > > > > +
> > > > > +   - enable-gpios : GPIO spec for the XSHUTDOWN pin. Note that the polarity of
> > > > > +the enable GPIO is the opposite of the XSHUTDOWN pin (asserting the enable
> > > > > +GPIO deasserts the XSHUTDOWN signal and vice versa).
> > > >
> > > > shutdown-gpios is also standard and seems like it would make more sense
> > > > here. Yes, it is a bit redundant to have both, but things just evolved
> > > > that way and we don't want to totally abandon the hardware names (just
> > > > all the variants).
> > > >
> > >
> > > Sorry to insist
> > >
> > > The pin is called xshutdown, not shutdown and is inverse logic,
> > > Wouldnt it make more sense to use the name
> > > enable-gpios?
> >
> > Inverse of what? shutdown-gpios is the inverse of enable-gpios. By
> > using shutdown-gpios you can just get rid of "Note that the polarity
> > of the enable GPIO is the opposite of the XSHUTDOWN pin (asserting the
> > enable GPIO deasserts the XSHUTDOWN signal and vice versa)."
>
> The pin is called XSHUTDOWN
>
> 0V means shutdown
>
> 3.3V means enable
>
> This is why I think is more clear to use enable as name in the device tree.

Neither enable-gpios nor shutdown-gpios have a defined polarity. The
polarity is part of the flags cell in the specifier.

Rob
Laurent Pinchart Oct. 1, 2018, 3:55 p.m. UTC | #6
Hello,

On Monday, 1 October 2018 18:01:42 EEST Rob Herring wrote:
> On Mon, Oct 1, 2018 at 7:40 AM Ricardo Ribalda Delgado wrote:
> > On Mon, Oct 1, 2018 at 2:36 PM Rob Herring wrote:
> >> On Mon, Oct 1, 2018 at 3:20 AM Ricardo Ribalda Delgado wrote:
> >>> On Thu, Sep 27, 2018 at 8:23 PM Rob Herring wrote:
> >>>> On Thu, Sep 20, 2018 at 10:47:47PM +0200, Ricardo Ribalda Delgado 
wrote:
> >>>>> Document new enable-gpio field. It can be used to disable the part
> >>>>> enable-gpios without turning down its regulator.
> >>>>> 
> >>>>> Cc: devicetree@vger.kernel.org
> >>>>> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
> >>>>> Acked-by: Pavel Machek <pavel@ucw.cz>
> >>>>> ---
> >>>>> 
> >>>>>  Documentation/devicetree/bindings/media/i2c/ad5820.txt | 7
> >>>>>  +++++++
> >>>>>  1 file changed, 7 insertions(+)
> >>>>> 
> >>>>> diff --git
> >>>>> a/Documentation/devicetree/bindings/media/i2c/ad5820.txt
> >>>>> b/Documentation/devicetree/bindings/media/i2c/ad5820.txt index
> >>>>> 5940ca11c021..9ccd96d3d5f0 100644
> >>>>> --- a/Documentation/devicetree/bindings/media/i2c/ad5820.txt
> >>>>> +++ b/Documentation/devicetree/bindings/media/i2c/ad5820.txt
> >>>>> 
> >>>>> @@ -8,6 +8,12 @@ Required Properties:
> >>>>>    - VANA-supply: supply of voltage for VANA pin
> >>>>> 
> >>>>> +Optional properties:
> >>>>> +
> >>>>> +   - enable-gpios : GPIO spec for the XSHUTDOWN pin. Note that
> >>>>> the polarity of +the enable GPIO is the opposite of the XSHUTDOWN
> >>>>> pin (asserting the enable +GPIO deasserts the XSHUTDOWN signal
> >>>>> and vice versa).
> >>>> 
> >>>> shutdown-gpios is also standard and seems like it would make more
> >>>> sense here. Yes, it is a bit redundant to have both, but things just
> >>>> evolved that way and we don't want to totally abandon the hardware
> >>>> names (just all the variants).
> >>> 
> >>> Sorry to insist
> >>> 
> >>> The pin is called xshutdown, not shutdown and is inverse logic,
> >>> Wouldnt it make more sense to use the name enable-gpios?
> >> 
> >> Inverse of what? shutdown-gpios is the inverse of enable-gpios. By
> >> using shutdown-gpios you can just get rid of "Note that the polarity
> >> of the enable GPIO is the opposite of the XSHUTDOWN pin (asserting the
> >> enable GPIO deasserts the XSHUTDOWN signal and vice versa)."
> > 
> > The pin is called XSHUTDOWN
> > 
> > 0V means shutdown
> > 
> > 3.3V means enable
> > 
> > This is why I think is more clear to use enable as name in the device
> > tree.
> 
> Neither enable-gpios nor shutdown-gpios have a defined polarity. The
> polarity is part of the flags cell in the specifier.

To be precise, the polarity is the relationship between the logical level (low 
or high) *on the GPIO side* and the logical state (asserted or deasserted) of 
the signal *on the device side*. This is important in order to take all 
components on the signal path into account, such as inverters on the board. 
The polarity does tell what level to output on the GPIO in order to achieve a 
given effect.

The polarity, however, doesn't dictate what effect is expected. This is 
defined by the DT bindings (together with the documentation of the device). 
For instance an enable-gpios property in DT implies that an asserted logical 
state will enable the device. The GPIO polarity flags thus take into account a 
possible inverter at the device input (as in the difference between the ENABLE 
and nENABLE signals), but stops there.

In this case, we have an XSHUTDOWN pin that will shut the device down when 
driven to 0V. If we call the related DT property shutdown, its logical level 
will be the inverse of XSHUTDOWN: the signal will need to be driven low to 
assert the shutdown effect. The GPIO flags will thus need to take this into 
account, and documenting it in DT could be useful to avoid errors.

On the other hand, if we call the related DT property enable its logical level 
will the the same as XSHUTDOWN: the signal will need to be driven high to 
assert the enable effect.

On the driver side we would have to deassert shutdown or assert enable to 
enable the device.

I don't mind which option is selected, as long as the DT bindings are clear 
(without any inverter in the signal path beside the one inside the ad5820, the 
polarity would need to be high for the enable case and low for the shutdown 
case).
Ricardo Ribalda Delgado Oct. 2, 2018, 7:18 a.m. UTC | #7
Hi Laurent
On Mon, Oct 1, 2018 at 5:55 PM Laurent Pinchart
<laurent.pinchart@ideasonboard.com> wrote:
>
> Hello,
>
> On Monday, 1 October 2018 18:01:42 EEST Rob Herring wrote:
> > On Mon, Oct 1, 2018 at 7:40 AM Ricardo Ribalda Delgado wrote:
> > > On Mon, Oct 1, 2018 at 2:36 PM Rob Herring wrote:
> > >> On Mon, Oct 1, 2018 at 3:20 AM Ricardo Ribalda Delgado wrote:
> > >>> On Thu, Sep 27, 2018 at 8:23 PM Rob Herring wrote:
> > >>>> On Thu, Sep 20, 2018 at 10:47:47PM +0200, Ricardo Ribalda Delgado
> wrote:
> > >>>>> Document new enable-gpio field. It can be used to disable the part
> > >>>>> enable-gpios without turning down its regulator.
> > >>>>>
> > >>>>> Cc: devicetree@vger.kernel.org
> > >>>>> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
> > >>>>> Acked-by: Pavel Machek <pavel@ucw.cz>
> > >>>>> ---
> > >>>>>
> > >>>>>  Documentation/devicetree/bindings/media/i2c/ad5820.txt | 7
> > >>>>>  +++++++
> > >>>>>  1 file changed, 7 insertions(+)
> > >>>>>
> > >>>>> diff --git
> > >>>>> a/Documentation/devicetree/bindings/media/i2c/ad5820.txt
> > >>>>> b/Documentation/devicetree/bindings/media/i2c/ad5820.txt index
> > >>>>> 5940ca11c021..9ccd96d3d5f0 100644
> > >>>>> --- a/Documentation/devicetree/bindings/media/i2c/ad5820.txt
> > >>>>> +++ b/Documentation/devicetree/bindings/media/i2c/ad5820.txt
> > >>>>>
> > >>>>> @@ -8,6 +8,12 @@ Required Properties:
> > >>>>>    - VANA-supply: supply of voltage for VANA pin
> > >>>>>
> > >>>>> +Optional properties:
> > >>>>> +
> > >>>>> +   - enable-gpios : GPIO spec for the XSHUTDOWN pin. Note that
> > >>>>> the polarity of +the enable GPIO is the opposite of the XSHUTDOWN
> > >>>>> pin (asserting the enable +GPIO deasserts the XSHUTDOWN signal
> > >>>>> and vice versa).
> > >>>>
> > >>>> shutdown-gpios is also standard and seems like it would make more
> > >>>> sense here. Yes, it is a bit redundant to have both, but things just
> > >>>> evolved that way and we don't want to totally abandon the hardware
> > >>>> names (just all the variants).
> > >>>
> > >>> Sorry to insist
> > >>>
> > >>> The pin is called xshutdown, not shutdown and is inverse logic,
> > >>> Wouldnt it make more sense to use the name enable-gpios?
> > >>
> > >> Inverse of what? shutdown-gpios is the inverse of enable-gpios. By
> > >> using shutdown-gpios you can just get rid of "Note that the polarity
> > >> of the enable GPIO is the opposite of the XSHUTDOWN pin (asserting the
> > >> enable GPIO deasserts the XSHUTDOWN signal and vice versa)."
> > >
> > > The pin is called XSHUTDOWN
> > >
> > > 0V means shutdown
> > >
> > > 3.3V means enable
> > >
> > > This is why I think is more clear to use enable as name in the device
> > > tree.
> >
> > Neither enable-gpios nor shutdown-gpios have a defined polarity. The
> > polarity is part of the flags cell in the specifier.
>
> To be precise, the polarity is the relationship between the logical level (low
> or high) *on the GPIO side* and the logical state (asserted or deasserted) of
> the signal *on the device side*. This is important in order to take all
> components on the signal path into account, such as inverters on the board.
> The polarity does tell what level to output on the GPIO in order to achieve a
> given effect.
>
> The polarity, however, doesn't dictate what effect is expected. This is
> defined by the DT bindings (together with the documentation of the device).
> For instance an enable-gpios property in DT implies that an asserted logical
> state will enable the device. The GPIO polarity flags thus take into account a
> possible inverter at the device input (as in the difference between the ENABLE
> and nENABLE signals), but stops there.
>
> In this case, we have an XSHUTDOWN pin that will shut the device down when
> driven to 0V. If we call the related DT property shutdown, its logical level
> will be the inverse of XSHUTDOWN: the signal will need to be driven low to
> assert the shutdown effect. The GPIO flags will thus need to take this into
> account, and documenting it in DT could be useful to avoid errors.
>
> On the other hand, if we call the related DT property enable its logical level
> will the the same as XSHUTDOWN: the signal will need to be driven high to
> assert the enable effect.
>
> On the driver side we would have to deassert shutdown or assert enable to
> enable the device.
>
> I don't mind which option is selected, as long as the DT bindings are clear
> (without any inverter in the signal path beside the one inside the ad5820, the
> polarity would need to be high for the enable case and low for the shutdown
> case).

Thanks for the clarification. I definitely prefer the name enable, so
if there is no strong opposition against it I will
send it with that name.

Best regards!

>
> --
> Regards,
>
> Laurent Pinchart
>
>
>
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/media/i2c/ad5820.txt b/Documentation/devicetree/bindings/media/i2c/ad5820.txt
index 5940ca11c021..9ccd96d3d5f0 100644
--- a/Documentation/devicetree/bindings/media/i2c/ad5820.txt
+++ b/Documentation/devicetree/bindings/media/i2c/ad5820.txt
@@ -8,6 +8,12 @@  Required Properties:
 
   - VANA-supply: supply of voltage for VANA pin
 
+Optional properties:
+
+   - enable-gpios : GPIO spec for the XSHUTDOWN pin. Note that the polarity of
+the enable GPIO is the opposite of the XSHUTDOWN pin (asserting the enable
+GPIO deasserts the XSHUTDOWN signal and vice versa).
+
 Example:
 
        ad5820: coil@c {
@@ -15,5 +21,6 @@  Example:
                reg = <0x0c>;
 
                VANA-supply = <&vaux4>;
+               enable-gpios = <&msmgpio 26 GPIO_ACTIVE_HIGH>;
        };