ASoC: rt5645: add register setting for TDM
diff mbox

Message ID 1415792303-7728-1-git-send-email-bardliao@realtek.com
State Accepted
Commit 02a63fe0fa409f8b48d145e25056bd4253d50a3b
Headers show

Commit Message

Bard Liao Nov. 12, 2014, 11:38 a.m. UTC
We need to set extra register to avoid a recording issue in TDM
mode.

Signed-off-by: Bard Liao <bardliao@realtek.com>
---
 sound/soc/codecs/rt5645.c | 5 ++++-
 sound/soc/codecs/rt5645.h | 1 +
 2 files changed, 5 insertions(+), 1 deletion(-)

Comments

Mark Brown Nov. 12, 2014, 10:47 p.m. UTC | #1
On Wed, Nov 12, 2014 at 07:38:23PM +0800, Bard Liao wrote:
> We need to set extra register to avoid a recording issue in TDM
> mode.

Reverted since it didn't build in x86_64 allmodconfig.

Patch
diff mbox

diff --git a/sound/soc/codecs/rt5645.c b/sound/soc/codecs/rt5645.c
index d6298b3..ac7a52a 100644
--- a/sound/soc/codecs/rt5645.c
+++ b/sound/soc/codecs/rt5645.c
@@ -2114,8 +2114,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);
+		regmap_update_bits(rt5645->regmap, 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 82f681b..196daf0 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)