Message ID | 20241216-wip-bl-ad3552r-axi-v0-iio-testing-carlos-v1-2-856ff71fc930@baylibre.com (mailing list archive) |
---|---|
State | Changes Requested |
Headers | show |
Series | iio: ad3552r-hs: add support for ad3541/42r | expand |
On Mon, 16 Dec 2024 21:36:22 +0100 Angelo Dureghello <adureghello@baylibre.com> wrote: > From: Angelo Dureghello <adureghello@baylibre.com> > > Clear reset status flag, to keep error status register > clean after reset (ad3552r manual, rev B table 38). > > Fixes: 0b4d9fe58be8 ("iio: dac: ad3552r: add high-speed platform driver") > Signed-off-by: Angelo Dureghello <adureghello@baylibre.com> Again, something on what the visible effects of this area. That helps people decide whether to backport. Thanks, Jonathan > --- > 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); >
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);