diff options
| author | Charles Keepax <ckeepax@opensource.wolfsonmicro.com> | 2013-04-03 07:53:37 -0400 |
|---|---|---|
| committer | Samuel Ortiz <sameo@linux.intel.com> | 2013-04-08 09:21:03 -0400 |
| commit | c25feaa53cca696321540ca0f8564bf484224cac (patch) | |
| tree | 2e0937995d8e3da5a27b00b57af905f1dd0ff77f | |
| parent | 87d3af4ac0554afc2e86069d7578f74b12f3f67a (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>
| -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) | |||
| 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); |
