From c9a726af713836f57c9cccf1842d858c7f448989 Mon Sep 17 00:00:00 2001 From: Taniya Das Date: Fri, 7 May 2021 12:52:31 +0530 Subject: [PATCH] clk: qcom: gdsc: Update the BLK_ARES assert/deassert delay The recommendation is to ensure that the ACD BLK_ARES/IROOT_ARES are kept asserted for at least 100 us before being de-asserted. Change-Id: I7910a86bcff1589d8ace975c6c18e2b86e924714 Signed-off-by: Taniya Das --- drivers/clk/qcom/gdsc-regulator.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/clk/qcom/gdsc-regulator.c b/drivers/clk/qcom/gdsc-regulator.c index 7ec16810198a..d3794fbe283d 100644 --- a/drivers/clk/qcom/gdsc-regulator.c +++ b/drivers/clk/qcom/gdsc-regulator.c @@ -251,11 +251,13 @@ static int gdsc_enable(struct regulator_dev *rdev) regmap_write(sc->acd_misc_reset, REG_OFFSET, regval); /* - * BLK_ARES should be kept asserted for 1us before - * being de-asserted. + * BLK_ARES should be kept asserted for at least 100 us + * before being de-asserted. + * This is necessary as in HW there are 3 demet cells + * on sleep clk to synchronize the BLK_ARES. */ gdsc_mb(sc); - udelay(1); + udelay(100); regval &= ~BCR_BLK_ARES_BIT; regmap_write(sc->sw_reset, REG_OFFSET, regval);