Set Tx|Rx Enable for starting playback|capture
Signed-off-by: Rander Wang rander.wang@linux.intel.com
--- test it on Broadwell, no need to test other platforms
SOF: master 131a1887631621 kernel: v4.14 d09db67c5a9d6d SOF-tools: master 13b56fa6047c566a --- src/drivers/hsw-ssp.c | 2 ++ src/include/sof/ssp.h | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/drivers/hsw-ssp.c b/src/drivers/hsw-ssp.c index 43024a4..a68898e 100644 --- a/src/drivers/hsw-ssp.c +++ b/src/drivers/hsw-ssp.c @@ -439,11 +439,13 @@ static void ssp_start(struct dai *dai, int direction) SSCR1_TSRE | SSCR1_EBCEI); ssp_update_bits(dai, SSCR0, SSCR0_SSE, SSCR0_SSE); ssp_update_bits(dai, SSCR0, SSCR0_TIM, 0); + ssp_update_bits(dai, SSTSA, SSTSA_TSEN, SSTSA_TSEN); } else { ssp_update_bits(dai, SSCR1, SSCR1_RSRE | SSCR1_EBCEI, SSCR1_RSRE | SSCR1_EBCEI); ssp_update_bits(dai, SSCR0, SSCR0_SSE, SSCR0_SSE); ssp_update_bits(dai, SSCR0, SSCR0_RIM, 0); + ssp_update_bits(dai, SSRSA, SSRSA_RSEN, SSRSA_RSEN); }
/* enable port */ diff --git a/src/include/sof/ssp.h b/src/include/sof/ssp.h index 3a1f6ed..fdcfcac 100644 --- a/src/include/sof/ssp.h +++ b/src/include/sof/ssp.h @@ -198,7 +198,8 @@ extern const struct dai_ops ssp_ops; #define SFIFOTT_TX(x) ((x) - 1) #define SFIFOTT_RX(x) (((x) - 1) << 16)
-#if defined CONFIG_APOLLOLAKE || defined CONFIG_CANNONLAKE +#if defined CONFIG_APOLLOLAKE || defined CONFIG_CANNONLAKE ||\ + defined CONFIG_HASWELL || defined CONFIG_BROADWELL #define SSTSA_TSEN BIT(8) #define SSRSA_RSEN BIT(8)