summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAngelo Dureghello <adureghello@baylibre.com>2025-01-25 17:24:32 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-03-13 13:08:07 +0100
commite6df127a6b0e875c5b69ed5f615c12ce0e49486a (patch)
treec426ac6950e2fd08f3289e6498dfd57dbadcf4ae
parent087d46e1196155c61defd244decf2b62b9b0f13d (diff)
downloadlinux-e6df127a6b0e875c5b69ed5f615c12ce0e49486a.tar.gz
linux-e6df127a6b0e875c5b69ed5f615c12ce0e49486a.tar.bz2
linux-e6df127a6b0e875c5b69ed5f615c12ce0e49486a.zip
iio: dac: ad3552r: clear reset status flag
commit e17b9f20da7d2bc1f48878ab2230523b2512d965 upstream. 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: 8f2b54824b28 ("drivers:iio:dac: Add AD3552R driver support") Signed-off-by: Angelo Dureghello <adureghello@baylibre.com> Link: https://patch.msgid.link/20250125-wip-bl-ad3552r-clear-reset-v2-1-aa3a27f3ff8c@baylibre.com Cc: <Stable@vger.kernel.org> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/iio/dac/ad3552r.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/iio/dac/ad3552r.c b/drivers/iio/dac/ad3552r.c
index e7206af53af6..7944f5c1d264 100644
--- a/drivers/iio/dac/ad3552r.c
+++ b/drivers/iio/dac/ad3552r.c
@@ -410,6 +410,12 @@ static int ad3552r_reset(struct ad3552r_desc *dac)
return ret;
}
+ /* Clear reset error flag, see ad3552r manual, rev B table 38. */
+ ret = ad3552r_write_reg(dac, AD3552R_REG_ADDR_ERR_STATUS,
+ AD3552R_MASK_RESET_STATUS);
+ if (ret)
+ return ret;
+
return ad3552r_update_reg_field(dac,
AD3552R_REG_ADDR_INTERFACE_CONFIG_A,
AD3552R_MASK_ADDR_ASCENSION,