We are developing custom boards based on the MPC8306 and are having ethernet issues on some of the boards where communications seem to halt of their own accord. I'm debugging this in u-boot, and I'm noticing the driver will load a TXBD with data and set the ready bit, but the QUICC engine will never clear it or seemingly attempt to send it. The hardware and firmware statistics will stay at 0. I've tried switching to using a BRG clock (BRG2), and enabling loopback (DIAG=01 in GUMR) to discount issues in external circuitry, but I still have the same problem, it does work fine on most of the boards we've made though.
I've used the "graceful stop" command to check if the interface is running when its initialised, as it will hang waiting for GRA in UCCE to be set if its already stopped, which is what you'd expect. On faulty units, if I wait for one second after initialising the interface and then send a graceful stop, it will hang, which makes me think something internal is causing the interface to stop.
Does anyone have any idea what could be causing this, or know of any better way to find the status of the interface after starting it?
Thanks in advance,