Re: [PATCH v4 3/3] iio: dac: ad3530r: Add driver for AD3530R and AD3531R

Jonathan Cameron
2025-04-12T17:44:40Z

On Sat, 12 Apr 2025 13:57:32 +0800
Kim Seer Paller <kimseer.paller@analog.com> wrote:

> The AD3530/AD3530R (8-channel) and AD3531/AD3531R (4-channel) are
> low-power, 16-bit, buffered voltage output DACs with software-
> programmable gain controls, providing full-scale output spans of 2.5V or
> 5V for reference voltages of 2.5V. These devices operate from a single
> 2.7V to 5.5V supply and are guaranteed monotonic by design. The "R"
> variants include a 2.5V, 5ppm/°C internal reference, which is disabled
> by default.
>
> Support for monitoring internal die temperature, output voltages, and
> current of a selected channel via the MUXOUT pin using an external ADC
> is currently not implemented.
>
> Signed-off-by: Kim Seer Paller <kimseer.paller@analog.com>
Hi,

One really small comment from me. Otherwise this just needs
to sit on list for a little while to give other reviewers time.
If nothing else comes up I may just tweak the thing below (or leave
it alone!)

Thanks,

Jonathan

> diff --git a/drivers/iio/dac/ad3530r.c b/drivers/iio/dac/ad3530r.c
> new file mode 100644
> index 0000000000000000000000000000000000000000..ffa04f678b86d8da6f5e47c35c265b6648121843
> --- /dev/null
> +++ b/drivers/iio/dac/ad3530r.c
> @@ -0,0 +1,506 @@

...

> +static int ad3530r_probe(struct spi_device *spi)
> +{

...

> + vref = devm_regulator_get_enable_read_voltage(dev, "ref");
> + if (vref < 0 && vref != -ENODEV)
> + return vref;
> +
> + has_external_vref = vref != -ENODEV;
> +
> + if (!st->chip_info->internal_ref_support && !has_external_vref)
> + return vref;
If doing a v5 I'd go with
return -ENODEV;
rather than having people scratch their heads to figure out what is in vref.

> +