]> nv-tegra.nvidia Code Review - linux-2.6.git/commit
powerpc: Fix PCI in Holly device tree
authorDavid Gibson <david@gibson.dropbear.id.au>
Wed, 24 Sep 2008 16:39:04 +0000 (16:39 +0000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Tue, 30 Sep 2008 03:25:05 +0000 (13:25 +1000)
commitad611045ce5d059af84a9855b22ca3f7a99d47be
treef2e2f6281e8037ae391e83b9f3982f6e120a5c09
parent72d31053f62c4bc464c2783974926969614a8649
powerpc: Fix PCI in Holly device tree

The PCI bridge on the Holly board is incorrectly represented in the
device tree.  The current device tree node for the PCI bridge sits
under the tsi-bridge node.  That's not obviously wrong, but the PCI
bridge translates some PCI spaces into CPU address ranges which were
not translated by the "ranges" property in tsi-bridge node.

We used to get away with this problem because the PCI bridge discovery
code was also buggy, assuming incorrectly that PCI host bridge nodes
were always directly under the root bus and treating the translated
addresses as raw CPU addresses, rather than parent bus addresses.
This has since been fixed, thus breaking Holly.

This could be fixed by adding extra translations to the tsi-bridge
node, but this patch instead moves the Holly PCI bridge out of the
tsi-bridge node to the root bus.  This makes the tsi-bridge node
represent only the built-in IO devices in the bridge, with a
more-or-less contiguous address range.  This is the same convention
used on Freescale SoC chips, where the "soc" node represents only the
IMMR region, and the PCI and other bus bridges are separate nodes
under the root bus.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Acked-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/boot/dts/holly.dts