Hi, recently I've worken on a board based on a MPC5121 with UBOOT(2013) and running QNX os.
Somethimes after the boot of the OS the FEC do not works at all: resetting it do not works
as expected. FEC Registers are all OK, but NO TX or RX events are generated, no data are
received or trasmitted. The only event generated is the MII interrupt.
UBOOT itself uses the FEC and leave it enabled and fully working before lauch QNX.
Disablig FEC BEFORE launch QNX apparently solves the problem :
I'm figured that problem is in the descriptors of Tx/Rx ring buffers initialized by UBOOT -
maybe they are somewhat corrupted when OS is loaded in memory, but because FEC
is still active, some incoming ethernet frames will start a DMA in some inappropriate way
and DMA or FEC will goes in some unrecoverable state (You have to RESET the CPU to recovery).
I think that cause the problem but not sure:
Someone found a similar problem?
Can someone explain what the problem is ?
Why FEC isn't working any more also after a ETH_ECNTRL.RESET ?
Is this a MPC5121 undocumented errata?