]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ASoC: sgtl5000: add delay before first I2C access
authorEric Nelson <eric.nelson@boundarydevices.com>
Fri, 30 Jan 2015 21:07:55 +0000 (14:07 -0700)
committerLuis Henriques <luis.henriques@canonical.com>
Tue, 10 Feb 2015 13:38:47 +0000 (13:38 +0000)
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: Luis Henriques <luis.henriques@canonical.com>
sound/soc/codecs/sgtl5000.c

index f039d668266e2328b82a179c4d54a0612287bded..a62d340aa98a5d273088c5de98e2a5cd8031fba9 100644 (file)
@@ -1463,6 +1463,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)