[Sound-open-firmware] [RFC PATCH 1/6] apl-ssp: fix SSIOC_SCOE

Pierre-Louis Bossart pierre-louis.bossart at linux.intel.com
Wed Jul 18 04:24:26 CEST 2018


This register enables the bclk output and only makes sense in
codec slave mode (SoC drives the bit clock)

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart at linux.intel.com>
---
 src/drivers/apl-ssp.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/drivers/apl-ssp.c b/src/drivers/apl-ssp.c
index fd5905c..af0ad63 100644
--- a/src/drivers/apl-ssp.c
+++ b/src/drivers/apl-ssp.c
@@ -190,8 +190,8 @@ static inline int ssp_set_config(struct dai *dai,
 	/* sspsp2 no dynamic setting */
 	sspsp2 = 0x0;
 
-	/* ssioc dynamic setting is SFCR */
-	ssioc = SSIOC_SCOE;
+	/* ssioc dynamic setting is SCOE, SFCR */
+	ssioc = 0x0;
 
 	/* i2s_m M divider setting, default 1 */
 	i2s_m = 0x1;
@@ -224,6 +224,7 @@ static inline int ssp_set_config(struct dai *dai,
 	case SOF_DAI_FMT_CBS_CFS:
 		sscr1 |= SSCR1_SCFR;
 		ssioc |= SSIOC_SFCR;
+		ssioc |= SSIOC_SCOE;
 		break;
 	case SOF_DAI_FMT_CBM_CFS:
 		sscr0 |= SSCR0_ECS; /* external clock used */
@@ -235,6 +236,7 @@ static inline int ssp_set_config(struct dai *dai,
 		/* FIXME: this mode has not been tested */
 		break;
 	case SOF_DAI_FMT_CBS_CFM:
+		ssioc |= SSIOC_SCOE;
 		sscr1 |= SSCR1_SCFR;
 		/* FIXME: this mode has not been tested */
 		break;
-- 
2.14.1



More information about the Sound-open-firmware mailing list