I have a xilinx eval board (KCU116) that uses the 83867 PHY for the ethernet interface. Using the example design, the PHY works perfectly when connected to a Dell laptop running linux. I have had no issues connecting to other PCs as well, and transferring data without errors.
The issue I need help with is when I try to connect two of the KCU116 eval boards with just a cable. I dont get link. If I install a gigE switch between the boards, they link OK. I have spent considerable time digging through the data sheet and the code but I cant get the two boars to link to each other.
With the 2 boards connected with a straight cable, I observe that the PHY cant autonegotiate. When I install a crossover cable, the PHY will autonegotiate but not establish link. If I connect the two boards through a gigE switch, they autonegotiate and link.
Questions:
1. Why is the auto-mdix feature appear to not be working?
2. What is "link" and what are the steps to establish link?
3. What is a "remote fault". I see this in bit 4 of BMSR (0x01), bit 13 ANLPAR (0x05)
4. What is "extended capability" as mentioned in bit 0 of BMSR
5. What are the protocol selection bits and how are they defined in bits 4:0 of ANAR (0x04)
6. What is the golden/verified register write sequence that would make 2 83867 PHYs link to each other?
References:
SNLS504B –OCTOBER 2015–REVISED MARCH 2017
SNLA246A–October 2015–Revised April 2016
Thanks,
Ed
gigabit ethernet DP83867is