mirror of
https://github.com/torvalds/linux.git
synced 2026-09-22 12:44:03 +02:00
regulator: Fix for v7.3
One fix here, for a race condition on startup in the tps65185 driver which is seen on actual boards - we need a delay after waking the chip before it is ready to talk to the host. -----BEGIN PGP SIGNATURE----- iQEzBAABCgAdFiEEreZoqmdXGLWf4p/qJNaLcl1Uh9AFAmqQOSwACgkQJNaLcl1U h9CrAAf9H7s1Nw5yB4SDI2TghqmY14G0Sr3EL4ajk0TnUEK6jGfsBVrjDeMMCCoI i/KIq2hSzCmguRJIeJbkAd1iOX3oLuQFZZelalDuMxe0jv96Nr4XjJegabqPpB2O iZzpR3mep3oST4SOj5BfjpifvgNdr1WkC1c/cR49+vd735UXUmw4YxNFA8iow5zL if77jZDvUOk9bOeGP4JXtV9WbGSjLeD5eTQopT0E7oiy5Fym+fc1alVht1nj0ylI YK/3DbVINxz3NoXV0VOYNIv92jAH8I7Pitw154D62tQLqvnD0Nzn8lMKj9lbTsz1 TKHkh6nDyn96Oq3uauFb5JjTMHx1oQ== =k/VH -----END PGP SIGNATURE----- Merge tag 'regulator-fix-v7.3-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator Pull regulator fix from Mark Brown: "One fix here, for a race condition on startup in the tps65185 driver which is seen on actual boards - we need a delay after waking the chip before it is ready to talk to the host" * tag 'regulator-fix-v7.3-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: regulator: tps65185: wait for the IC to wake before the first I2C access
This commit is contained in:
commit
6253a29206
|
|
@ -5,6 +5,7 @@
|
|||
|
||||
#include <linux/cleanup.h>
|
||||
#include <linux/completion.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/gpio/consumer.h>
|
||||
#include <linux/i2c.h>
|
||||
#include <linux/module.h>
|
||||
|
|
@ -375,6 +376,11 @@ static int tps65185_probe(struct i2c_client *client)
|
|||
return dev_err_probe(&client->dev, ret,
|
||||
"failed to get vin regulator\n");
|
||||
|
||||
// TPS65185x PMIC for E Ink Vizplex Enabled Electronic Paper Display Chapter 7.6 Figure 2:
|
||||
// "Minimum delay time between WAKEUP rising edge and IC ready to accept I2C transaction."
|
||||
// https://www.ti.com/lit/ds/symlink/tps65185.pdf
|
||||
usleep_range(1800, 3000);
|
||||
|
||||
data->dev = &client->dev;
|
||||
i2c_set_clientdata(client, data);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user