From mboxrd@z Thu Jan 1 00:00:00 1970 From: ezequiel.garcia@free-electrons.com (Ezequiel Garcia) Date: Tue, 18 Jun 2013 18:34:55 -0300 Subject: [PATCH v3 03/12] bus: mvebu-mbus: Add static window allocation to the DT binding In-Reply-To: <201306181814.33941.arnd@arndb.de> References: <1371554737-25319-1-git-send-email-ezequiel.garcia@free-electrons.com> <1371554737-25319-4-git-send-email-ezequiel.garcia@free-electrons.com> <201306181814.33941.arnd@arndb.de> Message-ID: <20130618213454.GD2516@localhost> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Arnd, On Tue, Jun 18, 2013 at 06:14:33PM +0200, Arnd Bergmann wrote: > On Tuesday 18 June 2013, Ezequiel Garcia wrote: > > +Required properties: > > + > > +- compatible: Should be set to one of the following: > > + marvell,armada370-mbus > > + marvell,armadaxp-mbus > > + > > +- reg: Device's register space. > > + Two entries are expected, see the examples below. > > + The first one controls the devices decoding window and > > + the second one controls the SDRAM decoding window. > > + > > +- address-cells: Must be '2'. The first cell for the MBus ID encoding, > > + the second cell for the address offset within the window. > > + > > +- size-cells: Must be '1'. > > + > > +- ranges: Must be set up to provide a proper translation for each child. > > + See the examples below. > > You should explain here what the policy is regarding windows set up by the > boot loader. Are the ranges in here required to be the ones that the boot > loader has preconfigured, or are they the ones that the mbus driver is supposed > to set up? > Actually, I might be confused but the kernel MBus driver is completely independent from the bootloader's -except in the internal register case, (because we don't touch that from where the bootloader left it). What happens is that any decoding window that was setup by the bootloader, is wiped and completely new windows are allocated using the translations in the DT, as described by this binding. This was the case from the start with the old MBus driver. FWIW, I think it's actually the best choice that can be made: it makes the kernel independent of the previous setting. I know you've suggested differently in the past, but I'm not sure I understand what's the benefit in keeping the bootloaders configuration. > > +Each child device needs at least a 'ranges' property. If the child is avaiable > > +(i.e. status not 'disabled'), then the MBus driver creates a decoding window > > +for it. For instance, in the example below the BootROM child is specified: > > + > > + soc { > > + compatible = "marvell,armada370-mbus", "simple-bus"; > > + reg = <0xd0020000 0x100>, <0xd0020180 0x20>; > > + #address-cells = <2>; > > + #size-cells = <1>; > > + > > + ranges = < ... /* other entries */ > > + 0x011d0000 0 0 0xfff00000 0x100000>; > > + > > + bootrom { > > + #address-cells = <1>; > > + #size-cells = <1>; > > + ranges = <0 0x011d0000 0 0x100000>; > > + }; > > + > > + /* other children */ > > + ... > > + }; > > Do you really want to require the child to provide a "ranges" property? > I think this makes it more complicated to specify devices that belong > into the "internal-regs" category. > No, this text is actually a left-over from the previous patchset, in current v3 patchset MBus children are *not* required to have any ranges. On the otherside, although you will need one except in the most trivial cases like for the BootROM. -- 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 v3 03/12] bus: mvebu-mbus: Add static window allocation to the DT binding Date: Tue, 18 Jun 2013 18:34:55 -0300 Message-ID: <20130618213454.GD2516@localhost> References: <1371554737-25319-1-git-send-email-ezequiel.garcia@free-electrons.com> <1371554737-25319-4-git-send-email-ezequiel.garcia@free-electrons.com> <201306181814.33941.arnd@arndb.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <201306181814.33941.arnd-r2nGTMty4D4@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: Arnd Bergmann Cc: Andrew Lunn , Jason Cooper , devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org, Jason Gunthorpe , Maen Suleiman , Lior Amsalem , linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, Sebastian Hesselbarth List-Id: devicetree@vger.kernel.org QXJuZCwKCk9uIFR1ZSwgSnVuIDE4LCAyMDEzIGF0IDA2OjE0OjMzUE0gKzAyMDAsIEFybmQgQmVy Z21hbm4gd3JvdGU6Cj4gT24gVHVlc2RheSAxOCBKdW5lIDIwMTMsIEV6ZXF1aWVsIEdhcmNpYSB3 cm90ZToKPiA+ICtSZXF1aXJlZCBwcm9wZXJ0aWVzOgo+ID4gKwo+ID4gKy0gY29tcGF0aWJsZToJ IFNob3VsZCBiZSBzZXQgdG8gb25lIG9mIHRoZSBmb2xsb3dpbmc6Cj4gPiArCQkgbWFydmVsbCxh cm1hZGEzNzAtbWJ1cwo+ID4gKwkJIG1hcnZlbGwsYXJtYWRheHAtbWJ1cwo+ID4gKwo+ID4gKy0g cmVnOgkJIERldmljZSdzIHJlZ2lzdGVyIHNwYWNlLgo+ID4gKwkJIFR3byBlbnRyaWVzIGFyZSBl eHBlY3RlZCwgc2VlIHRoZSBleGFtcGxlcyBiZWxvdy4KPiA+ICsJCSBUaGUgZmlyc3Qgb25lIGNv bnRyb2xzIHRoZSBkZXZpY2VzIGRlY29kaW5nIHdpbmRvdyBhbmQKPiA+ICsJCSB0aGUgc2Vjb25k IG9uZSBjb250cm9scyB0aGUgU0RSQU0gZGVjb2Rpbmcgd2luZG93Lgo+ID4gKwo+ID4gKy0gYWRk cmVzcy1jZWxsczogTXVzdCBiZSAnMicuIFRoZSBmaXJzdCBjZWxsIGZvciB0aGUgTUJ1cyBJRCBl bmNvZGluZywKPiA+ICsgICAgICAgICAgICAgICAgIHRoZSBzZWNvbmQgY2VsbCBmb3IgdGhlIGFk ZHJlc3Mgb2Zmc2V0IHdpdGhpbiB0aGUgd2luZG93Lgo+ID4gKwo+ID4gKy0gc2l6ZS1jZWxsczog ICAgTXVzdCBiZSAnMScuCj4gPiArCj4gPiArLSByYW5nZXM6ICAgICAgICBNdXN0IGJlIHNldCB1 cCB0byBwcm92aWRlIGEgcHJvcGVyIHRyYW5zbGF0aW9uIGZvciBlYWNoIGNoaWxkLgo+ID4gKwkg ICAgICAgICBTZWUgdGhlIGV4YW1wbGVzIGJlbG93Lgo+IAo+IFlvdSBzaG91bGQgZXhwbGFpbiBo ZXJlIHdoYXQgdGhlIHBvbGljeSBpcyByZWdhcmRpbmcgd2luZG93cyBzZXQgdXAgYnkgdGhlCj4g Ym9vdCBsb2FkZXIuIEFyZSB0aGUgcmFuZ2VzIGluIGhlcmUgcmVxdWlyZWQgdG8gYmUgdGhlIG9u ZXMgdGhhdCB0aGUgYm9vdAo+IGxvYWRlciBoYXMgcHJlY29uZmlndXJlZCwgb3IgYXJlIHRoZXkg dGhlIG9uZXMgdGhhdCB0aGUgbWJ1cyBkcml2ZXIgaXMgc3VwcG9zZWQKPiB0byBzZXQgdXA/Cj4g CgpBY3R1YWxseSwgSSBtaWdodCBiZSBjb25mdXNlZCBidXQgdGhlIGtlcm5lbCBNQnVzIGRyaXZl ciBpcyBjb21wbGV0ZWx5CmluZGVwZW5kZW50IGZyb20gdGhlIGJvb3Rsb2FkZXIncyAtZXhjZXB0 IGluIHRoZSBpbnRlcm5hbCByZWdpc3RlciBjYXNlLAooYmVjYXVzZSB3ZSBkb24ndCB0b3VjaCB0 aGF0IGZyb20gd2hlcmUgdGhlIGJvb3Rsb2FkZXIgbGVmdCBpdCkuCgpXaGF0IGhhcHBlbnMgaXMg dGhhdCBhbnkgZGVjb2Rpbmcgd2luZG93IHRoYXQgd2FzIHNldHVwIGJ5IHRoZSBib290bG9hZGVy LAppcyB3aXBlZCBhbmQgY29tcGxldGVseSBuZXcgd2luZG93cyBhcmUgYWxsb2NhdGVkIHVzaW5n IHRoZSB0cmFuc2xhdGlvbnMKaW4gdGhlIERULCBhcyBkZXNjcmliZWQgYnkgdGhpcyBiaW5kaW5n LgoKVGhpcyB3YXMgdGhlIGNhc2UgZnJvbSB0aGUgc3RhcnQgd2l0aCB0aGUgb2xkIE1CdXMgZHJp dmVyLiBGV0lXLCBJIHRoaW5rCml0J3MgYWN0dWFsbHkgdGhlIGJlc3QgY2hvaWNlIHRoYXQgY2Fu IGJlIG1hZGU6IGl0IG1ha2VzIHRoZSBrZXJuZWwKaW5kZXBlbmRlbnQgb2YgdGhlIHByZXZpb3Vz IHNldHRpbmcuCgpJIGtub3cgeW91J3ZlIHN1Z2dlc3RlZCBkaWZmZXJlbnRseSBpbiB0aGUgcGFz dCwgYnV0IEknbSBub3Qgc3VyZSBJCnVuZGVyc3RhbmQgd2hhdCdzIHRoZSBiZW5lZml0IGluIGtl ZXBpbmcgdGhlIGJvb3Rsb2FkZXJzIGNvbmZpZ3VyYXRpb24uCgo+ID4gK0VhY2ggY2hpbGQgZGV2 aWNlIG5lZWRzIGF0IGxlYXN0IGEgJ3JhbmdlcycgcHJvcGVydHkuIElmIHRoZSBjaGlsZCBpcyBh dmFpYWJsZQo+ID4gKyhpLmUuIHN0YXR1cyBub3QgJ2Rpc2FibGVkJyksIHRoZW4gdGhlIE1CdXMg ZHJpdmVyIGNyZWF0ZXMgYSBkZWNvZGluZyB3aW5kb3cKPiA+ICtmb3IgaXQuIEZvciBpbnN0YW5j ZSwgaW4gdGhlIGV4YW1wbGUgYmVsb3cgdGhlIEJvb3RST00gY2hpbGQgaXMgc3BlY2lmaWVkOgo+ ID4gKwo+ID4gKwlzb2Mgewo+ID4gKwkJY29tcGF0aWJsZSA9ICJtYXJ2ZWxsLGFybWFkYTM3MC1t YnVzIiwgInNpbXBsZS1idXMiOwo+ID4gKwkJcmVnID0gPDB4ZDAwMjAwMDAgMHgxMDA+LCA8MHhk MDAyMDE4MCAweDIwPjsKPiA+ICsJCSNhZGRyZXNzLWNlbGxzID0gPDI+Owo+ID4gKwkJI3NpemUt Y2VsbHMgPSA8MT47Cj4gPiArCj4gPiArCQlyYW5nZXMgPSA8IC4uLiAvKiBvdGhlciBlbnRyaWVz ICovCj4gPiArCQkJICAgMHgwMTFkMDAwMCAwIDAgMHhmZmYwMDAwMCAweDEwMDAwMD47Cj4gPiAr Cj4gPiArCQlib290cm9tIHsKPiA+ICsJCQkjYWRkcmVzcy1jZWxscyA9IDwxPjsKPiA+ICsJCQkj c2l6ZS1jZWxscyA9IDwxPjsKPiA+ICsJCQlyYW5nZXMgPSA8MCAweDAxMWQwMDAwIDAgMHgxMDAw MDA+Owo+ID4gKwkJfTsKPiA+ICsKPiA+ICsJCS8qIG90aGVyIGNoaWxkcmVuICovCj4gPiArCQku Li4KPiA+ICsJfTsKPiAKPiBEbyB5b3UgcmVhbGx5IHdhbnQgdG8gcmVxdWlyZSB0aGUgY2hpbGQg dG8gcHJvdmlkZSBhICJyYW5nZXMiIHByb3BlcnR5Pwo+IEkgdGhpbmsgdGhpcyBtYWtlcyBpdCBt b3JlIGNvbXBsaWNhdGVkIHRvIHNwZWNpZnkgZGV2aWNlcyB0aGF0IGJlbG9uZwo+IGludG8gdGhl ICJpbnRlcm5hbC1yZWdzIiBjYXRlZ29yeS4KPiAKCk5vLCB0aGlzIHRleHQgaXMgYWN0dWFsbHkg YSBsZWZ0LW92ZXIgZnJvbSB0aGUgcHJldmlvdXMgcGF0Y2hzZXQsIGluCmN1cnJlbnQgdjMgcGF0 Y2hzZXQgTUJ1cyBjaGlsZHJlbiBhcmUgKm5vdCogcmVxdWlyZWQgdG8gaGF2ZSBhbnkgcmFuZ2Vz LgpPbiB0aGUgb3RoZXJzaWRlLCBhbHRob3VnaCB5b3Ugd2lsbCBuZWVkIG9uZSBleGNlcHQgaW4g dGhlIG1vc3QgdHJpdmlhbApjYXNlcyBsaWtlIGZvciB0aGUgQm9vdFJPTS4KCi0tIApFemVxdWll bCBHYXJjw61hLCBGcmVlIEVsZWN0cm9ucwpFbWJlZGRlZCBMaW51eCwgS2VybmVsIGFuZCBBbmRy b2lkIEVuZ2luZWVyaW5nCmh0dHA6Ly9mcmVlLWVsZWN0cm9ucy5jb20KX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZGV2aWNldHJlZS1kaXNjdXNzIG1haWxp bmcgbGlzdApkZXZpY2V0cmVlLWRpc2N1c3NAbGlzdHMub3psYWJzLm9yZwpodHRwczovL2xpc3Rz Lm96bGFicy5vcmcvbGlzdGluZm8vZGV2aWNldHJlZS1kaXNjdXNzCg==