[U-Boot] The purpose of enabling CONFIG_PCI_BOOTDELAY

Matthias Fuchs matthias.fuchs at esd.eu
Thu Mar 25 09:26:21 CET 2010


Hi,

we've seen platforms where the delay brings you out of problems.
Of course this is caused by weird PCI hardware in most cases :-)

I must also admit that the implementation of CONFIG_PCI_BOOTDELAY
is not usable in all situations. We have some boards (e.g. PMC440)
that can be system cpu or PCI adapter. It's not a good idea to
add a pci delay in adapter mode because your device will probably not 
get configured. So we implemented our own pcidelay mechanism 
(see board/esd/pmc440/pmc440.c), because we didn't want to
adjust pcidelay when switching from system cpu to adapter mode and 
vice vera.

CONFIG_PCI_BOOTDELAY is of course not intended for fixing WDT issues :-)

It's a good idea to turn on this option when you are running U-Boot
on system CPUs that connect to "unknown PCI hardware", e.g you have some
PCI/PCIe slots on your board. We never needed it for well known 
onboard PCI devices.

Matthias

On Wednesday 24 March 2010 21:49, Mike.Johnson at apc.com wrote:
> 
> All,
> 
> What is the purpose of CONFIG_PCI_BOOTDELAY? I am using uboot version
> 1.1.4. I know it's old, but in \drivers\pci.c there is a section of code
> right before pci_init.c is called
> that can delay the call to pci_init.c.
> 
> The code is enabled by defining CONFIG_PCI_BOOTDELAY. But why would it be
> necessary to delay initializing the PCI hardware?
> 
> Specifically in my case, all the resets on my board have occurred well
> before (500 msec) this portion of the code would execute, so it would seem
> safe to say that any peripherals like PCI controllers would be satisfied
> reset-wise.
> 
> In my case though, I need to enable CONFIG_PCI_BOOTDELAY to eliminate a WDT
> problem with a PCI access.
> 
> If I do not use CONFIG_PCI_BOOTDELAY, my hardware can exhibit a PCI hang,
> leading to the above mentioned WDT.
> 
> Any information or background that this group can provide would be
> appreciated.
> 
> Thank-you,
> 


More information about the U-Boot mailing list