[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251117091427.3624-2-antoniu.miclaus@analog.com>
Date: Mon, 17 Nov 2025 09:13:22 +0000
From: Antoniu Miclaus <antoniu.miclaus@...log.com>
To: 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>,
<devicetree@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<linux-gpio@...r.kernel.org>
Subject: [PATCH v3 1/2] dt-bindings: switch: adg1712: add adg1712 support
Add devicetree bindings for adg1712 SPST quad switch.
Signed-off-by: Antoniu Miclaus <antoniu.miclaus@...log.com>
---
Changes in v3:
- Move bindings from gpio/ to switch/ subsystem
- Remove gpio-controller interface
- Add 'switch-states' property for initial configuration
- Update description and example
---
.../bindings/switch/adi,adg1712.yaml | 68 +++++++++++++++++++
1 file changed, 68 insertions(+)
create mode 100644 Documentation/devicetree/bindings/switch/adi,adg1712.yaml
diff --git a/Documentation/devicetree/bindings/switch/adi,adg1712.yaml b/Documentation/devicetree/bindings/switch/adi,adg1712.yaml
new file mode 100644
index 000000000000..eed142eb5b05
--- /dev/null
+++ b/Documentation/devicetree/bindings/switch/adi,adg1712.yaml
@@ -0,0 +1,68 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/switch/adi,adg1712.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Analog Devices ADG1712 quad SPST switch 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.
+
+ The switches are configured at probe time based on device tree properties
+ and cannot be changed from userspace after initialization.
+
+properties:
+ compatible:
+ const: adi,adg1712
+
+ switch-gpios:
+ description: |
+ Array of GPIOs connected to the IN1-IN4 control pins.
+ Index 0 corresponds to IN1 (controls SW1),
+ Index 1 corresponds to IN2 (controls SW2),
+ Index 2 corresponds to IN3 (controls SW3),
+ Index 3 corresponds to IN4 (controls SW4).
+ minItems: 4
+ maxItems: 4
+
+ switch-states:
+ description: |
+ Initial states for the four switches (SW1-SW4).
+ Each element corresponds to the desired state of the respective switch:
+ 0 = switch disabled (open), 1 = switch enabled (closed).
+ If not specified, all switches default to disabled (0).
+ $ref: /schemas/types.yaml#/definitions/uint32-array
+ items:
+ minimum: 0
+ maximum: 1
+ minItems: 4
+ maxItems: 4
+
+required:
+ - compatible
+ - switch-gpios
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+
+ adg1712: switch-controller {
+ compatible = "adi,adg1712";
+
+ switch-gpios = <&gpio 10 GPIO_ACTIVE_HIGH>,
+ <&gpio 11 GPIO_ACTIVE_HIGH>,
+ <&gpio 12 GPIO_ACTIVE_HIGH>,
+ <&gpio 13 GPIO_ACTIVE_HIGH>;
+
+ /* Enable SW1 and SW3, disable SW2 and SW4 */
+ switch-states = <1 0 1 0>;
+ };
+...
--
2.43.0
Powered by blists - more mailing lists