Tool/software: Linux
The customer's second-generation schematic is the same as the first-generation board, and the device parameters are the same. The difference is that the RGMII length is different when drawing the PCB, but strictly according to the differential line control, the length error is controlled within 10 mils. The inspection found that the traces met the control requirements, but our board was identified as 10Mbase-T, HDX in Linux. Can not self-negotiate into 1000Mbase-T and establish a link.
And the actual design does not match the datasheet description, such as: RX_D0=mode0, RX_D2=mode4, RX_D4=mode0 As described in the manual, RX_D0 should be left floating, then the physical address can be 0XC. The actual test found that the 1k resistor must be soldered to ground to be recognized as 0XC, and if left floating, it becomes 0XD.