I used imx6ull's ECSPI3 SS_0 channel and configured it in slave mode at a rate of 20Mhz;
The BURST_LENGTH of ECSPI3 is set to 1599, that is, 50 words are transferred at a time, and the software will write 50 words to TXDATA continuously in each transfer.
Master uses Linux 3.4.2, Master and slave's CPOL=CPHA=0.
Part of the data received by the master in the experiment is shown in the following figure. Basically, garbled codes will be generated for every 50 data received.
However, when I add 1ms delay to the loop of the master receiving data, the received data will be normal.
I don't know what the reason is, is it because txdata's fifo needs 1ms to clear after it is full?
Hope someone can answer my questions.