diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2011-06-06 16:57:54 -0400 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2011-06-06 16:57:54 -0400 |
commit | 46758dee727348d3648c83445d10ded321376543 (patch) | |
tree | 3c0649b6150901d1d480b3c3a84c45341b09ce2d | |
parent | f97d0c6d5f947a96a6d3957eff3da6d9ca246e54 (diff) | |
parent | 8ca695f273709a9d147826716a8dee3e0eb2407f (diff) |
Merge branch 'for-3.0' into for-3.1
-rw-r--r-- | sound/soc/codecs/ad1836.c | 14 | ||||
-rw-r--r-- | sound/soc/codecs/ad1836.h | 6 |
2 files changed, 13 insertions, 7 deletions
diff --git a/sound/soc/codecs/ad1836.c b/sound/soc/codecs/ad1836.c index 4390d4630de5..1e9a801176d5 100644 --- a/sound/soc/codecs/ad1836.c +++ b/sound/soc/codecs/ad1836.c | |||
@@ -178,22 +178,22 @@ static int ad1836_hw_params(struct snd_pcm_substream *substream, | |||
178 | /* bit size */ | 178 | /* bit size */ |
179 | switch (params_format(params)) { | 179 | switch (params_format(params)) { |
180 | case SNDRV_PCM_FORMAT_S16_LE: | 180 | case SNDRV_PCM_FORMAT_S16_LE: |
181 | word_len = 3; | 181 | word_len = AD1836_WORD_LEN_16; |
182 | break; | 182 | break; |
183 | case SNDRV_PCM_FORMAT_S20_3LE: | 183 | case SNDRV_PCM_FORMAT_S20_3LE: |
184 | word_len = 1; | 184 | word_len = AD1836_WORD_LEN_20; |
185 | break; | 185 | break; |
186 | case SNDRV_PCM_FORMAT_S24_LE: | 186 | case SNDRV_PCM_FORMAT_S24_LE: |
187 | case SNDRV_PCM_FORMAT_S32_LE: | 187 | case SNDRV_PCM_FORMAT_S32_LE: |
188 | word_len = 0; | 188 | word_len = AD1836_WORD_LEN_24; |
189 | break; | 189 | break; |
190 | } | 190 | } |
191 | 191 | ||
192 | snd_soc_update_bits(codec, AD1836_DAC_CTRL1, | 192 | snd_soc_update_bits(codec, AD1836_DAC_CTRL1, AD1836_DAC_WORD_LEN_MASK, |
193 | AD1836_DAC_WORD_LEN_MASK, word_len); | 193 | word_len << AD1836_DAC_WORD_LEN_OFFSET); |
194 | 194 | ||
195 | snd_soc_update_bits(codec, AD1836_ADC_CTRL2, | 195 | snd_soc_update_bits(codec, AD1836_ADC_CTRL2, AD1836_ADC_WORD_LEN_MASK, |
196 | AD1836_ADC_WORD_LEN_MASK, word_len); | 196 | word_len << AD1836_ADC_WORD_OFFSET); |
197 | 197 | ||
198 | return 0; | 198 | return 0; |
199 | } | 199 | } |
diff --git a/sound/soc/codecs/ad1836.h b/sound/soc/codecs/ad1836.h index 4ed7d9dfb346..f13402fe7333 100644 --- a/sound/soc/codecs/ad1836.h +++ b/sound/soc/codecs/ad1836.h | |||
@@ -25,6 +25,7 @@ | |||
25 | #define AD1836_DAC_SERFMT_PCK256 (0x4 << 5) | 25 | #define AD1836_DAC_SERFMT_PCK256 (0x4 << 5) |
26 | #define AD1836_DAC_SERFMT_PCK128 (0x5 << 5) | 26 | #define AD1836_DAC_SERFMT_PCK128 (0x5 << 5) |
27 | #define AD1836_DAC_WORD_LEN_MASK 0x18 | 27 | #define AD1836_DAC_WORD_LEN_MASK 0x18 |
28 | #define AD1836_DAC_WORD_LEN_OFFSET 3 | ||
28 | 29 | ||
29 | #define AD1836_DAC_CTRL2 1 | 30 | #define AD1836_DAC_CTRL2 1 |
30 | 31 | ||
@@ -42,6 +43,7 @@ | |||
42 | 43 | ||
43 | #define AD1836_ADC_CTRL2 13 | 44 | #define AD1836_ADC_CTRL2 13 |
44 | #define AD1836_ADC_WORD_LEN_MASK 0x30 | 45 | #define AD1836_ADC_WORD_LEN_MASK 0x30 |
46 | #define AD1836_ADC_WORD_OFFSET 5 | ||
45 | #define AD1836_ADC_SERFMT_MASK (7 << 6) | 47 | #define AD1836_ADC_SERFMT_MASK (7 << 6) |
46 | #define AD1836_ADC_SERFMT_PCK256 (0x4 << 6) | 48 | #define AD1836_ADC_SERFMT_PCK256 (0x4 << 6) |
47 | #define AD1836_ADC_SERFMT_PCK128 (0x5 << 6) | 49 | #define AD1836_ADC_SERFMT_PCK128 (0x5 << 6) |
@@ -51,4 +53,8 @@ | |||
51 | 53 | ||
52 | #define AD1836_NUM_REGS 16 | 54 | #define AD1836_NUM_REGS 16 |
53 | 55 | ||
56 | #define AD1836_WORD_LEN_24 0x0 | ||
57 | #define AD1836_WORD_LEN_20 0x1 | ||
58 | #define AD1836_WORD_LEN_16 0x2 | ||
59 | |||
54 | #endif | 60 | #endif |