ASoC: tlv320aic3x: Add support for S24_LE format
authorPeter Ujfalusi <peter.ujfalusi@ti.com>
Thu, 26 Jun 2014 05:06:56 +0000 (08:06 +0300)
committerMark Brown <broonie@linaro.org>
Mon, 30 Jun 2014 14:52:32 +0000 (15:52 +0100)
The codec need to be configured to 24bit mode in case of S24_LE format.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
sound/soc/codecs/tlv320aic3x.c

index 5360772bc1add02e30c6d4b5510ef9c0ab9ea06e..d275890a682796c7103f3fcacb08a3aed67a1c88 100644 (file)
@@ -880,6 +880,7 @@ static int aic3x_hw_params(struct snd_pcm_substream *substream,
                data |= (0x01 << 4);
                break;
        case SNDRV_PCM_FORMAT_S24_3LE:
+       case SNDRV_PCM_FORMAT_S24_LE:
                data |= (0x02 << 4);
                break;
        case SNDRV_PCM_FORMAT_S32_LE:
@@ -1194,7 +1195,8 @@ static int aic3x_set_bias_level(struct snd_soc_codec *codec,
 
 #define AIC3X_RATES    SNDRV_PCM_RATE_8000_96000
 #define AIC3X_FORMATS  (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE | \
-                        SNDRV_PCM_FMTBIT_S24_3LE | SNDRV_PCM_FMTBIT_S32_LE)
+                        SNDRV_PCM_FMTBIT_S24_3LE | SNDRV_PCM_FMTBIT_S24_LE | \
+                        SNDRV_PCM_FMTBIT_S32_LE)
 
 static const struct snd_soc_dai_ops aic3x_dai_ops = {
        .hw_params      = aic3x_hw_params,