diff --git a/CHANGELOG.rst b/CHANGELOG.rst index ffce0be7..12719bb9 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -7,6 +7,9 @@ UNRELEASED * CHANGED: Define ADAT_RX renamed to XUA_ADAT_RX_EN * CHANGED: Define ADAT_TX renamed to XUA_ADAT_TX_EN * CHANGED: Define SPDIF_RX renamed to XUA_SPDIF_RX_EN + * CHANGED: Drive strength of I2S clock lines upped to 8mA on xCORE.ai + * CHANGED: ADC datalines sampled on falling edge of clock in TDM mode + * CHANGED: Improved startup behaviour of TDM clocks * FIXED: Intermittent underflow at MAX_FREQ on input stream start due to insufficient packet buffering diff --git a/lib_xua/src/core/audiohub/audiohub_initport.xc b/lib_xua/src/core/audiohub/audiohub_initport.xc index fc763b04..82fc3346 100644 --- a/lib_xua/src/core/audiohub/audiohub_initport.xc +++ b/lib_xua/src/core/audiohub/audiohub_initport.xc @@ -52,10 +52,10 @@ void InitPorts_master(unsigned divide, buffered _XUA_CLK_DIR port:32 p_lrclk, bu } #endif - if(XUA_PCM_FORMAT == XUA_PCM_FORMAT_TDM) - p_lrclk @ tmp <: 0x80000000; + if(XUA_PCM_FORMAT == XUA_PCM_FORMAT_TDM) + p_lrclk @ tmp <: 0x80000000; else - p_lrclk @ tmp <: 0x7FFFFFFF; + p_lrclk @ tmp <: 0x7FFFFFFF; #if (I2S_CHANS_ADC != 0) for(int i = 0; i < I2S_WIRES_ADC; i++) diff --git a/lib_xua/src/core/ports/audioports.xc b/lib_xua/src/core/ports/audioports.xc index a4c59d67..cc9ce57b 100644 --- a/lib_xua/src/core/ports/audioports.xc +++ b/lib_xua/src/core/ports/audioports.xc @@ -78,11 +78,13 @@ void ConfigAudioPorts( configure_out_port_no_ready(p_lrclk, clk_audio_bclk, 0); } - if(XUA_PCM_FORMAT == XUA_PCM_FORMAT_TDM) - { - for(int i = 0; i < I2S_WIRES_ADC; i++) - set_port_sample_delay(p_i2s_adc[i]); - } + if(XUA_PCM_FORMAT == XUA_PCM_FORMAT_TDM) + { + for(int i = 0; i < I2S_WIRES_ADC; i++) + { + set_port_sample_delay(p_i2s_adc[i]); + } + } #elif (CODEC_MASTER)