Re: [RFC 4/4] dt-bindings: gpio: Add bindings for SCMI pinctrl based gpio

From: AKASHI Takahiro
Date: Wed Oct 04 2023 - 03:08:32 EST


On Tue, Oct 03, 2023 at 03:16:49PM +0200, Linus Walleij wrote:
> Hi Takahiro,
>
> first, thanks for working on this important and crucial driver!
>
> I'll try to clarify and also explain something of what the others
> are saying (unless I misunderstand them...)

Ah, thank you.

> On Mon, Oct 2, 2023 at 4:17???AM AKASHI Takahiro
> <takahiro.akashi@xxxxxxxxxx> wrote:
>
> > A dt binding for SCMI pinctrl based gpio driver is defined in this
> > commit. It basically conforms to generic pinctrl-gpio mapping framework.
> >
> > Signed-off-by: AKASHI Takahiro <takahiro.akashi@xxxxxxxxxx>
>
> I think like Christian says that SCMI maybe has nothing to do
> with this binding? It is just one possible use case (though we don't know
> of any others.) The resource it is using is generic functionality that exist
> in any pin controller that provides ways to drive lines high and low
> etc.
>
> Would it be named a generic pin control-based GPIO?

If you like :)
As I said, I was not confident that the driver be applicable
to other pinctrl-gpio cases.

> (...)
> > +++ b/Documentation/devicetree/bindings/gpio/arm,scmi-gpio.yaml
> (...)
> > +$id: http://devicetree.org/schemas/gpio/arm,scmi-gpio.yaml#
>
> So no ARM, no scmi, just pin-control-gpio.yaml, be bold!

I'm not so ambitious.

> (I like this long unabbreviated name)
>
> > +title: SCMI pinctrl based generic GPIO controller
>
> Pin control-based generic GPIO controller
>
> Add
>
> description:
> The pin control-based GPIO will facilitate a pin controllers ability
> to drive electric lines high/low and other generic properties of a
> pin controller to perform general-purpose one-bit binary I/O.
>
> (At least I think this is the idea, I hope I understand correctly.)

Okay.

> > +properties:
> > + $nodename:
> > + pattern: "^scmi_gpio(@[0-9a-f]+)$"
>
> These nodes are always just named gpio@...
> the resource marker is "this is a GPIO" that's all it means.

By following other gpio drivers' bindings, I will drop this rule.

> > + compatible:
> > + const: arm,scmi-gpio-generic
>
> const: pin-control-gpio
>
> Other than that I am aboard with the solution!

Hope that the driver works on real hardware :)

-Takahiro Akashi

> Yours,
> Linus Walleij