This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

XIO2001: XIO2001: Problem Enumerating

Part Number: XIO2001

We are using the XIO2001IZAJ PCI Express to PCI bridge chip in one of our designs. The device has been working as expected for years. We have a customer who is using our product and is experiencing sporadic problems with enumeration at cold temperature.  The symptoms of the reported problem is that sometimes the unit fails to enumerate on power-up. The failure to enumerate varies from unit to unit and tends to be more prevalent at cold temperature (below -25 deg C). When the device fails to enumerate, both the bridge chip and the PCI device behind the bridge are missing (i.e. cannot be seen using lspci). I would have expected to at least see the device ID but the devices (bridge and PCI device behind it) do not show up at all in the list.

We are speculating that there might be a reset issue. This application has PERST and GRST reset lines connected together in their system. We have been reviewing the Power-Up Sequence requirements as described in the xio2001 datasheets, which specifies that the PERST rest must be asserted for at least 100ms after applying 3.3V and 1.5V power and at least 100 usec after applying the PCIE REF CLOCK. This design holds the device in reset (asserting both PERST and GRST low) for 520 usec after starting the PCI REF CLOCK (i.e. it exceeds the 100 us min) and seconds after applying power (i.e. it satisfies the 100 ms power supply stabilization requirement). They observe that PCI-E output data from the bridge starts approx 13 ms after releasing reset.

The power-up sequence for the processor involves two reset events. During the BIOS boot sequence (Intel firmware), following application of power, the management engine (ME) makes a lot of adjustments (drive strength for DDR, PCIe, etc). Then the ME switches off the power supply and reboots. The PERST/GRST is held in reset for several seconds following the reboot (i.e. satisfies the 500 ms power stabilization requirement in the datasheet).

I am wondering if connecting PERST and GRST together is related to the problem. The reset lines are inner traces so we cannot easily experiment with separating the reset lines. Any insight into the reset sequence or any other suggestions on what may be causing the problem would be greatly appreciated.

  • Hi Michael,

    Please refer to the XIO2001 Errata (Rev. B), Errata #5 regarding GRST#. Could you clarify if your design provides external resistance pull-downs to the EXT_ARB_EN and CLKRUN_EN terminals, as stated in this errata work-around?

    It is difficult to say if tying PERST# and GRST# together is causing this issue. Per data sheet section 6.12.1, GRST# should be asserted before applying a stable PCI-Express reference clock, then PERST# should be de-asserted at least 100usec after the REFCLK is stable.

    Could you specify how long PCI-Express data is observed after power-on in the cold temperature case?

    Best,
    David

  • HI David,

    The EXT_ARB_EN and CLKRUN_EN terminals are hardwired to ground in our design (no resistors in the path to ground), which should satisfy the workaround requirements specified in Errata #5.

    I also saw the description in the datasheet indicating that GRST should be released before applying a stable PCI-E ref clock but the timing was not clear in the datasheet.

    I need to confirm how long the PCI-E data is observed.

    regards,
    Mike

  • Hi Mike,

    Referencing Figure 6-1 in the data sheet, GRST# should be de-asserted 100ms before PERST#. While understanding that the current power stability requirements are met, I am thinking this lack of delay between GRST# and PESRT# de-assertion could cause an issue.

    Best,
    David

  • Hi Mike,

    One other item I would like to note is Section 5.2 of the XIO2001 Implementation Guide regarding the GRST# terminal.

    Best,
    David

  • Hi David,

    I interpreted the timing diagram to indicate that PERST needs to be asserted for a minimum of 100ms after applying power (which is also stated in the second bullet under requirement 5 in section 6.12.1 Power-Up Sequence in the datasheet).  I do see that Rule 3 in section 6.12.1 of the datasheet does indicate that GRST should be deasserted after applying power and before applying a stable PCI-E clock (based on the sequence numbering) but I don't see any specific timing requirements on the deassertion of GRST relative to applying power or applying the PCI-E clock. 

    You also referenced section 5.2 of the implementation guide, which indicates that asserting GRST can reset some of the power management sticky bits. Our design is not making use of auxiliary power and as such the Vdd_33_aux terminal is tied to ground through a 10 kohm resistor. I am assuming that the Vaux states would not be applicable.

    Implementing a sequence in which GRST is deasserted before applying the PCI-E reference clock would require a redesign of our circuit board. I would like to confirm that this is the root cause of the issue before initiating a design change. Do you have any suggestions on ways to identify the root cause of the issue we are seeing?

    regards,
    Mike

  • Hi Michael,

    It is difficult to say if this reset sequence is the root cause of the issue. Is it possible on your board design to leave the GRST# pin floating, through the removal of a 0Ohm resistor or jumper?

    It would also be worthwhile to understand how long the PCIe data is observed in this cold temperature case. From your previous posts, you stated that PCI-Express traffic was observed for a short period of time before the device cannot be enumerated.

    Best,
    David