From mboxrd@z Thu Jan 1 00:00:00 1970 From: thierry.reding@avionic-design.de (Thierry Reding) Date: Fri, 8 Mar 2013 20:12:27 +0100 Subject: [PATCH 24/32] pci: PCIe driver for Marvell Armada 370/XP systems In-Reply-To: <20130308165228.GB4094@obsidianresearch.com> References: <20130306121118.GA17079@avionic-0098.mockup.avionic-design.de> <20130306180946.GA2433@obsidianresearch.com> <20130307080832.GD3451@avionic-0098.mockup.avionic-design.de> <20130307174955.GC20840@obsidianresearch.com> <20130307194830.GA1811@avionic-0098.mockup.avionic-design.de> <20130307200235.GB20695@obsidianresearch.com> <20130307204726.GB1811@avionic-0098.mockup.avionic-design.de> <51392B4D.9040404@gmail.com> <20130308071443.GA5772@avionic-0098.mockup.avionic-design.de> <20130308165228.GB4094@obsidianresearch.com> Message-ID: <20130308191227.GA6551@avionic-0098.mockup.avionic-design.de> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Fri, Mar 08, 2013 at 09:52:28AM -0700, Jason Gunthorpe wrote: > On Fri, Mar 08, 2013 at 08:14:44AM +0100, Thierry Reding wrote: > > On Thu, Mar 07, 2013 at 06:05:33PM -0600, Rob Herring wrote: > > > On 03/07/2013 02:47 PM, Thierry Reding wrote: > > [...] > > > > In a nutshell (since some of the context isn't quoted anymore) the > > > > problem that we're trying to solve is that some of the embedded SoCs > > > > require per-root-port registers for configuration. The PCI DT > > > > specification doesn't make any provisions for this. A few alternatives > > > > have been discussed so far: > > > > > > I'm not sure I follow. This is different than the host controller > > > registers? Why would this not just be multiple entries in the reg property? > > > > Well the register regions are per root-port. On Tegra20 there's 2 of > > them, Tegra30 has 3 and if I understand correctly Marvell can have up to > > 10 (!). Adding all of them to the reg property of the host controller > > could work but it needs some way to match the reg entry to the root port > > similar to option 1 below. > > Thomas just posted an implementation like this, please see: > > http://www.spinics.net/lists/arm-kernel/msg228749.html Oh well. I don't like it, but if that's the way it has to be, then so be it. Any reason why the reg-names can't match the root port's node name so that it can be used directly instead of going through hoops to construct a string from extra parameters? Like below: pcie-controller { regs = <...>; reg-names = ..., "pcie at 1,0", "pcie at 2,0"; pcie at 1,0 { ... }; pcie at 2,0 { ... }; }; Thierry -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 836 bytes Desc: not available URL: