[PATCH v2 5/7] dt-bindings: iio: Add binding documentation for AD7091R-8

From: Marcelo Schmitt
Date: Thu Nov 23 2023 - 11:42:55 EST


Add device tree binding documentation for AD7091R-8.

Signed-off-by: Marcelo Schmitt <marcelo.schmitt@xxxxxxxxxx>
---
.../bindings/iio/adc/adi,ad7091r8.yaml | 101 ++++++++++++++++++
MAINTAINERS | 1 +
2 files changed, 102 insertions(+)
create mode 100644 Documentation/devicetree/bindings/iio/adc/adi,ad7091r8.yaml

diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7091r8.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad7091r8.yaml
new file mode 100644
index 000000000000..3f09f3091a90
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7091r8.yaml
@@ -0,0 +1,101 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/iio/adc/adi,ad7091r8.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Analog Devices AD7091R8 8-Channel 12-Bit ADC
+
+maintainers:
+ - Marcelo Schmitt <marcelo.schmitt@xxxxxxxxxx>
+
+description: |
+ Analog Devices AD7091R-8 8-Channel 12-Bit ADC
+ https://www.analog.com/media/en/technical-documentation/data-sheets/AD7091R-2_7091R-4_7091R-8.pdf
+
+properties:
+ compatible:
+ enum:
+ - adi,ad7091r2
+ - adi,ad7091r4
+ - adi,ad7091r8
+
+ reg:
+ maxItems: 1
+
+ vref-supply: true
+
+ spi-max-frequency: true
+
+ adi,conversion-start-gpios:
+ description:
+ Device tree identifier of the CONVST pin.
+ This logic input is used to initiate conversions on the analog
+ input channels.
+ maxItems: 1
+
+ reset-gpios:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+patternProperties:
+ "^channel@[0-7]$":
+ $ref: adc.yaml
+ type: object
+ description: Represents the external channels which are connected to the ADC.
+
+ properties:
+ reg:
+ minimum: 0
+ maximum: 7
+
+ required:
+ - reg
+
+required:
+ - compatible
+ - reg
+ - adi,conversion-start-gpios
+
+allOf:
+ - $ref: /schemas/spi/spi-peripheral-props.yaml#
+
+ # AD7091R-2 does not have ALERT/BUSY/GPO pin
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - adi,ad7091r4
+ - adi,ad7091r8
+ then:
+ properties:
+ interrupts: true
+ else:
+ properties:
+ interrupts: false
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/irq.h>
+ #include <dt-bindings/gpio/gpio.h>
+ spi {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ adc@0 {
+ compatible = "adi,ad7091r8";
+ reg = <0x0>;
+ spi-max-frequency = <45454545>;
+ vref-supply = <&adc_vref>;
+ adi,conversion-start-gpios = <&gpio 25 GPIO_ACTIVE_LOW>;
+ reset-gpios = <&gpio 27 GPIO_ACTIVE_LOW>;
+ interrupts = <22 IRQ_TYPE_EDGE_FALLING>;
+ interrupt-parent = <&gpio>;
+ };
+ };
+...
diff --git a/MAINTAINERS b/MAINTAINERS
index 008f0e73bead..6e7c6c866396 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1132,6 +1132,7 @@ L: linux-iio@xxxxxxxxxxxxxxx
S: Supported
W: http://ez.analog.com/community/linux-device-drivers
F: Documentation/devicetree/bindings/iio/adc/adi,ad7091r5.yaml
+F: Documentation/devicetree/bindings/iio/adc/adi,ad7091r8.yaml
F: drivers/iio/adc/drivers/iio/adc/ad7091r-base.c
F: drivers/iio/adc/drivers/iio/adc/ad7091r-base.h
F: drivers/iio/adc/drivers/iio/adc/ad7091r5.c
--
2.42.0