[PATCH 1/3] dt-bindings: iio: dac: Add binding for AD5706R

Alexis Czezar Torreno
2026-02-20T08:03:38Z

Add device tree binding documentation for the Analog Devices
AD5706R 4-channel 16-bit current output digital-to-analog converter.

Signed-off-by: Alexis Czezar Torreno <alexisczezar.torreno@analog.com>
---
.../devicetree/bindings/iio/dac/adi,ad5706r.yaml | 96 ++++++++++++++++++++++
1 file changed, 96 insertions(+)

diff --git a/Documentation/devicetree/bindings/iio/dac/adi,ad5706r.yaml b/Documentation/devicetree/bindings/iio/dac/adi,ad5706r.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..dabaf2195a07d2c66d44f69ca60e32e6bc37cf55
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/dac/adi,ad5706r.yaml
@@ -0,0 +1,96 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/iio/dac/adi,ad5706r.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Analog Devices AD5706R 4-Channel Current Output DAC
+
+maintainers:
+ - Alexis Czezar Torreno <alexisczezar.torreno@analog.com>
+
+description: |
+ The AD5706R is a 16-bit, 4-channel current output digital-to-analog
+ converter with SPI interface.
+
+ The driver supports dynamic SPI clock rate management via an external
+ clock generator (e.g., AXI CLKGEN) referenced by the 'clocks' property.
+ This allows separate read and write SPI speeds to be configured at
+ runtime.
+
+ Datasheet:
+ https://www.analog.com/en/products/ad5706r.html
+
+properties:
+ compatible:
+ enum:
+ - adi,ad5706r
+
+ reg:
+ maxItems: 1
+
+ spi-max-frequency:
+ maximum: 100000000
+
+ clocks:
+ maxItems: 1
+ description:
+ Reference clock for SPI clock rate management.
+
+ clock-names:
+ items:
+ - const: spi_clk
+
+ pwms:
+ maxItems: 1
+
+ pwm-names:
+ items:
+ - const: ad5706r_ldacb
+
+ dac-resetb-gpios:
+ maxItems: 1
+ description: GPIO connected to the active-low reset pin.
+
+ dac-shdn-gpios:
+ maxItems: 1
+ description: GPIO connected to the active-high shutdown pin.
+
+required:
+ - compatible
+ - reg
+ - spi-max-frequency
+ - clocks
+ - clock-names
+ - pwms
+ - pwm-names
+ - dac-resetb-gpios
+ - dac-shdn-gpios
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+ #include <dt-bindings/interrupt-controller/irq.h>
+
+ spi {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ dac@0 {
+ compatible = "adi,ad5706r";
+ reg = <0>;
+ spi-max-frequency = <100000000>;
+
+ clocks = <&spi_clk>;
+ clock-names = "spi_clk";
+
+ dac-resetb-gpios = <&gpio0 86 GPIO_ACTIVE_LOW>;
+ dac-shdn-gpios = <&gpio0 87 GPIO_ACTIVE_HIGH>;
+
+ pwms = <&axi_pwm_gen 0 0>;
+ pwm-names = "ad5706r_ldacb";
+ };
+ };
+...

--
2.34.1