[PATCH 2/4] dt-bindings: iio: adc: Add adi,ad4052

Jorge Marques
2025-03-06T14:04:56Z

Add dt-bindings for AD4052 family, devices AD4050/AD4052/AD4056/AD4058,
low-power with monitor capabilities SAR ADCs.
Contain selectable oversampling and sample rate, the latter for both
oversampling and monitor mode.
The monitor capability is exposed as an IIO threshold either direction
event.

Signed-off-by: Jorge Marques <jorge.marques@analog.com>
---
.../devicetree/bindings/iio/adc/adi,ad4052.yaml | 80 ++++++++++++++++++++++
MAINTAINERS | 6 ++
2 files changed, 86 insertions(+)

diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad4052.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad4052.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..4602f1f0184d58f33883852ff6d76933758825f1
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/adc/adi,ad4052.yaml
@@ -0,0 +1,80 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+# Copyright 2025 Analog Devices Inc.
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/iio/adc/adi,ad4052.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Analog Devices AD4052 ADC family device driver
+
+maintainers:
+ - Jorge Marques <jorge.marques@analog.com>
+
+description: |
+ Analog Devices AD4052 Single Channel Precision SAR ADC family
+
+ https://www.analog.com/media/en/technical-documentation/data-sheets/ad4050.pdf
+ https://www.analog.com/media/en/technical-documentation/data-sheets/ad4052.pdf
+
+properties:
+ compatible:
+ enum:
+ - adi,ad4050
+ - adi,ad4052
+ - adi,ad4056
+ - adi,ad4058
+
+ reg:
+ maxItems: 1
+
+ clocks:
+ description:
+ Reference clock
+ maxItems: 1
+
+ interrupts:
+ items:
+ - description: threshold events.
+ - description: device ready and data ready.
+
+ cnv-gpios:
+ maxItems: 1
+
+ spi-max-frequency:
+ maximum: 62500000
+
+ vdd-supply: true
+ vdd_1_8-supply: true
+ vio-supply: true
+
+required:
+ - compatible
+ - reg
+ - interrupts
+
+allOf:
+ - $ref: /schemas/spi/spi-peripheral-props.yaml#
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+ #include <dt-bindings/interrupt-controller/irq.h>
+
+ spi {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ adc@0 {
+ compatible = "adi,ad4052";
+ reg = <0>;
+ spi-max-frequency = <25000000>;
+
+ interrupt-parent = <&gpio>;
+ interrupts = <0 0 IRQ_TYPE_EDGE_RISING>,
+ <0 1 IRQ_TYPE_EDGE_RISING>;
+ cnv-gpios = <&gpio 2 GPIO_ACTIVE_HIGH>;
+ };
+ };
+...
diff --git a/MAINTAINERS b/MAINTAINERS
index 06f122cb8bbd15a0076c229dfc89be0b5126f237..fef8adaee888d59e1aa3b3592dda5a8bea0b7677 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1317,6 +1317,12 @@ F: Documentation/devicetree/bindings/iio/adc/adi,ad4030.yaml
F: Documentation/iio/ad4030.rst
F: drivers/iio/adc/ad4030.c

+ANALOG DEVICES INC AD4052 DRIVER
+M: Jorge Marques <jorge.marques@analog.com>
+S: Supported
+W: https://ez.analog.com/linux-software-drivers
+F: Documentation/devicetree/bindings/iio/adc/adi,ad4052.yaml
+
ANALOG DEVICES INC AD4130 DRIVER
M: Cosmin Tanislav <cosmin.tanislav@analog.com>
L: linux-iio@vger.kernel.org

--
2.48.1