We have a card with a XIO3130. The upstream port is connected to the root port of an Intel Atom N2800 / NM10 south bridge. Two of the downstream ports are connected to Intel 82574 Ethernet ctrl, and the third downstream is going to a Lattice FPGA. We have produced hundred of these cards and the great majority are working well. But on a few cards, we have an intermitent bug that we are unable to fix or understand.
Bug description: when booting windows 7 embedded, sometimes the XIO3130 device is not detected, and also the 3 dowstream devices. If we run TopHat, the XIO3130 is simply not there. If we reboot the problem usually clears itself. The frequency of the bug occurences vary a lot from card to card. It could be once every 10 reboot, to once every 100 reboot. If we warm up the XIO3130 with a heat gun, it seems to increase to bug occurences.
The XIO3130 does not have a EEPROM, and the DNx_DPSTRP pins are connected to GROUND. We tried to connect the DNx_DPSTRP pins to +3.3V (hotplug mode) but it does not help. We tried to put an EEPROM with different configuration (normal, hotplug, home made config with L1 mode disabled) but nothing helps. We checked the timing of UP_REFCKIN relative to UP_PERST_N, and there 100ms of stable clock before reset is released. Our digital scope has a 1GHz bandwidth, it is not great to check on UP_PET_P/N, UP_PERP/N but we can see activity.
We are really clueless what to do next. Do you have any suggestions?