[PATCH 0/2] mux: gpio: add support for ADG1712 quad SPST switch

From: Antoniu Miclaus

Date: Fri Nov 21 2025 - 07:08:51 EST


This series adds support for the Analog Devices ADG1712 quad single-pole/
single-throw (SPST) switch to the existing GPIO multiplexer driver.

The ADG1712 contains four independent switches, each controlled by a
dedicated GPIO pin. Unlike traditional multiplexers that use GPIOs as
binary-encoded selectors, the ADG1712 treats each GPIO as a direct switch
controller.

However, the existing gpio-mux driver architecture handles this perfectly
by treating the mux state (0-15) as representing all possible combinations
of the four independent switches. The existing mux_gpio_set() function uses
gpiod_multi_set_value_cansleep() which treats the state as a bitmap,
setting each GPIO according to the corresponding bit position.

For example:
- State 0 (0000): All switches OFF
- State 5 (0101): SW1=ON, SW2=OFF, SW3=ON, SW4=OFF
- State 15 (1111): All switches ON

This approach allows the ADG1712 to leverage the existing mux framework
for switch control while reusing all existing gpio-mux infrastructure
without any code changes beyond adding the compatible string.

Patch 1 updates the device tree bindings to support the ADG1712 compatible
string and includes documentation and examples.

Patch 2 adds the minimal driver support by adding the ADG1712 compatible
string to the existing gpio-mux driver.

Antoniu Miclaus (2):
dt-bindings: mux: gpio-mux: add support for ADG1712
mux: gpio: add support for ADG1712 quad SPST switch

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

--
2.43.0