ASoC: Intel: cht-bsw-rt5645: fix DAI formats
Remove default and set I2S mode correctly both on codec and cpu sides Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
bf92c6efc6
commit
7bde09dfcf
|
@ -304,13 +304,6 @@ static int cht_codec_init(struct snd_soc_pcm_runtime *runtime)
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
/* TDM 4 slots 24 bit, set Rx & Tx bitmask to 4 active slots */
|
|
||||||
ret = snd_soc_dai_set_tdm_slot(codec_dai, 0xF, 0xF, 4, 24);
|
|
||||||
if (ret < 0) {
|
|
||||||
dev_err(runtime->dev, "can't set codec TDM slot %d\n", ret);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ctx->acpi_card->codec_type == CODEC_TYPE_RT5650)
|
if (ctx->acpi_card->codec_type == CODEC_TYPE_RT5650)
|
||||||
jack_type = SND_JACK_HEADPHONE | SND_JACK_MICROPHONE |
|
jack_type = SND_JACK_HEADPHONE | SND_JACK_MICROPHONE |
|
||||||
SND_JACK_BTN_0 | SND_JACK_BTN_1 |
|
SND_JACK_BTN_0 | SND_JACK_BTN_1 |
|
||||||
|
@ -377,7 +370,17 @@ static int cht_codec_fixup(struct snd_soc_pcm_runtime *rtd,
|
||||||
*/
|
*/
|
||||||
ret = snd_soc_dai_set_fmt(rtd->cpu_dai,
|
ret = snd_soc_dai_set_fmt(rtd->cpu_dai,
|
||||||
SND_SOC_DAIFMT_I2S |
|
SND_SOC_DAIFMT_I2S |
|
||||||
SND_SOC_DAIFMT_NB_IF |
|
SND_SOC_DAIFMT_NB_NF |
|
||||||
|
SND_SOC_DAIFMT_CBS_CFS
|
||||||
|
);
|
||||||
|
if (ret < 0) {
|
||||||
|
dev_err(rtd->dev, "can't set format to I2S, err %d\n", ret);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = snd_soc_dai_set_fmt(rtd->codec_dai,
|
||||||
|
SND_SOC_DAIFMT_I2S |
|
||||||
|
SND_SOC_DAIFMT_NB_NF |
|
||||||
SND_SOC_DAIFMT_CBS_CFS
|
SND_SOC_DAIFMT_CBS_CFS
|
||||||
);
|
);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
|
@ -396,6 +399,24 @@ static int cht_codec_fixup(struct snd_soc_pcm_runtime *rtd,
|
||||||
/* set SSP2 to 24-bit */
|
/* set SSP2 to 24-bit */
|
||||||
params_set_format(params, SNDRV_PCM_FORMAT_S24_LE);
|
params_set_format(params, SNDRV_PCM_FORMAT_S24_LE);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Default mode for SSP configuration is TDM 4 slot
|
||||||
|
*/
|
||||||
|
ret = snd_soc_dai_set_fmt(rtd->codec_dai,
|
||||||
|
SND_SOC_DAIFMT_DSP_B |
|
||||||
|
SND_SOC_DAIFMT_IB_NF |
|
||||||
|
SND_SOC_DAIFMT_CBS_CFS);
|
||||||
|
if (ret < 0) {
|
||||||
|
dev_err(rtd->dev, "can't set format to TDM %d\n", ret);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* TDM 4 slots 24 bit, set Rx & Tx bitmask to 4 active slots */
|
||||||
|
ret = snd_soc_dai_set_tdm_slot(rtd->codec_dai, 0xF, 0xF, 4, 24);
|
||||||
|
if (ret < 0) {
|
||||||
|
dev_err(rtd->dev, "can't set codec TDM slot %d\n", ret);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -458,8 +479,6 @@ static struct snd_soc_dai_link cht_dailink[] = {
|
||||||
.no_pcm = 1,
|
.no_pcm = 1,
|
||||||
.codec_dai_name = "rt5645-aif1",
|
.codec_dai_name = "rt5645-aif1",
|
||||||
.codec_name = "i2c-10EC5645:00",
|
.codec_name = "i2c-10EC5645:00",
|
||||||
.dai_fmt = SND_SOC_DAIFMT_DSP_B | SND_SOC_DAIFMT_IB_NF
|
|
||||||
| SND_SOC_DAIFMT_CBS_CFS,
|
|
||||||
.init = cht_codec_init,
|
.init = cht_codec_init,
|
||||||
.be_hw_params_fixup = cht_codec_fixup,
|
.be_hw_params_fixup = cht_codec_fixup,
|
||||||
.nonatomic = true,
|
.nonatomic = true,
|
||||||
|
|
Loading…
Reference in New Issue