Update rk3399 to match the pattern in the other device-specific
implementations to ensure the previous address is cleared when reading
multiple blocks.

Signed-off-by: John Keeping <j...@metanate.com>
---
 drivers/misc/rockchip-efuse.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/misc/rockchip-efuse.c b/drivers/misc/rockchip-efuse.c
index 2f96b79ea4..d302271239 100644
--- a/drivers/misc/rockchip-efuse.c
+++ b/drivers/misc/rockchip-efuse.c
@@ -207,8 +207,8 @@ static int rockchip_rk3399_efuse_read(struct udevice *dev, 
int offset,
        udelay(1);
 
        while (size--) {
-               setbits_le32(efuse->base + EFUSE_CTRL,
-                            EFUSE_STROBE | RK3399_ADDR(offset++));
+               clrsetbits_le32(efuse->base + EFUSE_CTRL, RK3399_A_MASK,
+                               EFUSE_STROBE | RK3399_ADDR(offset++));
                udelay(1);
                *buffer++ = readl(efuse->base + EFUSE_DOUT);
                clrbits_le32(efuse->base + EFUSE_CTRL, EFUSE_STROBE);
-- 
2.40.0

Reply via email to