Comment out SDO tristating which gets in the way of test tools and clarify comment for ETDS.
I2S and DSP modes seem to generate correct waveforms. Tested with one Up2 board in master mode and one MinnowBoard Turbot in slave, with the SDO/SDI lines samples with Logic Pro.
Only CBM_CFM mode was tested.
Signed-off-by: Pierre-Louis Bossart pierre-louis.bossart@linux.intel.com --- src/drivers/byt-ssp.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/drivers/byt-ssp.c b/src/drivers/byt-ssp.c index c9dbcaa..a940ff9 100644 --- a/src/drivers/byt-ssp.c +++ b/src/drivers/byt-ssp.c @@ -133,7 +133,10 @@ static inline int ssp_set_config(struct dai *dai, */
/* sscr1 dynamic settings are TFT, RFT, SFRMDIR, SCLKDIR, SCFR */ - sscr1 = SSCR1_TTE; + sscr1 = 0; +#ifdef ENABLE_SSCR1_TRISTATE + sscr1 |= SSCR1_TTE; /* make sure SDO line is tri-stated when inactive */ +#endif #ifdef ENABLE_TIE_RIE /* FIXME: not enabled, difference with SST driver */ sscr1 |= SSCR1_TIE | SSCR1_RIE; #endif @@ -171,7 +174,7 @@ static inline int ssp_set_config(struct dai *dai, sscr5 = 0x0;
/* sspsp dynamic settings are SCMODE, SFRMP, DMYSTRT, SFRMWDTH */ - sspsp = SSPSP_ETDS; /* make sure SDO line is tri-stated when inactive */ + sspsp = SSPSP_ETDS; /* last value (bit 0) */
ssp->config = *config; ssp->params = config->ssp;