Re: [PATCH v3 2/9] iio: dac: ad3552r-hs: clear reset status flag
From: Jonathan Cameron
Date: Sun Jan 12 2025 - 10:04:16 EST
On Fri, 10 Jan 2025 11:24:14 +0100
Angelo Dureghello <adureghello@xxxxxxxxxxxx> wrote:
> From: Angelo Dureghello <adureghello@xxxxxxxxxxxx>
>
> Clear reset status flag, to keep error status register
> clean after reset (ad3552r manual, rev B table 38).
>
> Reset error flag was left to 1, so debugging registers, the
> "Error Status Register" was dirty (0x01). It is important
> to clear this bit, so if there is any reset event over normal
> working mode, it is possible to detect it.
>
> Fixes: 0b4d9fe58be8 ("iio: dac: ad3552r: add high-speed platform driver")
> Reviewed-by: David Lechner <dlechner@xxxxxxxxxxxx>
> Signed-off-by: Angelo Dureghello <adureghello@xxxxxxxxxxxx>
Ah. I should have checked for newer versions. Anyhow, picked up v2 of patches
1 and 2.
> ---
> drivers/iio/dac/ad3552r-hs.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/drivers/iio/dac/ad3552r-hs.c b/drivers/iio/dac/ad3552r-hs.c
> index 216c634f3eaf..8974df625670 100644
> --- a/drivers/iio/dac/ad3552r-hs.c
> +++ b/drivers/iio/dac/ad3552r-hs.c
> @@ -329,6 +329,12 @@ static int ad3552r_hs_setup(struct ad3552r_hs_state *st)
> dev_info(st->dev, "Chip ID error. Expected 0x%x, Read 0x%x\n",
> AD3552R_ID, id);
>
> + /* Clear reset error flag, see ad3552r manual, rev B table 38. */
> + ret = st->data->bus_reg_write(st->back, AD3552R_REG_ADDR_ERR_STATUS,
> + AD3552R_MASK_RESET_STATUS, 1);
> + if (ret)
> + return ret;
> +
> ret = st->data->bus_reg_write(st->back,
> AD3552R_REG_ADDR_SH_REFERENCE_CONFIG,
> 0, 1);
>