Commit 5011454e authored by Peter Ujfalusi's avatar Peter Ujfalusi Committed by Mark Brown

ASoC: pcm3168a: Enable TDM support for DSP_A/B modes

The 24-bit TDM mode also applies to DSP_A and DSP_B modes.
Most dais on the SoC side can not interpret I2S/Left_j with other than 2
channels of audio.
Signed-off-by: default avatarPeter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent bb24a31e
...@@ -457,13 +457,16 @@ static int pcm3168a_hw_params(struct snd_pcm_substream *substream, ...@@ -457,13 +457,16 @@ static int pcm3168a_hw_params(struct snd_pcm_substream *substream,
if (chan > 2) { if (chan > 2) {
switch (fmt) { switch (fmt) {
case PCM3168A_FMT_I2S: case PCM3168A_FMT_I2S:
case PCM3168A_FMT_DSP_A:
fmt = PCM3168A_FMT_I2S_TDM; fmt = PCM3168A_FMT_I2S_TDM;
break; break;
case PCM3168A_FMT_LEFT_J: case PCM3168A_FMT_LEFT_J:
case PCM3168A_FMT_DSP_B:
fmt = PCM3168A_FMT_LEFT_J_TDM; fmt = PCM3168A_FMT_LEFT_J_TDM;
break; break;
default: default:
dev_err(component->dev, "TDM is supported under I2S/Left_J only\n"); dev_err(component->dev,
"TDM is supported under DSP/I2S/Left_J only\n");
return -EINVAL; return -EINVAL;
} }
} }
...@@ -526,6 +529,8 @@ static int pcm3168a_startup(struct snd_pcm_substream *substream, ...@@ -526,6 +529,8 @@ static int pcm3168a_startup(struct snd_pcm_substream *substream,
break; break;
case PCM3168A_FMT_LEFT_J: case PCM3168A_FMT_LEFT_J:
case PCM3168A_FMT_I2S: case PCM3168A_FMT_I2S:
case PCM3168A_FMT_DSP_A:
case PCM3168A_FMT_DSP_B:
sample_min = 24; sample_min = 24;
channel_max = channel_maxs[tx]; channel_max = channel_maxs[tx];
break; break;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment