* Set up device tree for PCI bus
@ 2007-10-12 10:48 Hommel, Thomas (GE Indust, GE Fanuc)
2007-10-12 11:27 ` Benjamin Herrenschmidt
0 siblings, 1 reply; 2+ messages in thread
From: Hommel, Thomas (GE Indust, GE Fanuc) @ 2007-10-12 10:48 UTC (permalink / raw)
To: linuxppc-dev
Hi all,
I'm wondering how to set up a proper device tree for a PCI bus. The bus
has a tree-like structure with several bridges and can be extended
dynamically (by adding PMC/XMC modules).
The structure looks like this:
----------------------
| MPC8641 |
| |
| BDF 0:0:0 |
----------------------
|
|Bus #1
|PCIe 8x
|
-----------------------------------------------
| PCIe switch | |
| ------------- |
| | BDF 1:0:0 | | =20
| ------------- |
| |Bus #2 |
| ----------------------------- |
| | | | |
| ----------- ------------ ----------- |
| |BDF 2:1:0| |BDF 2:2:0 | |BDF 2:3:0| |
| ----------- ------------ ----------- |
| |Bus #3 |Bus #5 |Bus #6 |
| |PCIe 4x |PCIe 2x |PCIe 2x |
-----------------------------------------------
| | |
----------- ------------ ----------- =20
|Bridge | |Expansion | |SATA | =20
|BDF 3:0:0| |Slot | |BDF 6:0:0| =20
----------- ------------ ----------- =20
|
|Bus #4
|PCI-X
----------------------
| |
------------ ------------=20
|VME Bridge| |PMC Slot | =20
|BDF 4:e:0 | |BDF 4:c:0 | =20
------------ ------------ =20
A problem is that the modules in the Expansion/PMC slot can contain more
bridges and therefore the bus numbering isn't fixed. For example, if the
PMC adds one more bus, #5 becomes #6 and #6 becomes #7.
Can I assign fixed resources for all the bridge parts of the system?
Thanks
Thomas
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Set up device tree for PCI bus
2007-10-12 10:48 Set up device tree for PCI bus Hommel, Thomas (GE Indust, GE Fanuc)
@ 2007-10-12 11:27 ` Benjamin Herrenschmidt
0 siblings, 0 replies; 2+ messages in thread
From: Benjamin Herrenschmidt @ 2007-10-12 11:27 UTC (permalink / raw)
To: Hommel, Thomas (GE Indust, GE Fanuc); +Cc: linuxppc-dev
On Fri, 2007-10-12 at 12:48 +0200, Hommel, Thomas (GE Indust, GE Fanuc)
wrote:
> Hi all,
> I'm wondering how to set up a proper device tree for a PCI bus. The bus
> has a tree-like structure with several bridges and can be extended
> dynamically (by adding PMC/XMC modules).
.../...
> A problem is that the modules in the Expansion/PMC slot can contain more
> bridges and therefore the bus numbering isn't fixed. For example, if the
> PMC adds one more bus, #5 becomes #6 and #6 becomes #7.
> Can I assign fixed resources for all the bridge parts of the system?
ppc32 should cope with renumbering... though ppc64 will probably not.
What you can do perhaps is to assign wide bus ranges to your slots. For
example, slot 0 would provide bus 0x10...0x1f, slot 1 bus 0x20 to 0x2f
etc... You would thus only put the switch busses in the device-tree.
There is still a potential issue if you connect enough sub busses to
blow that range of 16 away but that's unlikely.
Such a solution would work for the time being. In the long run, I do
intend to make the kernel more flexible overall with bus renumbering vs.
OF tree.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2007-10-12 11:27 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-10-12 10:48 Set up device tree for PCI bus Hommel, Thomas (GE Indust, GE Fanuc)
2007-10-12 11:27 ` Benjamin Herrenschmidt
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox