Commit b64c4c93 authored by Stefan Roese's avatar Stefan Roese Committed by Josh Boyer

[POWERPC] 4xx: Only reset PCIe PHY on 405EX systems when no link is detected

Since the arch/powerpc PCI subsystem now does a complete re-assignment of
the resources, we can move from the unconditional PCIe PHY reset to the
conditional version. Now the PHY is only reset, if no link is established yet.
An additional PHY reset (one is already done in U-Boot) leads to problems
with some Atheros PCIe boards and some HP FPGA PCIe designs.
Signed-off-by: default avatarStefan Roese <sr@denx.de>
Signed-off-by: default avatarJosh Boyer <jwboyer@linux.vnet.ibm.com>
parent e04018e8
...@@ -940,17 +940,9 @@ static int ppc405ex_pciex_init_port_hw(struct ppc4xx_pciex_port *port) ...@@ -940,17 +940,9 @@ static int ppc405ex_pciex_init_port_hw(struct ppc4xx_pciex_port *port)
* PCIe boards don't show this problem. * PCIe boards don't show this problem.
* This has to be re-tested and fixed in a later release! * This has to be re-tested and fixed in a later release!
*/ */
#if 0 /* XXX FIXME: Not resetting the PHY will leave all resources
* configured as done previously by U-Boot. Then Linux will currently
* not reassign them. So the PHY reset is now done always. This will
* lead to problems with the Atheros PCIe board again.
*/
val = mfdcri(SDR0, port->sdr_base + PESDRn_LOOP); val = mfdcri(SDR0, port->sdr_base + PESDRn_LOOP);
if (!(val & 0x00001000)) if (!(val & 0x00001000))
ppc405ex_pcie_phy_reset(port); ppc405ex_pcie_phy_reset(port);
#else
ppc405ex_pcie_phy_reset(port);
#endif
dcr_write(port->dcrs, DCRO_PEGPL_CFG, 0x10000000); /* guarded on */ dcr_write(port->dcrs, DCRO_PEGPL_CFG, 0x10000000); /* guarded on */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment