cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
jdefields
Explorer
Explorer
338 Views
Registered: ‎12-02-2014

Zynqmp: Marginal PCIe bringup issue (2 out of 25 boards)

Hi all,

We are currently building up some boards with zynqmp SoC on it, and we use the built-in PCIe RC with a PEX8606 switch, and some PCIe endpoints.  2 of our 25 boards that were built have an issue with the PCIe RC's link coming up (problem is viewable in uboot, and then confirmed when PCIe driver starts in linux boot).  On those 2 units which have the issue, it does not happen on every boot.  We might have to reboot 5-10 times to see the problem.

In uboot, the issue can be detected by reading the PCIE_STATUS (PCIE_ATTRIB) Register (0xfd480238)

Good case:

md 0xfd480238: 0x00000003

Bad case:

md 0xfd480238: 0x00000002

 

If I issue some PCIe resets in uboot before starting the kernel (0xFD1A0100 (CRF_APB)), the link will recover:

pcie_bridge_reset (bit 18) & pcie_ctrl_reset (bit 17)
mw.l 0xFD1A0100 0x60000
mw.l 0xFD1A0100 0x0

Anyone have an idea of what might be going wrong on these 2 boards that they occasionally experience this issue?

0 Kudos
1 Reply
jdefields
Explorer
Explorer
239 Views
Registered: ‎12-02-2014

Update: Issuing some PCIe resets in uboot before starting the kernel (0xFD1A0100 (CRF_APB)), the link does NOT always recover.  However, issuing a uboot 'reset' command, the link always recovers thus far.

 

Any guidance here would be appreciated.

 

0 Kudos