Other Parts Discussed in Thread: DP83848M
Hi,
We've got a custom board using a DP83848M with an NXP LPC3250 running embedded linux. It's loosely based on the Embedded Artists Board
The problem is that on some boards auto-negotiation fails and just constantly retries. If we force the link to 10BASE-T DUPLEX all boards are fine.
I can see the FLP bursts both ways on the TX_P and RX_P pins against a Netgear switch. It appears that the ACK (Bit14) in this gets set by the parties and the Netgear turns on the 100BASE-T carrier. The DP83848 never does, it just goes back into sending FLP's and Netgear turns off the carrier and the process repeats every few seconds.
We are using the RMII interface, not that I think that has much to do with link training.
This is on a very short cable and the received 100BASE-T carrier looks good and the same on both working and non working boards. Obviously I'd suspected Signal Integrity issues but we do a lot of multi GHz mixed signal design and I really don't think there is much wrong with the layout.
It's using a Magjack for the magnetics/RJ45.
My next step was to try and get some ideas from the MD register block. Why most of the boards usually work is the mystery.
Anyone have any useful pointers?