From: Alexander Stein <alexander.stein@ew.tq-group.com>
To: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Cc: Linus Walleij <linus.walleij@linaro.org>,
Bartosz Golaszewski <brgl@bgdev.pl>,
Rob Herring <robh+dt@kernel.org>,
linux-gpio@vger.kernel.org, devicetree@vger.kernel.org,
Marek Vasut <marex@denx.de>,
Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Subject: Re: [RFC PATCH v2 1/3] dt-bindings: gpio: Add gpio-delay binding document
Date: Thu, 15 Dec 2022 14:09:41 +0100 [thread overview]
Message-ID: <2176879.usQuhbGJ8B@steina-w> (raw)
In-Reply-To: <d38655cb-d387-5bbd-c430-52a0b04ae3cc@linaro.org>
Hi Krzysztof,
Am Donnerstag, 15. Dezember 2022, 10:11:47 CET schrieb Krzysztof Kozlowski:
> On 14/12/2022 10:53, Alexander Stein wrote:
> > This adds bindings for a GPIO enable/disable delay driver.
> >
> > Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
> > ---
> >
> > .../devicetree/bindings/gpio/gpio-delay.yaml | 75 +++++++++++++++++++
> > 1 file changed, 75 insertions(+)
> > create mode 100644 Documentation/devicetree/bindings/gpio/gpio-delay.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/gpio/gpio-delay.yaml
> > b/Documentation/devicetree/bindings/gpio/gpio-delay.yaml new file mode
> > 100644
> > index 000000000000..20871356e9b5
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/gpio/gpio-delay.yaml
> > @@ -0,0 +1,75 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/gpio/gpio-delay.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: GPIO delay controller
> > +
> > +maintainers:
> > + - Alexander Stein <linux@ew.tq-group.com>
> > +
> > +description: |
> > + This binding describes an electrical setup where setting an GPIO output
> > + is delayed by some external setup, e.g. RC curcuit.
> > +
> > + +----------+ +-----------+
> > + | | VCC_B | |
> > + | | | | |
> > + | | VCC_A _ | |
> > + | GPIO | | | R | Consumer |
> > + |controller| ___ |_| | |
> > + | | | | | | |
> > + | [IOx|-------| |--+-----|-----+ |
> > + | | |___| | | input |
> > + | | | | |
> > + +----------+ --- C +-----------+
> > + ---
> > + |
> > + -
> > + GND
> > +
> > + If the input on the consumer is controlled by an open-drain signal
>
> If IOx is open-drain, what is the VCC_A on the diagram? I think it
> wasn't present in original Laurent's diagram.
I have to admit my artistic skills are lacking :( I wanted to highlight that
the actual GPIO output IOx is not (necessarily) the open-drain. This is
somewhat important, because this can not be solved by just reconfiguring the
GPIO to push-pull.
Instead there is a buffer (small box in the middle) which (in this case)
converts from VCC_A on the left side connected to SoC to VCC_B on the right
connected to consumer using an open-drain.
So this delay is induced passively by external circuits the SoC can not do
anything about.
Best regards,
Alexander
> > + attached to an RC curcuit the ramp-up delay is not under control
> > + of the GPIO controller.
> > +
> > +properties:
> > + compatible:
> > + const: gpio-delay
> > +
> > + "#gpio-cells":
> > + description: |
> > + Specifies the pin, ramp-up and ramp-down delays. The
> > + delays are specified in microseconds.
> > + const: 3
> > +
> > + input-gpios:
> > + description: Array of GPIOs which output signal change is delayed
>
> maxItems: 32 or some other reasonable value
Okay. Apparently there is no limit within gpiolib, so I was not limiting the
amount unnecessarily.
> > +
> > + gpio-controller: true
> > +
> > + gpio-line-names: true
>
> and then the same maxItems.
Sure, will adjust as well.
> > +
> > +required:
> > + - compatible
> > + - "#gpio-cells"
> > + - gpio-controller
> > + - input-gpios
> > +
> > +additionalProperties: false
> > +
> > +examples:
> > + - |
> > + #include <dt-bindings/gpio/gpio.h>
> > +
> > + enable_delay: enable-delay {
> > + compatible = "gpio-delay";
>
> I am not sure whether the naming is the most accurate - it represents
> desired behavior (so the delay in rising signal), not actual hardware
> (RC filter), but maybe that's a bit more generic.
>
> Anyway look fine for me.
IMHO delay fits pretty well, because it's the behaviour. I'm no hardware
developer, but I assume that there are more possibilities than just RC filter
which might require this delay.
Best regards,
Alexander
> > + #gpio-cells = <3>;
> > + gpio-controller;
> > + input-gpios = <&gpio0 3 GPIO_ACTIVE_LOW>,
> > + <&gpio3 1 GPIO_ACTIVE_HIGH>;
> > + };
> > +
> > + consumer {
> > + enable-gpios = <&enable_delay 0 130000 30000>;
> > + };
>
> Best regards,
> Krzysztof
next prev parent reply other threads:[~2022-12-15 13:09 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-12-14 9:53 [RFC PATCH v2 0/3] gpio: Add gpio-delay support Alexander Stein
2022-12-14 9:53 ` [RFC PATCH v2 1/3] dt-bindings: gpio: Add gpio-delay binding document Alexander Stein
2022-12-15 9:11 ` Krzysztof Kozlowski
2022-12-15 13:09 ` Alexander Stein [this message]
2022-12-15 13:14 ` Linus Walleij
2022-12-14 9:53 ` [RFC PATCH v2 2/3] gpio: Add gpio delay driver Alexander Stein
2022-12-14 9:53 ` [RFC PATCH v2 3/3] [DNI] arm64: dts: mba8mx: Use gpio-delay for LVDS bridge Alexander Stein
2022-12-15 13:16 ` [RFC PATCH v2 0/3] gpio: Add gpio-delay support Linus Walleij
2022-12-15 18:21 ` Rob Herring
2022-12-15 21:26 ` Laurent Pinchart
2022-12-15 22:44 ` Rob Herring
2022-12-16 7:53 ` Alexander Stein
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=2176879.usQuhbGJ8B@steina-w \
--to=alexander.stein@ew.tq-group.com \
--cc=brgl@bgdev.pl \
--cc=devicetree@vger.kernel.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=krzysztof.kozlowski@linaro.org \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linus.walleij@linaro.org \
--cc=linux-gpio@vger.kernel.org \
--cc=marex@denx.de \
--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