]> git.hungrycats.org Git - linux/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)
committerJiri Slaby <jslaby@suse.cz>
Mon, 9 Feb 2015 09:50:22 +0000 (10:50 +0100)
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>
sound/soc/codecs/sgtl5000.c

index b76c6b6192277448f6176f08bc00acf4d2609469..ba73f832e4558e95fa26a19fec574872e49d1e8c 100644 (file)
@@ -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)