Re: [PATCH 1/8] iio: dac: ad3552r-common: fix ad3541/2r ranges

From: Jonathan Cameron
Date: Thu Dec 19 2024 - 11:44:57 EST


On Mon, 16 Dec 2024 21:36:21 +0100
Angelo Dureghello <adureghello@xxxxxxxxxxxx> wrote:

> From: Angelo Dureghello <adureghello@xxxxxxxxxxxx>
>
> Fix ad3541/2r voltage ranges to be as per ad3542r datasheet,
> rev. C, table 38 (page 57).
>
> Fixes: 8f2b54824b28 ("drivers:iio:dac: Add AD3552R driver support")
> Signed-off-by: Angelo Dureghello <adureghello@xxxxxxxxxxxx>

Could you provide a brief statement of the impact of these being wrong.
What does it look like to userspace / configuration of what we are
measuring?

Thanks,

Jonathan

> ---
> drivers/iio/dac/ad3552r-common.c | 5 ++---
> drivers/iio/dac/ad3552r.h | 8 +++-----
> 2 files changed, 5 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/iio/dac/ad3552r-common.c b/drivers/iio/dac/ad3552r-common.c
> index 0f495df2e5ce..03e0864f5084 100644
> --- a/drivers/iio/dac/ad3552r-common.c
> +++ b/drivers/iio/dac/ad3552r-common.c
> @@ -22,11 +22,10 @@ EXPORT_SYMBOL_NS_GPL(ad3552r_ch_ranges, "IIO_AD3552R");
>
> const s32 ad3542r_ch_ranges[AD3542R_MAX_RANGES][2] = {
> [AD3542R_CH_OUTPUT_RANGE_0__2P5V] = { 0, 2500 },
> - [AD3542R_CH_OUTPUT_RANGE_0__3V] = { 0, 3000 },
> [AD3542R_CH_OUTPUT_RANGE_0__5V] = { 0, 5000 },
> [AD3542R_CH_OUTPUT_RANGE_0__10V] = { 0, 10000 },
> - [AD3542R_CH_OUTPUT_RANGE_NEG_2P5__7P5V] = { -2500, 7500 },
> - [AD3542R_CH_OUTPUT_RANGE_NEG_5__5V] = { -5000, 5000 }
> + [AD3542R_CH_OUTPUT_RANGE_NEG_5__5V] = { -5000, 5000 },
> + [AD3542R_CH_OUTPUT_RANGE_NEG_2P5__7P5V] = { -2500, 7500 }
> };
> EXPORT_SYMBOL_NS_GPL(ad3542r_ch_ranges, "IIO_AD3552R");
>
> diff --git a/drivers/iio/dac/ad3552r.h b/drivers/iio/dac/ad3552r.h
> index fd5a3dfd1d1c..4b5581039ae9 100644
> --- a/drivers/iio/dac/ad3552r.h
> +++ b/drivers/iio/dac/ad3552r.h
> @@ -131,7 +131,7 @@
> #define AD3552R_CH1_ACTIVE BIT(1)
>
> #define AD3552R_MAX_RANGES 5
> -#define AD3542R_MAX_RANGES 6
> +#define AD3542R_MAX_RANGES 5
> #define AD3552R_QUAD_SPI 2
>
> extern const s32 ad3552r_ch_ranges[AD3552R_MAX_RANGES][2];
> @@ -189,16 +189,14 @@ enum ad3552r_ch_vref_select {
> enum ad3542r_ch_output_range {
> /* Range from 0 V to 2.5 V. Requires Rfb1x connection */
> AD3542R_CH_OUTPUT_RANGE_0__2P5V,
> - /* Range from 0 V to 3 V. Requires Rfb1x connection */
> - AD3542R_CH_OUTPUT_RANGE_0__3V,
> /* Range from 0 V to 5 V. Requires Rfb1x connection */
> AD3542R_CH_OUTPUT_RANGE_0__5V,
> /* Range from 0 V to 10 V. Requires Rfb2x connection */
> AD3542R_CH_OUTPUT_RANGE_0__10V,
> - /* Range from -2.5 V to 7.5 V. Requires Rfb2x connection */
> - AD3542R_CH_OUTPUT_RANGE_NEG_2P5__7P5V,
> /* Range from -5 V to 5 V. Requires Rfb2x connection */
> AD3542R_CH_OUTPUT_RANGE_NEG_5__5V,
> + /* Range from -2.5 V to 7.5 V. Requires Rfb2x connection */
> + AD3542R_CH_OUTPUT_RANGE_NEG_2P5__7P5V,
> };
>
> enum ad3552r_ch_output_range {
>