summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorEric Nelson <eric.nelson@boundarydevices.com>2015-01-30 14:07:55 -0700
committerJiri Slaby <jslaby@suse.cz>2015-02-09 10:50:22 +0100
commitb8de3b8efb36fbac23f80ba980858777ff0c4034 (patch)
tree192b4b02d87a05926d2e2dd1bb5a767f00ea4ab0 /sound
parent118ccf9d5bd49b33ad27fa821ef0ab1c3839ec77 (diff)
ASoC: sgtl5000: add delay before first I2C access
commit 58cc9c9a175885bbf6bae3acf18233d0a8229a84 upstream. To quote from section 1.3.1 of the data sheet: The SGTL5000 has an internal reset that is deasserted 8 SYS_MCLK cycles after all power rails have been brought up. After this time, communication can start ... 1.0us represents 8 SYS_MCLK cycles at the minimum 8.0 MHz SYS_MCLK. Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com> Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/codecs/sgtl5000.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sound/soc/codecs/sgtl5000.c b/sound/soc/codecs/sgtl5000.c
index b76c6b619227..ba73f832e455 100644
--- a/sound/soc/codecs/sgtl5000.c
+++ b/sound/soc/codecs/sgtl5000.c
@@ -1550,6 +1550,9 @@ static int sgtl5000_i2c_probe(struct i2c_client *client,
if (ret)
return ret;
+ /* Need 8 clocks before I2C accesses */
+ udelay(1);
+
/* read chip information */
ret = regmap_read(sgtl5000->regmap, SGTL5000_CHIP_ID, &reg);
if (ret)