[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20221118131035.54874-1-konrad.dybcio@linaro.org>
Date: Fri, 18 Nov 2022 14:10:35 +0100
From: Konrad Dybcio <konrad.dybcio@...aro.org>
To: Mark Brown <broonie@...nel.org>,
Liam Girdwood <lgirdwood@...il.com>,
linux-kernel@...r.kernel.org
Cc: patches@...aro.org, Konrad Dybcio <konrad.dybcio@...aro.org>,
Support Opensource <support.opensource@...semi.com>
Subject: [PATCH] regulator: slg51000: Wait after asserting CS pin
Sony's downstream driver [1], among some other changes, adds a
seemingly random 10ms usleep_range, which turned out to be necessary
for the hardware to function properly on at least Sony Xperia 1 IV.
Without this, I2C transactions with the SLG51000 straight up fail.
Relax (10-10ms -> 10-11ms) and add the aforementioned sleep to make
sure the hardware has some time to wake up.
(nagara-2.0.0-mlc/vendor/semc/hardware/camera-kernel-module/)
[1] https://developer.sony.com/file/download/open-source-archive-for-64-0-m-4-29/
Signed-off-by: Konrad Dybcio <konrad.dybcio@...aro.org>
---
drivers/regulator/slg51000-regulator.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/regulator/slg51000-regulator.c b/drivers/regulator/slg51000-regulator.c
index 75a941fb3c2b..1b2eee95ad3f 100644
--- a/drivers/regulator/slg51000-regulator.c
+++ b/drivers/regulator/slg51000-regulator.c
@@ -457,6 +457,8 @@ static int slg51000_i2c_probe(struct i2c_client *client)
chip->cs_gpiod = cs_gpiod;
}
+ usleep_range(10000, 11000);
+
i2c_set_clientdata(client, chip);
chip->chip_irq = client->irq;
chip->dev = dev;
--
2.38.1
Powered by blists - more mailing lists