diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2009-12-18 08:11:12 -0500 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2009-12-18 08:31:22 -0500 |
commit | 56927eb054abd2c7371c769f359cc49a04ab488e (patch) | |
tree | e439684602a00a0800725a2860d2fac551c8710c /sound/soc/codecs/wm8904.c | |
parent | b35a28af0a64a1e8e389bc009b76253256d8fe7b (diff) |
ASoC: Set AIF word length for WM8904
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Diffstat (limited to 'sound/soc/codecs/wm8904.c')
-rw-r--r-- | sound/soc/codecs/wm8904.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/sound/soc/codecs/wm8904.c b/sound/soc/codecs/wm8904.c index 8310e5d14b83..e44ee31c2184 100644 --- a/sound/soc/codecs/wm8904.c +++ b/sound/soc/codecs/wm8904.c | |||
@@ -1503,6 +1503,23 @@ static int wm8904_hw_params(struct snd_pcm_substream *substream, | |||
1503 | wm8904->bclk = snd_soc_params_to_bclk(params); | 1503 | wm8904->bclk = snd_soc_params_to_bclk(params); |
1504 | } | 1504 | } |
1505 | 1505 | ||
1506 | switch (params_format(params)) { | ||
1507 | case SNDRV_PCM_FORMAT_S16_LE: | ||
1508 | break; | ||
1509 | case SNDRV_PCM_FORMAT_S20_3LE: | ||
1510 | aif1 |= 0x40; | ||
1511 | break; | ||
1512 | case SNDRV_PCM_FORMAT_S24_LE: | ||
1513 | aif1 |= 0x80; | ||
1514 | break; | ||
1515 | case SNDRV_PCM_FORMAT_S32_LE: | ||
1516 | aif1 |= 0xc0; | ||
1517 | break; | ||
1518 | default: | ||
1519 | return -EINVAL; | ||
1520 | } | ||
1521 | |||
1522 | |||
1506 | dev_dbg(codec->dev, "Target BCLK is %dHz\n", wm8904->bclk); | 1523 | dev_dbg(codec->dev, "Target BCLK is %dHz\n", wm8904->bclk); |
1507 | 1524 | ||
1508 | ret = wm8904_configure_clocking(codec); | 1525 | ret = wm8904_configure_clocking(codec); |