From mboxrd@z Thu Jan 1 00:00:00 1970 From: ezequiel.garcia@free-electrons.com (Ezequiel Garcia) Date: Wed, 12 Jun 2013 17:02:50 -0300 Subject: [PATCH 04/14] bus: mvebu-mbus: Add static window allocation to the DT binding In-Reply-To: <20130611215023.GA12649@obsidianresearch.com> References: <1370623671-7748-1-git-send-email-ezequiel.garcia@free-electrons.com> <20130609014506.GB10027@obsidianresearch.com> <20130611135737.GC3996@localhost> <20835253.Agl4DfuI3k@wuerfel> <20130611215023.GA12649@obsidianresearch.com> Message-ID: <20130612200248.GA23012@localhost> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Jason, On Tue, Jun 11, 2013 at 03:50:23PM -0600, Jason Gunthorpe wrote: > On Tue, Jun 11, 2013 at 05:26:47PM +0200, Arnd Bergmann wrote: > > > That looks ok to me, yes. If you have just one device under some of the nodes > > however, I think it's easier use an empty ranges property and do > > > > devbus-bootcs { > > ranges; > > nor { > > reg = <0x012f0000 0 0x1000000>; > > }; > > > > The 'ranges' here is most useful if you have multiple devices > > add different offsets. I would also predefine those ranges to > > be as large as possible so you don't have to adapt them when > > the child device grows beyond it. > > It isn't super critical, but the ranges does keep the 0x012f0000 value > in the SOC .dtsi and the board level doesn't have to be exposed to the > value, it just uses 0 to setup the NOR. > > Also, it makes it much simpler for the mbus driver to detect which > target id's are required so they can be allocated/setup - the rule > would be every child stanza should have a ranges with the target(s) it > needs. > > The full version probably looks like this: > > mbus { > ranges .... > > devbus-bootcs at 10400 { > compatible = "marvell,mvebu-devbus"; > reg = ; > ranges = <0 DEVBUS_BOOTCS 0x1000000>; > #address-cells = <1>; > #size-cells = <1>; > clocks = <&coreclk 0>; > > // In board .dts: > nor at 0 { > compatible = "cfi-flash"; > reg = <0 0x1000000>; > bank-width = <2>; > }; > }; > }; > > And notice here that we need to offset INTERNAL_REGS to make this > work. To me, this is the primary reason why the 2nd cell of the mbus > address format *must* be the address offset within the target, and not > anything else. > I tried to implement something like the above, but adding numbers does not seem to work using the preprocessor on the DT. I'm probably missing something, but... are you sure that's supposed to work? I ended up implementing something similar, see below. The defines shown are very early/hacky, just to get it working. I'll implement them better, so omit them for now. #define INTERNAL_REGS_ID 0xffff0001 #define INTERNAL_REGS INTERNAL_REGS_ID 0 #define DEVBUS_BOOTCS 0x012f0000 0 #define BOOTROM 0x01e00000 0 #define INTERNAL_REGS_BASE 0 0xd0000000 #define DEVBUS_BOOTCS_BASE 0 0xf0000000 #define BOOTROM_BASE 0 0xfff00000 ... soc { ranges = ; devbus-bootcs { compatible = "marvell,mvebu-devbus"; reg = ; ranges = <0 DEVBUS_BOOTCS 0x1000000>; #address-cells = <1>; #size-cells = <1>; status = "disabled"; nor at 0 { compatible = "cfi-flash"; reg = <0 0x1000000>; bank-width = <2>; }; }; }; -- Ezequiel Garc?a, Free Electrons Embedded Linux, Kernel and Android Engineering http://free-electrons.com From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ezequiel Garcia Subject: Re: [PATCH 04/14] bus: mvebu-mbus: Add static window allocation to the DT binding Date: Wed, 12 Jun 2013 17:02:50 -0300 Message-ID: <20130612200248.GA23012@localhost> References: <1370623671-7748-1-git-send-email-ezequiel.garcia@free-electrons.com> <20130609014506.GB10027@obsidianresearch.com> <20130611135737.GC3996@localhost> <20835253.Agl4DfuI3k@wuerfel> <20130611215023.GA12649@obsidianresearch.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20130611215023.GA12649-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: devicetree-discuss-bounces+gldd-devicetree-discuss=m.gmane.org-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org Sender: "devicetree-discuss" To: Jason Gunthorpe Cc: Lior Amsalem , Jason Cooper , Andrew Lunn , devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org, Maen Suleiman , linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, Sebastian Hesselbarth List-Id: devicetree@vger.kernel.org SmFzb24sCgpPbiBUdWUsIEp1biAxMSwgMjAxMyBhdCAwMzo1MDoyM1BNIC0wNjAwLCBKYXNvbiBH dW50aG9ycGUgd3JvdGU6Cj4gT24gVHVlLCBKdW4gMTEsIDIwMTMgYXQgMDU6MjY6NDdQTSArMDIw MCwgQXJuZCBCZXJnbWFubiB3cm90ZToKPiAKPiA+IFRoYXQgbG9va3Mgb2sgdG8gbWUsIHllcy4g SWYgeW91IGhhdmUganVzdCBvbmUgZGV2aWNlIHVuZGVyIHNvbWUgb2YgdGhlIG5vZGVzCj4gPiBo b3dldmVyLCBJIHRoaW5rIGl0J3MgZWFzaWVyIHVzZSBhbiBlbXB0eSByYW5nZXMgcHJvcGVydHkg YW5kIGRvCj4gPiAKPiA+ICAJZGV2YnVzLWJvb3RjcyB7Cj4gPiAgCQlyYW5nZXM7Cj4gPiAgCQlu b3Igewo+ID4gIAkJCXJlZyA9IDwweDAxMmYwMDAwIDAgMHgxMDAwMDAwPjsKPiA+ICAJCX07Cj4g PiAKPiA+IFRoZSAncmFuZ2VzJyBoZXJlIGlzIG1vc3QgdXNlZnVsIGlmIHlvdSBoYXZlIG11bHRp cGxlIGRldmljZXMKPiA+IGFkZCBkaWZmZXJlbnQgb2Zmc2V0cy4gSSB3b3VsZCBhbHNvIHByZWRl ZmluZSB0aG9zZSByYW5nZXMgdG8KPiA+IGJlIGFzIGxhcmdlIGFzIHBvc3NpYmxlIHNvIHlvdSBk b24ndCBoYXZlIHRvIGFkYXB0IHRoZW0gd2hlbgo+ID4gdGhlIGNoaWxkIGRldmljZSBncm93cyBi ZXlvbmQgaXQuCj4gCj4gSXQgaXNuJ3Qgc3VwZXIgY3JpdGljYWwsIGJ1dCB0aGUgcmFuZ2VzIGRv ZXMga2VlcCB0aGUgMHgwMTJmMDAwMCB2YWx1ZQo+IGluIHRoZSBTT0MgLmR0c2kgYW5kIHRoZSBi b2FyZCBsZXZlbCBkb2Vzbid0IGhhdmUgdG8gYmUgZXhwb3NlZCB0byB0aGUKPiB2YWx1ZSwgaXQg anVzdCB1c2VzIDAgdG8gc2V0dXAgdGhlIE5PUi4KPiAKPiBBbHNvLCBpdCBtYWtlcyBpdCBtdWNo IHNpbXBsZXIgZm9yIHRoZSBtYnVzIGRyaXZlciB0byBkZXRlY3Qgd2hpY2gKPiB0YXJnZXQgaWQn cyBhcmUgcmVxdWlyZWQgc28gdGhleSBjYW4gYmUgYWxsb2NhdGVkL3NldHVwIC0gdGhlIHJ1bGUK PiB3b3VsZCBiZSBldmVyeSBjaGlsZCBzdGFuemEgc2hvdWxkIGhhdmUgYSByYW5nZXMgd2l0aCB0 aGUgdGFyZ2V0KHMpIGl0Cj4gbmVlZHMuCj4gCj4gVGhlIGZ1bGwgdmVyc2lvbiBwcm9iYWJseSBs b29rcyBsaWtlIHRoaXM6Cj4gCj4gbWJ1cyB7Cj4gICAgIHJhbmdlcyAuLi4uCj4gCj4gICAgICAg ICAgICAgICAgICAgICAgICAgZGV2YnVzLWJvb3Rjc0AxMDQwMCB7Cj4gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjb21wYXRpYmxlID0gIm1hcnZlbGwsbXZlYnUtZGV2YnVzIjsKPiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZyA9IDxJTlRFUk5BTF9SRUdTICsgMHgx MDQwMCAweDg+Owo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFuZ2VzID0gPDAg REVWQlVTX0JPT1RDUyAweDEwMDAwMDA+Owo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgI2FkZHJlc3MtY2VsbHMgPSA8MT47Cj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAjc2l6ZS1jZWxscyA9IDwxPjsKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNs b2NrcyA9IDwmY29yZWNsayAwPjsKPiAKPiAJCQkJLy8gSW4gYm9hcmQgLmR0czoKPiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIG5vckAwIHsKPiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgY29tcGF0aWJsZSA9ICJjZmktZmxhc2giOwo+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWcgPSA8MCAweDEwMDAwMDA+Owo+ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYW5rLXdpZHRoID0gPDI+Owo+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTsKPiAgICAgICAgICAgICAgICAgICAgICAg ICB9Owo+IH07Cj4gCj4gQW5kIG5vdGljZSBoZXJlIHRoYXQgd2UgbmVlZCB0byBvZmZzZXQgSU5U RVJOQUxfUkVHUyB0byBtYWtlIHRoaXMKPiB3b3JrLiBUbyBtZSwgdGhpcyBpcyB0aGUgcHJpbWFy eSByZWFzb24gd2h5IHRoZSAybmQgY2VsbCBvZiB0aGUgbWJ1cwo+IGFkZHJlc3MgZm9ybWF0ICpt dXN0KiBiZSB0aGUgYWRkcmVzcyBvZmZzZXQgd2l0aGluIHRoZSB0YXJnZXQsIGFuZCBub3QKPiBh bnl0aGluZyBlbHNlLgo+IAoKSSB0cmllZCB0byBpbXBsZW1lbnQgc29tZXRoaW5nIGxpa2UgdGhl IGFib3ZlLCBidXQgYWRkaW5nIG51bWJlcnMKZG9lcyBub3Qgc2VlbSB0byB3b3JrIHVzaW5nIHRo ZSBwcmVwcm9jZXNzb3Igb24gdGhlIERULgoKSSdtIHByb2JhYmx5IG1pc3Npbmcgc29tZXRoaW5n LCBidXQuLi4gYXJlIHlvdSBzdXJlIHRoYXQncyBzdXBwb3NlZCB0byB3b3JrPwoKSSBlbmRlZCB1 cCBpbXBsZW1lbnRpbmcgc29tZXRoaW5nIHNpbWlsYXIsIHNlZSBiZWxvdy4KVGhlIGRlZmluZXMg c2hvd24gYXJlIHZlcnkgZWFybHkvaGFja3ksIGp1c3QgdG8gZ2V0IGl0IHdvcmtpbmcuCkknbGwg aW1wbGVtZW50IHRoZW0gYmV0dGVyLCBzbyBvbWl0IHRoZW0gZm9yIG5vdy4KCiNkZWZpbmUgSU5U RVJOQUxfUkVHU19JRCAweGZmZmYwMDAxCgojZGVmaW5lIElOVEVSTkFMX1JFR1MgSU5URVJOQUxf UkVHU19JRCAwCiNkZWZpbmUgREVWQlVTX0JPT1RDUyAweDAxMmYwMDAwIDAKI2RlZmluZSBCT09U Uk9NICAgICAgIDB4MDFlMDAwMDAgMAoKI2RlZmluZSBJTlRFUk5BTF9SRUdTX0JBU0UgMCAweGQw MDAwMDAwCiNkZWZpbmUgREVWQlVTX0JPT1RDU19CQVNFIDAgMHhmMDAwMDAwMAojZGVmaW5lIEJP T1RST01fQkFTRSAgICAgICAwIDB4ZmZmMDAwMDAKLi4uCiAKc29jIHsKCXJhbmdlcyA9IDxJTlRF Uk5BTF9SRUdTIElOVEVSTkFMX1JFR1NfQkFTRSAweDEwMDAwMAoJCSAgQk9PVFJPTSAgICAgICBC T09UUk9NX0JBU0UgICAgICAgMHgxMDAwMDAKCQkgIERFVkJVU19CT09UQ1MgREVWQlVTX0JPT1RD U19CQVNFIDB4MTAwMDAwMD47CgoJZGV2YnVzLWJvb3RjcyB7CgkJY29tcGF0aWJsZSA9ICJtYXJ2 ZWxsLG12ZWJ1LWRldmJ1cyI7CgkJcmVnID0gPElOVEVSTkFMX1JFR1NfSUQgMHgxMDQwMCAweDg+ OwoJCXJhbmdlcyA9IDwwIERFVkJVU19CT09UQ1MgMHgxMDAwMDAwPjsKCQkjYWRkcmVzcy1jZWxs cyA9IDwxPjsKCQkjc2l6ZS1jZWxscyA9IDwxPjsKCQlzdGF0dXMgPSAiZGlzYWJsZWQiOwoJCQoJ CW5vckAwIHsKCQkJY29tcGF0aWJsZSA9ICJjZmktZmxhc2giOwoJCQlyZWcgPSA8MCAweDEwMDAw MDA+OwoJCQliYW5rLXdpZHRoID0gPDI+OwoJCX07Cgl9Owp9OwoKLS0gCkV6ZXF1aWVsIEdhcmPD rWEsIEZyZWUgRWxlY3Ryb25zCkVtYmVkZGVkIExpbnV4LCBLZXJuZWwgYW5kIEFuZHJvaWQgRW5n aW5lZXJpbmcKaHR0cDovL2ZyZWUtZWxlY3Ryb25zLmNvbQpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpkZXZpY2V0cmVlLWRpc2N1c3MgbWFpbGluZyBsaXN0 CmRldmljZXRyZWUtZGlzY3Vzc0BsaXN0cy5vemxhYnMub3JnCmh0dHBzOi8vbGlzdHMub3psYWJz Lm9yZy9saXN0aW5mby9kZXZpY2V0cmVlLWRpc2N1c3MK