we are issuing some problems regarding the configuration of a working Ethernet interface on a custom board, which is base the NXP QorIQ T2081 processor.
The SERDES configuration used in our application has SRDS_PRTCL_S1=0xBC, with all SERDES interfaces clocked with PLL1 at 100MHz.
According to this configuration we have:
- On lanes A-B PCIe3 configured @5Gbps
- On lane C SG1 @1.25Gbps
- On lane D SG2 @1.25Gbps
- On lanes E-H PCIe4 configured @5Gbps
Regarding PCIe lanes, connected to two FPGAs, everything works fine (discovery both in U-Boot and in Linux).
The SGMII interfaces are directly connected to two interfaces of a Marvell Alaska 88E1548P physical layer, whose MII interface is connected to processor’s ports EMI1_MDC/MDIO.
Both in U-Boot and in Linux we can interact with PHY registers through MDIO.
By means of Serdes Validation tool, and through direct signal acquisition with an oscilloscope, we are sure that about these lanes we have no electrical problem (we can observe SGMII Idle signals) between processor and PHY.
Furthermore, on the other side of the PHY, we can observe that when a cable connects both ports to a PC, the link is sensed as Up (through PHY’s status registers), so I think that even on these side we have working connections.
The blocking issue we are facing regards the bring-up of a working Ethernet connection on both interfaces, both in U-boot and in Linux.
By following many examples on NXP support forum, and by taking as reference the configuration made on T2081QDS board, I modified T2080RDB U-Boot sources and device tree according to what is available on our custom board (here attached you can find the modified sources for U-Boot, the modified DTS and the modified marvell.c/marvell_phy.h sources for Linux).
Fman uCode we load on flash is fsl_fman_ucode_t2080_r1.1_106_4_18.bin (the version suggested for our processor).
Anyway, in Linux I’m able to use ifconfig in order to configure both Ethernet interfaces, but when I try to perform ping test on both interfaces both in U-boot and in Linux, it always fails and destination is always described as unreachable.
Actually I have no idea about where the configuration issue is and how can I proceed in order to debug it.
It would be really useful to have some suggestion.