diff options
author | Bard Liao <bardliao@realtek.com> | 2014-11-13 09:55:22 +0800 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2014-11-13 11:34:41 +0000 |
commit | 850577db99dbc4fdebe62d30d380de1878f77d2a (patch) | |
tree | 58c7045a7f2852f67b19daaf2de99c29b072633a | |
parent | 5563502cb68d9520e13fe2350922ca88c4531c63 (diff) |
ASoC: rt5645: add register setting for TDM
We need to set extra register to avoid a recording issue in TDM
mode.
Signed-off-by: Bard Liao <bardliao@realtek.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r-- | sound/soc/codecs/rt5645.c | 5 | ||||
-rw-r--r-- | sound/soc/codecs/rt5645.h | 1 |
2 files changed, 5 insertions, 1 deletions
diff --git a/sound/soc/codecs/rt5645.c b/sound/soc/codecs/rt5645.c index 665f8b64efe..57afa12b2f5 100644 --- a/sound/soc/codecs/rt5645.c +++ b/sound/soc/codecs/rt5645.c @@ -2112,8 +2112,11 @@ static int rt5645_set_tdm_slot(struct snd_soc_dai *dai, unsigned int tx_mask, struct snd_soc_codec *codec = dai->codec; unsigned int val = 0; - if (rx_mask || tx_mask) + if (rx_mask || tx_mask) { val |= (1 << 14); + snd_soc_update_bits(codec, RT5645_BASS_BACK, + RT5645_G_BB_BST_MASK, RT5645_G_BB_BST_25DB); + } switch (slots) { case 4: diff --git a/sound/soc/codecs/rt5645.h b/sound/soc/codecs/rt5645.h index 82f681b0294..196daf03fe2 100644 --- a/sound/soc/codecs/rt5645.h +++ b/sound/soc/codecs/rt5645.h @@ -1855,6 +1855,7 @@ #define RT5645_M_BB_HPF_R_SFT 6 #define RT5645_G_BB_BST_MASK (0x3f) #define RT5645_G_BB_BST_SFT 0 +#define RT5645_G_BB_BST_25DB 0x14 /* MP3 Plus Control 1 (0xd0) */ #define RT5645_M_MP3_L_MASK (0x1 << 15) |