[alsa-devel] [PATCH 3/5] ASoC: atmel_ssc_dai: implement left-justified data mode

Michał Mirosław mirq-linux at rere.qmqm.pl
Mon Jul 22 20:27:21 CEST 2019


Signed-off-by: Michał Mirosław <mirq-linux at rere.qmqm.pl>
---
 sound/soc/atmel/atmel_ssc_dai.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/sound/soc/atmel/atmel_ssc_dai.c b/sound/soc/atmel/atmel_ssc_dai.c
index b2992496e52f..04541d7c33fe 100644
--- a/sound/soc/atmel/atmel_ssc_dai.c
+++ b/sound/soc/atmel/atmel_ssc_dai.c
@@ -564,7 +564,20 @@ static int atmel_ssc_hw_params(struct snd_pcm_substream *substream,
 
 	switch (ssc_p->daifmt & SND_SOC_DAIFMT_FORMAT_MASK) {
 
+	case SND_SOC_DAIFMT_LEFT_J:
+		/* left-justified format */
+		fs_osync = SSC_FSOS_POSITIVE;
+
+		rcmr =	  SSC_BF(RCMR_STTDLY, 0)
+			| SSC_BF(RCMR_START, SSC_START_RISING_RF);
+
+		tcmr =	  SSC_BF(TCMR_STTDLY, 0)
+			| SSC_BF(TCMR_START, SSC_START_RISING_RF);
+
+		break;
+
 	case SND_SOC_DAIFMT_I2S:
+		/* I2S format = left-justified with start bit and inverted LRCLK */
 		fs_osync = SSC_FSOS_NEGATIVE;
 
 		rcmr =	  SSC_BF(RCMR_STTDLY, 1)
-- 
2.20.1



More information about the Alsa-devel mailing list