Hi All!
We have a custom board with:
- 66AK2L06 SoC working as PCIe root complex
- SoC is connected to FPGA (Xilinx Artix 7) endpoint through PCIe port #0 (5Gb link)
- Marvel Ethrnet PHY (88E1512) connected to SGMII port #0 (1Gb full duplex link)
PCIe and SGMII links are active and everything works as expected until Ethernet cable is unplugged and plugged back.
SoC hangs 2-3 seconds after ethernet cable is plugged in. It also happens when link autonegotiation is re-triggered on both sides with ethtool.
It hangs so thoroughly that I'm not even able to connect to it with XDSv100 emulator.
Some observations:
- This happens only when PCIe link is loaded with transactions.
- When Ethernet link speed is 100/10Mb this hangup happens later than on 1Gb (sometimes - tens of seconds).
This hangup very similar to the occasion where PCIe data region is accessed without active link. In this case SoC hangs the same way.
My guess is that somehow when Ethernet cable is plugged in, PCIe link is dropped during transaction and core hangs.
On FPGA side we see no link drops after hangup, but it could be so short that we simply miss it.
What can be the cause of such hang and how can I debug this situation?
Regards,
Yurii