[PATCH 24/32] pci: PCIe driver for Marvell Armada 370/XP systems
Jason Gunthorpe
jgunthorpe at obsidianresearch.com
Wed Mar 13 09:08:54 EST 2013
On Tue, Mar 12, 2013 at 10:30:06PM +0100, Thierry Reding wrote:
> > Not going down the of_pci_* code paths for address translation at the
> > root port bridge nodes is certainly not right.
>
> I'm not so sure. Why should the pcie-controller be a PCI device?
The spec is clear on that point as well:
device_type
A Standard Package conforming to this specification and corresponding
to a device that implements a PCI bus shall implement this property
with the string value "pci"
The children of a pcie-controller node are PCI devices, thus the
pcie-controller node 'implements a PCI bus'. Or, as you say 'device on
the processor/SoC/platform bus that bridges to the PCI bus'
Think of device_type as also meaning bus_type and it makes more
logical sense, the name is terrible, but its usage is governed by the
OF docs..
> The other alternative would be to amend the specification. Besides the
> fact that the specification says so I don't see any reason why this
> shouldn't be allowed.
'the specification says so' *IS* the reason. DT isn't a free for all
where you get to do whatever you want, or whatever 'feels' right. It
is supposed to be a stable, OS agnostic ABI. That means bindings have
to follow the specs (when available).
Maybe a future revision will support PCI-E ECAM, but we don't know
what that will look like, and I'm pretty sure you don't want to hold
up your patches until an IEEE committee gets around to deciding
something ;)
Jason
More information about the devicetree-discuss
mailing list