PCI scanning and devices initialization

Stefano Gaiotto Stefano.Gaiotto at marconi.com
Fri Aug 20 21:40:26 EST 2004


Thanks Juergen,

I don't know exactly what is a "PCI to anything" bridge, anyway u-boot
bridge (60x/PCI) initilaization code seems to be almost identical to that
in Linux.
Anyway, I get the same result both in u-boot and Linux...


Linux:

# cat iomem
80000000-9fffffff : PCI prefetchable memory
a0000000-afffffff : PCI memory
#
# cat ioports
00000000-00ffffff : PCI I/O
#
# cat pci
PCI devices found:
  Bus  0, device   0, function  0:
    Host bridge: Motorola MPC8265A/MPC8266 (rev 32).
      Master Capable.  Latency=248.
      Non-prefetchable 32 bit memory at 0x0 [0x1ffff].
      Prefetchable 32 bit memory at 0x0 [0x3ffffff].
#


u-boot:

...
PCI Autoconfig: Memory region: [80000000-8fffffff]
PCI Autoconfig: I/O region: [a0000000-afffffff]
...



=> pci
Scanning PCI devices on bus 0
BusDevFun  VendorId   DeviceId   Device Class       Sub-Class
_____________________________________________________________
00.00.00   0x1057     0x18c0     Bridge device           0x00
00.00.01   0x1057     0x18c0     Bridge device           0x00
00.00.02   0x1057     0x18c0     Bridge device           0x00
00.00.03   0x1057     0x18c0     Bridge device           0x00
00.00.04   0x1057     0x18c0     Bridge device           0x00
00.00.05   0x1057     0x18c0     Bridge device           0x00
00.00.06   0x1057     0x18c0     Bridge device           0x00
00.00.07   0x1057     0x18c0     Bridge device           0x00
=>


Regards,
      Stefano Gaiotto





Juergen.Beisert at windriver.com on 18/08/2004 15:28:11

To:    tnt at 246tnt.com, Stefano.Gaiotto at marconi.com
cc:    linuxppc-embedded at lists.linuxppc.org

Subject:    RE: PCI scanning and devices initialization


Hi,

> Yes, there may be something wrong with your hardware.

This could only be _one_ reason

> At the PCI init, PCI devices don't yet have an address, so the host
> detects them using configuration cycles. Theses uses a different
> addressing scheme, using each address line as a kind of "chip select".
> So the devices know the host is "talking" to it just by
> looking at it's
> IDSEL line going asserted. If on your board the IDSEL isn't wired
> properly then it won't work. Hopefully if that's the case,
> you can just
> wire it by hand, it's not a high speed signal.

Does the U-Boot PCI setup routine handles PCI devices behind a "PCI to
anything" bridge? Sometimes simple code ignores bridges. Don't know the
current U-Boot implementation. If not, there is no chance to access any
devices behind it (even if the hardware is correct).

JB


** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/





More information about the Linuxppc-embedded mailing list