Re: [PATCH v2 1/2] dt-bindings: gpio: add gpio-aggregator binding

From: Geert Uytterhoeven

Date: Fri Feb 13 2026 - 03:25:18 EST


Hi James,

On Thu, 12 Feb 2026 at 22:22, James Hilliard <james.hilliard1@xxxxxxxxx> wrote:
> On Thu, Feb 12, 2026 at 12:54 PM Rob Herring <robh@xxxxxxxxxx> wrote:
> > Humm, peripheral boards! So there's a connector. You need a connector
> > binding. And the one solved binding for such a thing is GPIO! The
> > gpio-map property lets you remap GPIOs from one provider (the connector)
> > to a parent provider (soc_gpio). It would look something like this:
>
> Well...some GPIOs are wired to peripheral board connectors...but
> some are wired to things like built in LEDs and a few different
> on-controller components as well which vary by controller hardware
> revisions.

Different controller hardware revisions with different wiring mean
different DTS/DTB files anyway, right?

> This gpio-map feature doesn't exist in the mainline kernel does it?

Yes it is.

> In my device everything I'm wanting to name is off the same gpiochip.

That would depend on the SoC: some SoCs have a single bank,
others have multiple banks. The more generic is supported, the better.

> > conn_gpio: connector {
> > #gpio-cells = <1>;
> > gpio-map = <0 &soc_gpio 3>,
> > <1 &soc_gpio 123>;
> > gpio-line-names = "GPIO0", "GPIO1";
> >
> > /* in an overlay */
> > device {
> > foo-gpios = <&conn_gpio 1>; /* soc_gpio 123 */
> > };
>
> I think in my case the entire connector would be in the overlay, as
> the connector GPIO lines vary by control board hardware revisions.
> Would that still work?

Why in the overlay? If the controller hardware differs in wiring,
it needs a different DTS/DTB.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds