On Tuesday 14 October 2008, Ayman M. El-Khashab wrote:
> I hope somebody can shed some light on our problem. The summary is
> that when we use a pci-e switch, we don't see anything on the downstream
> side of the switch in Linux. U-Boot may or may not see the downstream
> side (details below).
> We are using the stock canyonlands (460EX) board with both original and
> new kernels. We have the 1L port as an end-point and the 4L as a RC.
> We've purchased a PLX 8509 PCI-E Switch and PLX 8612 PCI-E Switch add-in
> cards. Each of them fits into the 4 lane port.
So you are using the PCIe slot 1? I'm asking since slot 0 is known to have
problems with some boards.
> We also have another
> COTS pci-e sata controller (our control if you will).
> sata card to the canyonlands, everything works correctly. This tells
> me that pci-e, discovery, etc are configured / working.
> sata to the 8509 and the 8509 to the canyonlands, u-boot will detect
> the sata card, but for whatever reason, Linux does not see it
> (via lspci or our own tool).
This is a Linux specific problem then. I suggest that you post this specific
problem to linuxppc-dev.
BTW: Do you happen to have another non-406EX AMCC eval board with PCIe?
Kilauea? Or Katmai? I know from another customer that using PCIe-switches on
> sata to the 8612 and the 8612 to the canyonlands, u-boot does not see
> the card (and obviously linux does not see the card either).
> One more data point, we have an NI PCI-E GPIB controller. It has a
> pci-e to pci bridge on board. U-Boot sees the bridge, but again nothing
> on the downstream port.
Did you try to "tune" the "pciscandelay" environment variable? Setting
pciscandelay to "n" will delay the PCI device scan by "n" seconds. Some
endpoints seem to have problems with "too early" configuration, IIRC.
> We have looked at all of these cases using a lecroy pci-e analyzer. In
> most cases the u-boot code looks to be doing the right thing. The 8612
> being the only odd case. We did notice the pci-e bus number change on
> the analyzer from 3 to (I think 129) -- I still cannot explain this.
> 1) Do I have to add anything to the device tree for the switch (I did
> not believe that it was required)
> 2) Since it appears no switch/bridge downstream device is visible, is
> something needed in Linux to make these go? I checked both the u-boot
> and kernel config and saw nothing obvious other than enabling pci-e
No. I think this could be a timing issue. Or even a Canyonlands specific PCIe
controller setup problem.
> 3) Does u-boot require any special configuration to enable all these
> pci-e devices
No. But again its probably necessary to set "pciscandelay".
> 4) Anything else to try?
A good test would be with a different AMCC PCIe equipped board as mentioned
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@...