diff options
author | Axel Lin <axel.lin@ingics.com> | 2012-12-20 03:17:25 -0500 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-12-20 11:01:26 -0500 |
commit | ad1937cdd59c412097ec2bb8f38c12a5640f1f9a (patch) | |
tree | cfcee204f527b2132f49b82cd264b36e8a58f69f | |
parent | 8246b5b03ef4ab6f29ad8edad859c74b124323cb (diff) |
ASoC: sta529: Fix update register bits in sta529_set_dai_fmt
Both the mask and mode settings are wrong in current code.
According to the datasheet:
S2PCFG0 (0x0A)
BIT[3:1] DATA_FORMAT
serial interface protocol format:
000: left Justified
001: I2S (default)
010: right justified
100: PCM no delay
101: PCM delay
111: DSP
Thus fixes the defines for LEFT_J_DATA_FORMAT, I2S_DATA_FORMAT, and
RIGHT_J_DATA_FORMAT.
Also adds define for DATA_FORMAT_MSK.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
Acked-by: Rajeev Kumar <rajeev-dlh.kumar@st.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@vger.kernel.org
-rw-r--r-- | sound/soc/codecs/sta529.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/sound/soc/codecs/sta529.c b/sound/soc/codecs/sta529.c index ab355c4f0b2d..40c07be9b581 100644 --- a/sound/soc/codecs/sta529.c +++ b/sound/soc/codecs/sta529.c | |||
@@ -74,9 +74,10 @@ | |||
74 | SNDRV_PCM_FMTBIT_S32_LE) | 74 | SNDRV_PCM_FMTBIT_S32_LE) |
75 | #define S2PC_VALUE 0x98 | 75 | #define S2PC_VALUE 0x98 |
76 | #define CLOCK_OUT 0x60 | 76 | #define CLOCK_OUT 0x60 |
77 | #define LEFT_J_DATA_FORMAT 0x10 | 77 | #define DATA_FORMAT_MSK 0x0E |
78 | #define I2S_DATA_FORMAT 0x12 | 78 | #define LEFT_J_DATA_FORMAT 0x00 |
79 | #define RIGHT_J_DATA_FORMAT 0x14 | 79 | #define I2S_DATA_FORMAT 0x02 |
80 | #define RIGHT_J_DATA_FORMAT 0x04 | ||
80 | #define CODEC_MUTE_VAL 0x80 | 81 | #define CODEC_MUTE_VAL 0x80 |
81 | 82 | ||
82 | #define POWER_CNTLMSAK 0x40 | 83 | #define POWER_CNTLMSAK 0x40 |
@@ -289,7 +290,7 @@ static int sta529_set_dai_fmt(struct snd_soc_dai *codec_dai, u32 fmt) | |||
289 | return -EINVAL; | 290 | return -EINVAL; |
290 | } | 291 | } |
291 | 292 | ||
292 | snd_soc_update_bits(codec, STA529_S2PCFG0, 0x0D, mode); | 293 | snd_soc_update_bits(codec, STA529_S2PCFG0, DATA_FORMAT_MSK, mode); |
293 | 294 | ||
294 | return 0; | 295 | return 0; |
295 | } | 296 | } |