|
@@ -1724,6 +1724,7 @@ static int twl4030_startup(struct snd_pcm_substream *substream,
|
|
|
struct snd_soc_codec *codec = rtd->codec;
|
|
|
struct twl4030_priv *twl4030 = snd_soc_codec_get_drvdata(codec);
|
|
|
|
|
|
+ snd_pcm_hw_constraint_msbits(substream->runtime, 0, 32, 24);
|
|
|
if (twl4030->master_substream) {
|
|
|
twl4030->slave_substream = substream;
|
|
|
/* The DAI has one configuration for playback and capture, so
|
|
@@ -1848,7 +1849,7 @@ static int twl4030_hw_params(struct snd_pcm_substream *substream,
|
|
|
case SNDRV_PCM_FORMAT_S16_LE:
|
|
|
format |= TWL4030_DATA_WIDTH_16S_16W;
|
|
|
break;
|
|
|
- case SNDRV_PCM_FORMAT_S24_LE:
|
|
|
+ case SNDRV_PCM_FORMAT_S32_LE:
|
|
|
format |= TWL4030_DATA_WIDTH_32S_24W;
|
|
|
break;
|
|
|
default:
|
|
@@ -2181,7 +2182,7 @@ static int twl4030_voice_set_tristate(struct snd_soc_dai *dai, int tristate)
|
|
|
}
|
|
|
|
|
|
#define TWL4030_RATES (SNDRV_PCM_RATE_8000_48000)
|
|
|
-#define TWL4030_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FORMAT_S24_LE)
|
|
|
+#define TWL4030_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S32_LE)
|
|
|
|
|
|
static struct snd_soc_dai_ops twl4030_dai_hifi_ops = {
|
|
|
.startup = twl4030_startup,
|