* [U-Boot] PPC 405EX hangs waiting for PCIE to reset
@ 2011-01-28 13:57 David Thomas
2011-02-01 7:32 ` Stefan Roese
0 siblings, 1 reply; 2+ messages in thread
From: David Thomas @ 2011-01-28 13:57 UTC (permalink / raw)
To: u-boot
We have a board with an AMCC PPC 405EX connected to two fpga's with PCIE
interfaces.
On some boards, on power up, the u-boot code hangs in the while loop in
the following code waiting for PCIE1 to come out of reset. PCIE0 comes
out of reset successfully.
The PHYSTA for PCIE1 always reads back with the value 0x30000000,
indicating the the interface is in the P2 state and that the PLL has not
locked.
If a timeout is added and U-boot is allowed to proceed, a machine check
is eventually taken and the processor reboots. During the reboot, u-boot
runs through the same code but this time both PCIE interfaces
successfully come out of reset and the board comes up normally.
Any suggestions about what might be happening here?
Thanks
David Thomas.
u-boot/arch/powerpc/cpu/ppc4xx/4xx_pcie.c, lines 840-848:
SDR_WRITE(SDRN_PESDR_RCSSET(port), 0x01101000);
/* poll for phy !reset */
while (!(SDR_READ(SDRN_PESDR_PHYSTA(port)) & 0x00001000))
;
/* deassert the PE0_gpl_utl_reset */
SDR_WRITE(SDRN_PESDR_RCSSET(port), 0x00101000);
^ permalink raw reply [flat|nested] 2+ messages in thread
* [U-Boot] PPC 405EX hangs waiting for PCIE to reset
2011-01-28 13:57 [U-Boot] PPC 405EX hangs waiting for PCIE to reset David Thomas
@ 2011-02-01 7:32 ` Stefan Roese
0 siblings, 0 replies; 2+ messages in thread
From: Stefan Roese @ 2011-02-01 7:32 UTC (permalink / raw)
To: u-boot
Hi David,
On Friday 28 January 2011 14:57:06 David Thomas wrote:
> We have a board with an AMCC PPC 405EX connected to two fpga's with PCIE
> interfaces.
>
> On some boards, on power up, the u-boot code hangs in the while loop in
> the following code waiting for PCIE1 to come out of reset. PCIE0 comes
> out of reset successfully.
>
> The PHYSTA for PCIE1 always reads back with the value 0x30000000,
> indicating the the interface is in the P2 state and that the PLL has not
> locked.
>
> If a timeout is added and U-boot is allowed to proceed, a machine check
> is eventually taken and the processor reboots. During the reboot, u-boot
> runs through the same code but this time both PCIE interfaces
> successfully come out of reset and the board comes up normally.
>
> Any suggestions about what might be happening here?
Did you try setting the "pcidelay" environment variable. This will delay
initializing the PCI(e) interfaces for n milliseconds. Try setting it to 3000
(3 seconds) to see if this helps. Please note that you need to set
CONFIG_PCI_BOOTDELAY in your board config header to enable this "feature".
Cheers,
Stefan
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-0 Fax: (+49)-8142-66989-80 Email: office at denx.de
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2011-02-01 7:32 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-01-28 13:57 [U-Boot] PPC 405EX hangs waiting for PCIE to reset David Thomas
2011-02-01 7:32 ` Stefan Roese
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox