[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251121115750.20119-1-antoniu.miclaus@analog.com>
Date: Fri, 21 Nov 2025 11:57:30 +0000
From: Antoniu Miclaus <antoniu.miclaus@...log.com>
To: Peter Rosin <peda@...ntia.se>, Rob Herring <robh@...nel.org>,
"Krzysztof
Kozlowski" <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
"Linus
Walleij" <linus.walleij@...aro.org>,
Bartosz Golaszewski <brgl@...ev.pl>,
Antoniu Miclaus <antoniu.miclaus@...log.com>,
Srinivas Kandagatla
<srini@...nel.org>,
David Lechner <dlechner@...libre.com>, <devicetree@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, <linux-gpio@...r.kernel.org>
Subject: [PATCH 0/2] mux: gpio: add support for ADG1712 quad SPST switch
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
Powered by blists - more mailing lists