aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mfd
diff options
context:
space:
mode:
authorCharles Keepax <ckeepax@opensource.wolfsonmicro.com>2013-04-03 07:53:37 -0400
committerSamuel Ortiz <sameo@linux.intel.com>2013-04-08 09:21:03 -0400
commitc25feaa53cca696321540ca0f8564bf484224cac (patch)
tree2e0937995d8e3da5a27b00b57af905f1dd0ff77f /drivers/mfd
parent87d3af4ac0554afc2e86069d7578f74b12f3f67a (diff)
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')
-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)
529 goto err_enable; 529 goto err_enable;
530 } 530 }
531 531
532 if (arizona->pdata.reset) 532 if (arizona->pdata.reset) {
533 gpio_set_value_cansleep(arizona->pdata.reset, 1); 533 gpio_set_value_cansleep(arizona->pdata.reset, 1);
534 msleep(1);
535 }
534 536
535 regcache_cache_only(arizona->regmap, false); 537 regcache_cache_only(arizona->regmap, false);
536 538
@@ -589,6 +591,8 @@ int arizona_dev_init(struct arizona *arizona)
589 goto err_reset; 591 goto err_reset;
590 } 592 }
591 593
594 msleep(1);
595
592 ret = regcache_sync(arizona->regmap); 596 ret = regcache_sync(arizona->regmap);
593 if (ret != 0) { 597 if (ret != 0) {
594 dev_err(dev, "Failed to sync device: %d\n", ret); 598 dev_err(dev, "Failed to sync device: %d\n", ret);