mfd: arizona: Wait for internal clocks to startup after reset
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
diff --git a/drivers/mfd/arizona-core.c b/drivers/mfd/arizona-core.c
index ae10af7..41856b4c 100644
--- a/drivers/mfd/arizona-core.c
+++ b/drivers/mfd/arizona-core.c
@@ -529,8 +529,10 @@
goto err_enable;
}
- if (arizona->pdata.reset)
+ if (arizona->pdata.reset) {
gpio_set_value_cansleep(arizona->pdata.reset, 1);
+ msleep(1);
+ }
regcache_cache_only(arizona->regmap, false);
@@ -589,6 +591,8 @@
goto err_reset;
}
+ msleep(1);
+
ret = regcache_sync(arizona->regmap);
if (ret != 0) {
dev_err(dev, "Failed to sync device: %d\n", ret);