diff options
| author | Peter Ujfalusi <peter.ujfalusi@ti.com> | 2015-06-04 09:04:24 -0400 |
|---|---|---|
| committer | Mark Brown <broonie@kernel.org> | 2015-06-05 13:53:34 -0400 |
| commit | 1b68c7dca2ca7426c758debdbf9dd5f7c308c1c8 (patch) | |
| tree | fc9b26a2fe04a923e770eab24e67f7095d26ae1e | |
| parent | 4c331373b99de9c65dcba8633f73fa3efc20d01f (diff) | |
ASoC: tas2552: Correct and clean up data format and BCLK/WCLK direction
Use names from the datasheet for the definitions.
Correct the data format definitions since they were not correct.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
| -rw-r--r-- | sound/soc/codecs/tas2552.c | 18 | ||||
| -rw-r--r-- | sound/soc/codecs/tas2552.h | 17 |
2 files changed, 17 insertions, 18 deletions
diff --git a/sound/soc/codecs/tas2552.c b/sound/soc/codecs/tas2552.c index 2f4c2b52a9fa..7615d1bc5f5d 100644 --- a/sound/soc/codecs/tas2552.c +++ b/sound/soc/codecs/tas2552.c | |||
| @@ -188,9 +188,9 @@ static int tas2552_hw_params(struct snd_pcm_substream *substream, | |||
| 188 | return 0; | 188 | return 0; |
| 189 | } | 189 | } |
| 190 | 190 | ||
| 191 | #define TAS2552_DAI_FMT_MASK (TAS2552_BIT_CLK_MASK | \ | 191 | #define TAS2552_DAI_FMT_MASK (TAS2552_BCLKDIR | \ |
| 192 | TAS2552_WORD_CLK_MASK | \ | 192 | TAS2552_WCLKDIR | \ |
| 193 | TAS2552_DATA_FORMAT_MASK) | 193 | TAS2552_DATAFORMAT_MASK) |
| 194 | static int tas2552_set_dai_fmt(struct snd_soc_dai *dai, unsigned int fmt) | 194 | static int tas2552_set_dai_fmt(struct snd_soc_dai *dai, unsigned int fmt) |
| 195 | { | 195 | { |
| 196 | struct snd_soc_codec *codec = dai->codec; | 196 | struct snd_soc_codec *codec = dai->codec; |
| @@ -202,13 +202,13 @@ static int tas2552_set_dai_fmt(struct snd_soc_dai *dai, unsigned int fmt) | |||
| 202 | serial_format = 0x00; | 202 | serial_format = 0x00; |
| 203 | break; | 203 | break; |
| 204 | case SND_SOC_DAIFMT_CBS_CFM: | 204 | case SND_SOC_DAIFMT_CBS_CFM: |
| 205 | serial_format = TAS2552_WORD_CLK_MASK; | 205 | serial_format = TAS2552_WCLKDIR; |
| 206 | break; | 206 | break; |
| 207 | case SND_SOC_DAIFMT_CBM_CFS: | 207 | case SND_SOC_DAIFMT_CBM_CFS: |
| 208 | serial_format = TAS2552_BIT_CLK_MASK; | 208 | serial_format = TAS2552_BCLKDIR; |
| 209 | break; | 209 | break; |
| 210 | case SND_SOC_DAIFMT_CBM_CFM: | 210 | case SND_SOC_DAIFMT_CBM_CFM: |
| 211 | serial_format = (TAS2552_BIT_CLK_MASK | TAS2552_WORD_CLK_MASK); | 211 | serial_format = (TAS2552_BCLKDIR | TAS2552_WCLKDIR); |
| 212 | break; | 212 | break; |
| 213 | default: | 213 | default: |
| 214 | dev_vdbg(codec->dev, "DAI Format master is not found\n"); | 214 | dev_vdbg(codec->dev, "DAI Format master is not found\n"); |
| @@ -222,13 +222,13 @@ static int tas2552_set_dai_fmt(struct snd_soc_dai *dai, unsigned int fmt) | |||
| 222 | case (SND_SOC_DAIFMT_DSP_A | SND_SOC_DAIFMT_IB_NF): | 222 | case (SND_SOC_DAIFMT_DSP_A | SND_SOC_DAIFMT_IB_NF): |
| 223 | delay = 1; | 223 | delay = 1; |
| 224 | case (SND_SOC_DAIFMT_DSP_B | SND_SOC_DAIFMT_IB_NF): | 224 | case (SND_SOC_DAIFMT_DSP_B | SND_SOC_DAIFMT_IB_NF): |
| 225 | serial_format |= TAS2552_DAIFMT_DSP; | 225 | serial_format |= TAS2552_DATAFORMAT_DSP; |
| 226 | break; | 226 | break; |
| 227 | case (SND_SOC_DAIFMT_RIGHT_J | SND_SOC_DAIFMT_NB_NF): | 227 | case (SND_SOC_DAIFMT_RIGHT_J | SND_SOC_DAIFMT_NB_NF): |
| 228 | serial_format |= TAS2552_DAIFMT_RIGHT_J; | 228 | serial_format |= TAS2552_DATAFORMAT_RIGHT_J; |
| 229 | break; | 229 | break; |
| 230 | case (SND_SOC_DAIFMT_LEFT_J | SND_SOC_DAIFMT_NB_NF): | 230 | case (SND_SOC_DAIFMT_LEFT_J | SND_SOC_DAIFMT_NB_NF): |
| 231 | serial_format |= TAS2552_DAIFMT_LEFT_J; | 231 | serial_format |= TAS2552_DATAFORMAT_LEFT_J; |
| 232 | break; | 232 | break; |
| 233 | default: | 233 | default: |
| 234 | dev_vdbg(codec->dev, "DAI Format is not found\n"); | 234 | dev_vdbg(codec->dev, "DAI Format is not found\n"); |
diff --git a/sound/soc/codecs/tas2552.h b/sound/soc/codecs/tas2552.h index 0725befb4c41..0a12b511e951 100644 --- a/sound/soc/codecs/tas2552.h +++ b/sound/soc/codecs/tas2552.h | |||
| @@ -62,15 +62,14 @@ | |||
| 62 | #define TAS2552_LIM_EN (1 << 2) | 62 | #define TAS2552_LIM_EN (1 << 2) |
| 63 | #define TAS2552_IVSENSE_EN (1 << 1) | 63 | #define TAS2552_IVSENSE_EN (1 << 1) |
| 64 | 64 | ||
| 65 | /* CFG3 Register Masks */ | 65 | /* Serial Interface Control Register Masks */ |
| 66 | #define TAS2552_WORD_CLK_MASK (1 << 7) | 66 | #define TAS2552_DATAFORMAT_I2S (0x0 << 2) |
| 67 | #define TAS2552_BIT_CLK_MASK (1 << 6) | 67 | #define TAS2552_DATAFORMAT_DSP (0x1 << 2) |
| 68 | #define TAS2552_DATA_FORMAT_MASK (0x11 << 2) | 68 | #define TAS2552_DATAFORMAT_RIGHT_J (0x2 << 2) |
| 69 | 69 | #define TAS2552_DATAFORMAT_LEFT_J (0x3 << 2) | |
| 70 | #define TAS2552_DAIFMT_I2S_MASK 0xf3 | 70 | #define TAS2552_DATAFORMAT_MASK TAS2552_DATAFORMAT_LEFT_J |
| 71 | #define TAS2552_DAIFMT_DSP (1 << 3) | 71 | #define TAS2552_BCLKDIR (1 << 6) |
| 72 | #define TAS2552_DAIFMT_RIGHT_J (1 << 4) | 72 | #define TAS2552_WCLKDIR (1 << 7) |
| 73 | #define TAS2552_DAIFMT_LEFT_J (0x11 << 3) | ||
| 74 | 73 | ||
| 75 | #define TAS2552_DIN_SRC_SEL_MUTED 0x00 | 74 | #define TAS2552_DIN_SRC_SEL_MUTED 0x00 |
| 76 | #define TAS2552_DIN_SRC_SEL_LEFT (1 << 4) | 75 | #define TAS2552_DIN_SRC_SEL_LEFT (1 << 4) |
