[PATCH v4 0/2] mux: gpio-mux: add enable GPIO support

Antoniu Miclaus posted 2 patches 3 weeks, 1 day ago
There is a newer version of this series
.../devicetree/bindings/mux/gpio-mux.yaml     | 25 +++++++++++++++
drivers/mux/gpio.c                            | 32 ++++++++++++++++++-
2 files changed, 56 insertions(+), 1 deletion(-)
[PATCH v4 0/2] mux: gpio-mux: add enable GPIO support
Posted by Antoniu Miclaus 3 weeks, 1 day ago
This series adds optional enable GPIO support to the gpio-mux driver.
The enable GPIO allows the multiplexer to be disabled before changing
address lines and re-enabled after, preventing glitches that could
briefly activate unintended channels during transitions.

This feature is useful for devices like the Analog Devices ADG2404
(4:1 mux) that require enable control for glitch-free operation. The
binding documentation now includes ADG2404 as a supported device with
a dedicated example.

Changes in v4:
 * Remove device-specific compatible (adi,adg2404) per reviewer feedback
 * Use generic gpio-mux compatible for all GPIO-based muxes
 * Add ADG2404 to binding description for discoverability
 * Add dedicated ADG2404 example in binding
 * Update commit messages to reference ADG2404 as a use case

Antoniu Miclaus (2):
  dt-bindings: mux: gpio-mux: add enable-gpios support
  mux: gpio-mux: add support for enable GPIO

 .../devicetree/bindings/mux/gpio-mux.yaml     | 25 +++++++++++++++
 drivers/mux/gpio.c                            | 32 ++++++++++++++++++-
 2 files changed, 56 insertions(+), 1 deletion(-)

-- 
2.43.0
Re: [PATCH v4 0/2] mux: gpio-mux: add enable GPIO support
Posted by Linus Walleij 2 weeks, 6 days ago
Hi Antoniu,

thanks for your patch!

On Fri, Jan 16, 2026 at 4:38 PM Antoniu Miclaus
<antoniu.miclaus@analog.com> wrote:

> This series adds optional enable GPIO support to the gpio-mux driver.
> The enable GPIO allows the multiplexer to be disabled before changing
> address lines and re-enabled after, preventing glitches that could
> briefly activate unintended channels during transitions.
>
> This feature is useful for devices like the Analog Devices ADG2404
> (4:1 mux) that require enable control for glitch-free operation. The
> binding documentation now includes ADG2404 as a supported device with
> a dedicated example.

Overall the idea is sound!

I don't know if "enable" is a good name for this GPIO though,
because as I understand it the signal passes through the mux even
if it is "disabled"?

I would call it "hold" and make it active low if it holds the mux
state when this signal is low.

hold-gpios = <&gpio 0 GPIO_ACTIVE_LOW>;

this will have the intended semantic.

Yours,
Linus Walleij