From: Eric Nelson Date: Fri, 30 Jan 2015 21:07:55 +0000 (-0700) Subject: ASoC: sgtl5000: add delay before first I2C access X-Git-Tag: v3.19~9^2~2^2~3^2 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=58cc9c9a175885bbf6bae3acf18233d0a8229a84;p=~emulex%2Finfiniband.git ASoC: sgtl5000: add delay before first I2C access 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 Reviewed-by: Fabio Estevam Signed-off-by: Mark Brown Cc: stable@vger.kernel.org --- diff --git a/sound/soc/codecs/sgtl5000.c b/sound/soc/codecs/sgtl5000.c index 7665016a79c..aa98be32bb6 100644 --- a/sound/soc/codecs/sgtl5000.c +++ b/sound/soc/codecs/sgtl5000.c @@ -1462,6 +1462,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, ®); if (ret)