forked from Minki/linux
Merge remote-tracking branch 'asoc/fix/sgtl5000' into asoc-linus
This commit is contained in:
commit
4b871df52e
@ -483,21 +483,21 @@ static int sgtl5000_set_dai_fmt(struct snd_soc_dai *codec_dai, unsigned int fmt)
|
||||
/* setting i2s data format */
|
||||
switch (fmt & SND_SOC_DAIFMT_FORMAT_MASK) {
|
||||
case SND_SOC_DAIFMT_DSP_A:
|
||||
i2sctl |= SGTL5000_I2S_MODE_PCM;
|
||||
i2sctl |= SGTL5000_I2S_MODE_PCM << SGTL5000_I2S_MODE_SHIFT;
|
||||
break;
|
||||
case SND_SOC_DAIFMT_DSP_B:
|
||||
i2sctl |= SGTL5000_I2S_MODE_PCM;
|
||||
i2sctl |= SGTL5000_I2S_MODE_PCM << SGTL5000_I2S_MODE_SHIFT;
|
||||
i2sctl |= SGTL5000_I2S_LRALIGN;
|
||||
break;
|
||||
case SND_SOC_DAIFMT_I2S:
|
||||
i2sctl |= SGTL5000_I2S_MODE_I2S_LJ;
|
||||
i2sctl |= SGTL5000_I2S_MODE_I2S_LJ << SGTL5000_I2S_MODE_SHIFT;
|
||||
break;
|
||||
case SND_SOC_DAIFMT_RIGHT_J:
|
||||
i2sctl |= SGTL5000_I2S_MODE_RJ;
|
||||
i2sctl |= SGTL5000_I2S_MODE_RJ << SGTL5000_I2S_MODE_SHIFT;
|
||||
i2sctl |= SGTL5000_I2S_LRPOL;
|
||||
break;
|
||||
case SND_SOC_DAIFMT_LEFT_J:
|
||||
i2sctl |= SGTL5000_I2S_MODE_I2S_LJ;
|
||||
i2sctl |= SGTL5000_I2S_MODE_I2S_LJ << SGTL5000_I2S_MODE_SHIFT;
|
||||
i2sctl |= SGTL5000_I2S_LRALIGN;
|
||||
break;
|
||||
default:
|
||||
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user