diff mbox

[2/2,v2] ASoC: rt5677: Add the slot_width "25" support in the TDM mode

Message ID 1421118795-23092-2-git-send-email-oder_chiou@realtek.com (mailing list archive)
State Accepted
Commit 9913b9f549330e9b72945ec94cb9c7fe57d78cce
Headers show

Commit Message

Oder Chiou Jan. 13, 2015, 3:13 a.m. UTC
Add the slot_width "25" support in the TDM mode for the Intel platform.

Signed-off-by: Oder Chiou <oder_chiou@realtek.com>
---
 sound/soc/codecs/rt5677.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
diff mbox

Patch

diff --git a/sound/soc/codecs/rt5677.c b/sound/soc/codecs/rt5677.c
index 24fc592..a683e69 100644
--- a/sound/soc/codecs/rt5677.c
+++ b/sound/soc/codecs/rt5677.c
@@ -4103,7 +4103,7 @@  static int rt5677_set_tdm_slot(struct snd_soc_dai *dai, unsigned int tx_mask,
 {
 	struct snd_soc_codec *codec = dai->codec;
 	struct rt5677_priv *rt5677 = snd_soc_codec_get_drvdata(codec);
-	unsigned int val = 0;
+	unsigned int val = 0, slot_width_25 = 0;
 
 	if (rx_mask || tx_mask)
 		val |= (1 << 12);
@@ -4127,6 +4127,8 @@  static int rt5677_set_tdm_slot(struct snd_soc_dai *dai, unsigned int tx_mask,
 	case 20:
 		val |= (1 << 8);
 		break;
+	case 25:
+		slot_width_25 = 0x8080;
 	case 24:
 		val |= (2 << 8);
 		break;
@@ -4142,10 +4144,14 @@  static int rt5677_set_tdm_slot(struct snd_soc_dai *dai, unsigned int tx_mask,
 	case RT5677_AIF1:
 		regmap_update_bits(rt5677->regmap, RT5677_TDM1_CTRL1, 0x1f00,
 			val);
+		regmap_update_bits(rt5677->regmap, RT5677_DIG_MISC, 0x8000,
+			slot_width_25);
 		break;
 	case RT5677_AIF2:
 		regmap_update_bits(rt5677->regmap, RT5677_TDM2_CTRL1, 0x1f00,
 			val);
+		regmap_update_bits(rt5677->regmap, RT5677_DIG_MISC, 0x80,
+			slot_width_25);
 		break;
 	default:
 		break;