summaryrefslogtreecommitdiffstats
path: root/drivers/mfd/arizona-core.c
diff options
context:
space:
mode:
authorCharles Keepax <ckeepax@opensource.wolfsonmicro.com>2013-04-03 13:53:37 +0200
committerSamuel Ortiz <sameo@linux.intel.com>2013-04-08 15:21:03 +0200
commitc25feaa53cca696321540ca0f8564bf484224cac (patch)
tree2e0937995d8e3da5a27b00b57af905f1dd0ff77f /drivers/mfd/arizona-core.c
parentmfd: arizona: Hold device in reset while ramping supplies (diff)
downloadlinux-c25feaa53cca696321540ca0f8564bf484224cac.tar.xz
linux-c25feaa53cca696321540ca0f8564bf484224cac.zip
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>
Diffstat (limited to 'drivers/mfd/arizona-core.c')
-rw-r--r--drivers/mfd/arizona-core.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/mfd/arizona-core.c b/drivers/mfd/arizona-core.c
index ae10af798843..41856b4c0d17 100644
--- a/drivers/mfd/arizona-core.c
+++ b/drivers/mfd/arizona-core.c
@@ -529,8 +529,10 @@ int arizona_dev_init(struct arizona *arizona)
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 @@ int arizona_dev_init(struct arizona *arizona)
goto err_reset;
}
+ msleep(1);
+
ret = regcache_sync(arizona->regmap);
if (ret != 0) {
dev_err(dev, "Failed to sync device: %d\n", ret);