[PATCH v1 2/3] dt-bindings: iio: adc: add AD7191

From: Alisa-Dariana Roman
Date: Sat Dec 21 2024 - 11:00:29 EST


AD7191 is a pin-programmable, ultralow noise 24-bit sigma-delta ADC
designed for precision bridge sensor measurements. It features two
differential analog input channels, selectable output rates,
programmable gain, internal temperature sensor and simultaneous
50Hz/60Hz rejection.

Signed-off-by: Alisa-Dariana Roman <alisa.roman@xxxxxxxxxx>
---
.../bindings/iio/adc/adi,ad7191.yaml | 128 ++++++++++++++++++
MAINTAINERS | 7 +
2 files changed, 135 insertions(+)
create mode 100644 Documentation/devicetree/bindings/iio/adc/adi,ad7191.yaml

diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7191.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad7191.yaml
new file mode 100644
index 000000000000..f3e596918c22
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7191.yaml
@@ -0,0 +1,128 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+# Copyright 2025 Analog Devices Inc.
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/iio/adc/adi,ad7191.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Analog Devices AD7191 ADC device driver
+
+maintainers:
+ - Alisa-Dariana Roman <alisa.roman@xxxxxxxxxx>
+
+description: |
+ Bindings for the Analog Devices AD7191 ADC device. Datasheet can be
+ found here:
+ https://www.analog.com/media/en/technical-documentation/data-sheets/AD7191.pdf
+
+properties:
+ compatible:
+ enum:
+ - adi,ad7191
+
+ reg:
+ maxItems: 1
+
+ spi-cpol: true
+
+ spi-cpha: true
+
+ clocks:
+ maxItems: 1
+ description:
+ Optionally, either a crystal can be attached externally between MCLK1 and
+ MCLK2 pins, or an external CMOS-compatible clock can drive the MCLK2
+ pin. If absent, internal 4.92MHz clock is used.
+
+ interrupts:
+ maxItems: 1
+
+ avdd-supply:
+ description: AVdd voltage supply
+
+ dvdd-supply:
+ description: DVdd voltage supply
+
+ vref-supply:
+ description: Vref voltage supply
+
+ odr1-gpios:
+ description: GPIO connected to ODR1 pin for output data rate selection
+ maxItems: 1
+
+ odr2-gpios:
+ description: GPIO connected to ODR2 pin for output data rate selection
+ maxItems: 1
+
+ pga1-gpios:
+ description: GPIO connected to PGA1 pin for gain selection
+ maxItems: 1
+
+ pga2-gpios:
+ description: GPIO connected to PGA2 pin for gain selection
+ maxItems: 1
+
+ temp-gpios:
+ description: GPIO connected to TEMP pin for temperature sensor enable
+ maxItems: 1
+
+ chan-gpios:
+ description: GPIO connected to CHAN pin for input channel selection
+ maxItems: 1
+
+ clksel-gpios:
+ description: GPIO connected to CLKSEL pin for clock source selection
+ maxItems: 1
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - avdd-supply
+ - dvdd-supply
+ - vref-supply
+ - spi-cpol
+ - spi-cpha
+ - odr1-gpios
+ - odr2-gpios
+ - pga1-gpios
+ - pga2-gpios
+ - temp-gpios
+ - chan-gpios
+ - clksel-gpios
+
+allOf:
+ - $ref: /schemas/spi/spi-peripheral-props.yaml#
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+ #include <dt-bindings/interrupt-controller/irq.h>
+
+ spi0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ adc@0 {
+ compatible = "adi,ad7191";
+ reg = <0>;
+ spi-max-frequency = <1000000>;
+ spi-cpol;
+ spi-cpha;
+ clocks = <&ad7191_mclk>;
+ interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
+ interrupt-parent = <&gpio>;
+ avdd-supply = <&avdd>;
+ dvdd-supply = <&dvdd>;
+ vref-supply = <&vref>;
+ odr1-gpios = <&gpio 23 GPIO_ACTIVE_HIGH>;
+ odr2-gpios = <&gpio 24 GPIO_ACTIVE_HIGH>;
+ pga1-gpios = <&gpio 5 GPIO_ACTIVE_HIGH>;
+ pga2-gpios = <&gpio 6 GPIO_ACTIVE_HIGH>;
+ temp-gpios = <&gpio 22 GPIO_ACTIVE_HIGH>;
+ chan-gpios = <&gpio 27 GPIO_ACTIVE_HIGH>;
+ clksel-gpios = <&gpio 13 GPIO_ACTIVE_HIGH>;
+ };
+ };
diff --git a/MAINTAINERS b/MAINTAINERS
index 8e5167443cea..254fbfe6144f 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1302,6 +1302,13 @@ W: http://ez.analog.com/community/linux-device-drivers
F: Documentation/devicetree/bindings/iio/adc/adi,ad7091r*
F: drivers/iio/adc/ad7091r*

+ANALOG DEVICES INC AD7191 DRIVER
+M: Alisa-Dariana Roman <alisa.roman@xxxxxxxxxx>
+L: linux-iio@xxxxxxxxxxxxxxx
+S: Supported
+W: https://ez.analog.com/linux-software-drivers
+F: Documentation/devicetree/bindings/iio/adc/adi,ad7191.yaml
+
ANALOG DEVICES INC AD7192 DRIVER
M: Alisa-Dariana Roman <alisa.roman@xxxxxxxxxx>
L: linux-iio@xxxxxxxxxxxxxxx
--
2.43.0