diff options
author | Charles Keepax <ckeepax@opensource.wolfsonmicro.com> | 2013-04-03 13:53:37 +0200 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2013-04-08 15:21:03 +0200 |
commit | c25feaa53cca696321540ca0f8564bf484224cac (patch) | |
tree | 2e0937995d8e3da5a27b00b57af905f1dd0ff77f /drivers/mfd/arizona-core.c | |
parent | mfd: arizona: Hold device in reset while ramping supplies (diff) | |
download | linux-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.c | 6 |
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); |