[U-Boot] [PATCH] fsl_pci_init do not scan bus when configuredas an end-point
Swarthout Edward L
ed.swarthout at freescale.com
Tue Oct 14 01:15:18 CEST 2008
From: Peter Tyser [mailto:ptyser at xes-inc.com]
>
> When agent/end-point, I thought the CPU must enable inbound
> PCI configuration cycles by poking the PBFR Register (offset
> 0x44) for PCI, or the Configuration Ready Register (offset
> 0x4b0 for PCIe) after configuring its own inbound BARs.
That is true if any of the CPUs are allowed to boot immediately
after hreset. If all the CPUs have boot-holdoff set, hardware
will enable inbound config.
> I believe without these PCI config writes, the agent/end-point
> device will not be able to be enumerated by the PCI/PCIe
> host/root-comples as any config cycle to the device will be
> retried.
True.
> Would it make sense to add the unlocking of inbound PCI
> configuration cycles with this patch, or as a separate one?
Separate.
Are there use cases where this should not be done in u-boot,
but postponed until Linux is booted?
> I have some basic code to do this, but wasn't sure of a clean
> way to determine if an interface is PCI or PCIe to determine
> how the interface should be unlocked (ie, the patch is a bit
> "dirty":).
I'm not sure of the best way for this determination. It looks
like a non-zero value for the "PCI Express Capability ID Register"
at 4c can be use to detect PCIe.
-Ed
More information about the U-Boot
mailing list