[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CACRpkdaEq1cumg_z0A5LV=6nh5QqZ9x1_ZDuf8XTzgub4XVVqw@mail.gmail.com>
Date: Mon, 10 Nov 2025 11:27:20 +0100
From: Linus Walleij <linus.walleij@...aro.org>
To: Antoniu Miclaus <antoniu.miclaus@...log.com>, Peter Rosin <peda@...ntia.se>
Cc: Bartosz Golaszewski <brgl@...ev.pl>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>, Conor Dooley <conor+dt@...nel.org>, linux-gpio@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/2] dt-bindings: gpio: adg1712: add adg1712 support
Hi Antoniu,
thanks for your patch!
Add
Datasheet: https://www.analog.com/media/en/technical-documentation/data-sheets/adg1712.pdf
Before signed-off-by, thanks.
On Fri, Oct 31, 2025 at 5:08 PM Antoniu Miclaus
<antoniu.miclaus@...log.com> wrote:
> +title: Analog Devices ADG1712 quad SPST switch GPIO controller
> +
> +maintainers:
> + - Antoniu Miclaus <antoniu.miclaus@...log.com>
> +
> +description: |
> + Bindings for Analog Devices ADG1712 quad single-pole, single-throw (SPST)
> + switch controlled by GPIOs. The device features four independent switches,
> + each controlled by a dedicated GPIO input pin.
> +
> + Each GPIO line exposed by this controller corresponds to one of the four
> + switches (SW1-SW4) on the ADG1712. Setting a GPIO line high enables the
> + corresponding switch, while setting it low disables the switch.
There are two unclarities here:
- I know what an SPST switch is, but how is that electrically controlled?
Is it actually a good old electro-magnetic relay? There are clearly
details missing here. When I look in the datasheet, a symbol for a
relay is present in the schematics. At least explain that they work
"as a relay replacement" (literal wording from the datasheet) so
we know what this is.
- GPIO is general purpose input/output. This is a narrow fit with that
concept. This device is more of a general purpose mechanical
current switch. We need some motivation here, explaining why
GPIO is a good, operating system-neutral description of what this
device does.
Perhaps we need to create a new binding category
dt-bindings/switch for this, even if in Linux specifically we chose
to model this as a GPIO, it could just be something we do in
Linux, Zephyr for example might want to have a dedicated driver
for switches.
Also I would like Peter Rosin's eye on this, as we have
dt-bindings/mux which is selecting one analog line out of many
and it's close enough.
> + switch1-gpios:
> + description: GPIO connected to the IN1 control pin (controls SW1)
> + maxItems: 1
> +
> + switch2-gpios:
> + description: GPIO connected to the IN2 control pin (controls SW2)
> + maxItems: 1
> +
> + switch3-gpios:
> + description: GPIO connected to the IN3 control pin (controls SW3)
> + maxItems: 1
> +
> + switch4-gpios:
> + description: GPIO connected to the IN4 control pin (controls SW4)
> + maxItems: 1
Why not just use an array of GPIOs? The property has the suffix "gpios"
(pluralis) after all.
I'd just use switch-gpios = <1, 2, 3, 4>...
> + gpio-controller: true
So this switching capacity expose four new GPIOs, are these really
GPIOs, that's the question. I think we might need a new binding
category. Either this is switch, GPIO or some type of amplifier.
Yours,
Linus Walleij
Powered by blists - more mailing lists