We are currently trying to improve our system which is mainly based on the ADAU1361 for all the clocking purpose (our Blackfin DSP is connected to the ADAU I2S. The DSP SPORT is set as slave, so that it is clocked using the ADAU BCLK/LRCLK).
The problem we have at the moment is that the I2S signals at ADAU startup are not consistent. Sometimes, the startup is "correct" (i.e : there's 32bits for the left channel, 32bits for the right channel), sometimes, the first frame starts with only a few bits for the left channel. See captured signals at the end of the message.
The question is wether it is possible to 'reset' the I2S port so that it always starts correctly (i.e 32bits for the left channel) ?
During power down of the ADAU, we set the Serial Port Control register to be SLAVE, and we set it back to master only after the correct configuration has been set (PLL, wait for lock, configuration of various registers, fs, ...).
Correct Startup :