diff options
author | Peter Ujfalusi <peter.ujfalusi@ti.com> | 2015-06-04 15:04:24 +0200 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2015-06-05 19:53:34 +0200 |
commit | 1b68c7dca2ca7426c758debdbf9dd5f7c308c1c8 (patch) | |
tree | fc9b26a2fe04a923e770eab24e67f7095d26ae1e /sound/soc/codecs | |
parent | ASoC: tas2552: Correct dai format support (diff) | |
download | linux-1b68c7dca2ca7426c758debdbf9dd5f7c308c1c8.tar.xz linux-1b68c7dca2ca7426c758debdbf9dd5f7c308c1c8.zip |
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>
Diffstat (limited to 'sound/soc/codecs')
-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, return 0; } -#define TAS2552_DAI_FMT_MASK (TAS2552_BIT_CLK_MASK | \ - TAS2552_WORD_CLK_MASK | \ - TAS2552_DATA_FORMAT_MASK) +#define TAS2552_DAI_FMT_MASK (TAS2552_BCLKDIR | \ + TAS2552_WCLKDIR | \ + TAS2552_DATAFORMAT_MASK) static int tas2552_set_dai_fmt(struct snd_soc_dai *dai, unsigned int fmt) { 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) serial_format = 0x00; break; case SND_SOC_DAIFMT_CBS_CFM: - serial_format = TAS2552_WORD_CLK_MASK; + serial_format = TAS2552_WCLKDIR; break; case SND_SOC_DAIFMT_CBM_CFS: - serial_format = TAS2552_BIT_CLK_MASK; + serial_format = TAS2552_BCLKDIR; break; case SND_SOC_DAIFMT_CBM_CFM: - serial_format = (TAS2552_BIT_CLK_MASK | TAS2552_WORD_CLK_MASK); + serial_format = (TAS2552_BCLKDIR | TAS2552_WCLKDIR); break; default: 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) case (SND_SOC_DAIFMT_DSP_A | SND_SOC_DAIFMT_IB_NF): delay = 1; case (SND_SOC_DAIFMT_DSP_B | SND_SOC_DAIFMT_IB_NF): - serial_format |= TAS2552_DAIFMT_DSP; + serial_format |= TAS2552_DATAFORMAT_DSP; break; case (SND_SOC_DAIFMT_RIGHT_J | SND_SOC_DAIFMT_NB_NF): - serial_format |= TAS2552_DAIFMT_RIGHT_J; + serial_format |= TAS2552_DATAFORMAT_RIGHT_J; break; case (SND_SOC_DAIFMT_LEFT_J | SND_SOC_DAIFMT_NB_NF): - serial_format |= TAS2552_DAIFMT_LEFT_J; + serial_format |= TAS2552_DATAFORMAT_LEFT_J; break; default: 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 @@ #define TAS2552_LIM_EN (1 << 2) #define TAS2552_IVSENSE_EN (1 << 1) -/* CFG3 Register Masks */ -#define TAS2552_WORD_CLK_MASK (1 << 7) -#define TAS2552_BIT_CLK_MASK (1 << 6) -#define TAS2552_DATA_FORMAT_MASK (0x11 << 2) - -#define TAS2552_DAIFMT_I2S_MASK 0xf3 -#define TAS2552_DAIFMT_DSP (1 << 3) -#define TAS2552_DAIFMT_RIGHT_J (1 << 4) -#define TAS2552_DAIFMT_LEFT_J (0x11 << 3) +/* Serial Interface Control Register Masks */ +#define TAS2552_DATAFORMAT_I2S (0x0 << 2) +#define TAS2552_DATAFORMAT_DSP (0x1 << 2) +#define TAS2552_DATAFORMAT_RIGHT_J (0x2 << 2) +#define TAS2552_DATAFORMAT_LEFT_J (0x3 << 2) +#define TAS2552_DATAFORMAT_MASK TAS2552_DATAFORMAT_LEFT_J +#define TAS2552_BCLKDIR (1 << 6) +#define TAS2552_WCLKDIR (1 << 7) #define TAS2552_DIN_SRC_SEL_MUTED 0x00 #define TAS2552_DIN_SRC_SEL_LEFT (1 << 4) |