Re: [PATCH v4 2/4] dt-bindings: iio: dac: add adi,ad5710r.yaml

From: Conor Dooley

Date: Mon Aug 31 2026 - 15:41:53 EST


On Sat, Aug 29, 2026 at 01:59:21PM +0800, Kim Seer Paller wrote:
> Add device tree bindings for the Analog Devices AD5710R/AD5711R
> 8-channel 12-/16-bit Configurable IDAC/VDAC.
>
> Signed-off-by: Kim Seer Paller <kimseer.paller@xxxxxxxxxx>
> ---
> .../devicetree/bindings/iio/dac/adi,ad5710r.yaml | 143 +++++++++++++++++++++
> MAINTAINERS | 1 +
> 2 files changed, 144 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/iio/dac/adi,ad5710r.yaml b/Documentation/devicetree/bindings/iio/dac/adi,ad5710r.yaml
> new file mode 100644
> index 000000000000..259866ca87cf
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/iio/dac/adi,ad5710r.yaml
> @@ -0,0 +1,143 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/iio/dac/adi,ad5710r.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Analog Devices AD5710R/AD5711R 8-channel 12-/16-bit Configurable IDAC/VDAC
> +
> +maintainers:
> + - Kim Seer Paller <kimseer.paller@xxxxxxxxxx>
> +
> +description: |
> + The AD5710R (16-bit) and AD5711R (12-bit) are 8-channel, low-power,
> + configurable current/voltage output digital-to-analog converters (DACs) with
> + an on-chip 2.5V, 3ppm/°C reference. Each channel can be independently
> + configured as a voltage output (0V to VREF or 0V to 2 x VREF) or a current
> + output (0mA to 50mA). These devices operate from a single 2.7V to 5.5V
> + supply and are guaranteed monotonic by design.
> +
> + Datasheet can be found here:
> + https://www.analog.com/media/en/technical-documentation/data-sheets/ad5711r-ad5710r.pdf
> +
> +properties:
> + compatible:
> + enum:
> + - adi,ad5710r
> + - adi,ad5711r
> +
> + reg:
> + maxItems: 1
> +
> + spi-max-frequency:
> + maximum: 20000000
> +
> + '#address-cells':
> + const: 1
> +
> + '#size-cells':
> + const: 0
> +
> + vdd-supply:
> + description: Power Supply Input.
> +
> + iovdd-supply:
> + description: Digital Power Supply Input.
> +
> + io-channels:
> + description:
> + ADC channel used to monitor internal die temperature, output voltages, and
> + current of a selected channel via the MUXOUT pin.
> + maxItems: 1
> +
> + ref-supply:
> + description:
> + Reference Input/Output. The voltage at the REF pin sets the full-scale
> + range of all channels. If not provided the internal reference is used and
> + also provided on the VREF pin.
> +
> + reset-gpios:
> + description:
> + Active low signal that is falling edge sensitive. When it is deasserted,
> + the digital core initialization is performed and all DAC registers except
> + the Interface Configuration A register are reset to their default values.
> + maxItems: 1
> +
> + ldac-gpios:
> + description:
> + LDAC pin to be used as a hardware trigger to update the DAC channels. If
> + not present, the DAC channels are updated by Software LDAC.
> + maxItems: 1
> +
> + adi,range-double:
> + description:
> + Configure the output range for all channels. If the property is present,
> + the output will range from 0V to 2 x Vref. If the property is not present,
> + the output will range from 0V to Vref.

What was the rationale provided for this not being a userspace control?

> + type: boolean
> +
> +patternProperties:
> + "^channel@[0-7]$":
> + $ref: /schemas/iio/dac/dac.yaml#
> + type: object
> + description:
> + Represents the external channels which are connected to the DAC.
> +
> + properties:
> + reg:
> + description: Channel number
> + minimum: 0
> + maximum: 7
> +
> + adi,ch-func:
> + description:
> + Channel output type. Use CH_FUNC_VOLTAGE_OUTPUT for voltage
> + output or CH_FUNC_CURRENT_OUTPUT for current output.
> + $ref: /schemas/types.yaml#/definitions/uint32

Valid point from sashiko here that you never cover which is which (or
cite the header where the defines come from).
pw-bot: changes-requested

Cheers,
Conor.

> + enum: [1, 2]
> +
> + required:
> + - reg
> + - adi,ch-func
> +
> + unevaluatedProperties: false
> +
> +required:
> + - compatible
> + - reg
> + - vdd-supply
> + - iovdd-supply
> +
> +allOf:
> + - $ref: /schemas/spi/spi-peripheral-props.yaml#
> +
> +unevaluatedProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/iio/addac/adi,ad74413r.h>
> +
> + spi {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + dac@0 {
> + compatible = "adi,ad5710r";
> + reg = <0>;
> + spi-max-frequency = <1000000>;
> + vdd-supply = <&vdd>;
> + iovdd-supply = <&iovdd>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + channel@0 {
> + reg = <0>;
> + adi,ch-func = <CH_FUNC_VOLTAGE_OUTPUT>;
> + };
> +
> + channel@1 {
> + reg = <1>;
> + adi,ch-func = <CH_FUNC_CURRENT_OUTPUT>;
> + };
> + };
> + };
> +...
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 3f5e7b2f524d..ec0f3812199c 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -1468,6 +1468,7 @@ L: linux-iio@xxxxxxxxxxxxxxx
> S: Supported
> W: https://ez.analog.com/linux-software-drivers
> F: Documentation/devicetree/bindings/iio/dac/adi,ad3530r.yaml
> +F: Documentation/devicetree/bindings/iio/dac/adi,ad5710r.yaml
> F: drivers/iio/dac/ad3530r.c
>
> ANALOG DEVICES INC AD3552R DRIVER
>
> --
> 2.34.1
>

Attachment: signature.asc
Description: PGP signature