Subject: MPC5200B SPI codec error when there is a heavy ethernet traffic.

From: Txema Lopez <[email-masked]>
Date: Tue, 15 Jan 2008 17:44:12 +0100

Hi all,

We have a MPC5200B based custom board running a 2.4.25 Denx linux 
kernel. We use the PSC6 in SPI-codec mode to exchange some bytes 
periodically in full-duplex with a peripheral.

In 'normal' conditions this communication runs fine. But when we start 
sending packets over the Ethernet as a background activity, we see on 
the oscilloscope that one of the SPI transfers is interrupted. Not only 
that the SPI clock stops, something that could happen in the case that 
the transmission Fifo is empty, or the reception Fifo is full, but that 
the chip select actually goes high for an instant, causing the 
peripheral to abort the communication.

We have reproduced the same bug in a Lite5200B using the spi-dev driver 
and a user application, so it seams it's not a problem of our hardware.

The problem only arises if there is some heavy Ethernet traffic (a big 
file ftp transfer or a big file copy by nfs) , so we think  the error is 
related with the Bestcomm activity. We have contacted freescale to check 
if it's a microprocessor bug and they are looking into it. But we think 
it could be also a bug in the Bestcomm programming of the FEC tasks. 
Could be it possible? At this point, we really need some help. Any clue 
will be welcomed.

Best regards,

Txema