[U-Boot] Problems with PCI-E Switch on 460EX

Ayman M. El-Khashab ayman at elkhashab.com
Tue Oct 14 17:05:14 CEST 2008


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.  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).

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.

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

3) Does u-boot require any special configuration to enable all these 
pci-e devices

4) Anything else to try?

Thanks
- ame



More information about the U-Boot mailing list