From mboxrd@z Thu Jan 1 00:00:00 1970 From: ezequiel.garcia@free-electrons.com (Ezequiel Garcia) Date: Tue, 18 Jun 2013 10:07:51 -0300 Subject: [PATCH v3 00/12] MBus device tree binding In-Reply-To: <51C04591.3010206@gmail.com> References: <1371554737-25319-1-git-send-email-ezequiel.garcia@free-electrons.com> <51C04591.3010206@gmail.com> Message-ID: <20130618130750.GB25416@localhost> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Hi Sebastian, On Tue, Jun 18, 2013 at 01:33:37PM +0200, Sebastian Hesselbarth wrote: > On 06/18/13 13:25, Ezequiel Garcia wrote: > > In the example below there's an extract of a device tree showing how > > the internal-regs and pcie nodes can be represented: > > > > #define MBUS_ID(target,attributes) (((target) << 24) | ((attributes) << 16)) > > > > soc { > > compatible = "marvell,armadaxp-mbus"; > > reg = <0 0xd0020000 0 0x100>, <0 0xd0020180 0 0x20>; > > > > ranges = <0xffff0001 0 0 0xd0000000 0x100000 /* internal-regs */ > > 0xffff0000 0 0 0xe0000000 0x8100000 /* pcie */ > > MBUS_ID(0x01, 0x1d) 0 0 0xfff00000 0x100000 > > MBUS_ID(0x01, 0x2f) 0 0 0xf0000000 0x8000000>; > > Ezequiel, > > you should update PCIE above (and possibly anywhere else) too. > Right. I've just checked and I only forgot to update the PCIe first-cell (0xffff0000 -> 0xffff0002) in this cover-letter. The device tree files and the documentation look correct. Sorry for the confusion! > > pcie-controller { > > compatible = "marvell,armada-xp-pcie"; > > status = "okay"; > > device_type = "pci"; > > > > #address-cells = <3>; > > #size-cells = <2>; > > > > ranges = > > <0x82000000 0 0x40000 0xffff0001 0x40000 0 0x00002000 /* Port 0.0 registers */ > > 0x82000000 0 0x42000 0xffff0001 0x42000 0 0x00002000 /* Port 2.0 registers */ > > 0x82000000 0 0x44000 0xffff0001 0x44000 0 0x00002000 /* Port 0.1 registers */ > > 0x82000000 0 0x48000 0xffff0001 0x48000 0 0x00002000 /* Port 0.2 registers */ > > 0x82000000 0 0x4c000 0xffff0001 0x4c000 0 0x00002000 /* Port 0.3 registers */ > > 0x82000000 0 0x80000 0xffff0001 0x80000 0 0x00002000 /* Port 1.0 registers */ > > 0x82000000 0 0x82000 0xffff0001 0x82000 0 0x00002000 /* Port 3.0 registers */ > > 0x82000000 0 0xe0000000 0xffff0000 0 0 0x08000000 /* non-prefetchable memory */ > > 0x81000000 0 0 0xffff0000 0x8000000 0 0x00100000>; /* downstream I/O */ > > Here for example. > > > Changes from v2: > > * Replaced the PCIe mapping with 0xffff0002, to avoid using a representation > > that might correspond to a possible window id. > > Out of curiosity, how will these fake mappings play with LPAE? If you > extend possible address space to >32b the lower bits may belong to valid > addresses. > Maybe you can (already do?) ignore that because of the 32b address > restriction for internal registers IIRC Thomas mentioned? > That's a tricky question. The best explanation I can give you is that these fake mappings belong to the MBus children address space, which is different from the physical address space where LPAE comes into play. This MBus children address space consists of two 32-bit cells: IIAA00CC 00oooooo The first one encodes the target ID and attribute in its upper 16 bits, and custom values for the fake mappings in the lower 8 bits. The second one encodes the offset into the MBus decoding window, and this window can be as large as 4 GiB. The address space I've just described is not the physical 64-bit address space; it's the one where MBus children sit. I hope I understood you're question, and I hope any of the above makes sense! -- 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 00/12] MBus device tree binding Date: Tue, 18 Jun 2013 10:07:51 -0300 Message-ID: <20130618130750.GB25416@localhost> References: <1371554737-25319-1-git-send-email-ezequiel.garcia@free-electrons.com> <51C04591.3010206@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <51C04591.3010206-Re5JQEeQqe8AvxtiuMwx3w@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: Sebastian Hesselbarth 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 List-Id: devicetree@vger.kernel.org SGkgU2ViYXN0aWFuLAoKT24gVHVlLCBKdW4gMTgsIDIwMTMgYXQgMDE6MzM6MzdQTSArMDIwMCwg U2ViYXN0aWFuIEhlc3NlbGJhcnRoIHdyb3RlOgo+IE9uIDA2LzE4LzEzIDEzOjI1LCBFemVxdWll bCBHYXJjaWEgd3JvdGU6Cj4gPiBJbiB0aGUgZXhhbXBsZSBiZWxvdyB0aGVyZSdzIGFuIGV4dHJh Y3Qgb2YgYSBkZXZpY2UgdHJlZSBzaG93aW5nIGhvdwo+ID4gdGhlIGludGVybmFsLXJlZ3MgYW5k IHBjaWUgbm9kZXMgY2FuIGJlIHJlcHJlc2VudGVkOgo+ID4KPiA+IAkjZGVmaW5lIE1CVVNfSUQo dGFyZ2V0LGF0dHJpYnV0ZXMpICgoKHRhcmdldCkgPDwgMjQpIHwgKChhdHRyaWJ1dGVzKSA8PCAx NikpCj4gPgo+ID4gCXNvYyB7Cj4gPiAJCWNvbXBhdGlibGUgPSAibWFydmVsbCxhcm1hZGF4cC1t YnVzIjsKPiA+IAkJcmVnID0gPDAgMHhkMDAyMDAwMCAwIDB4MTAwPiwgPDAgMHhkMDAyMDE4MCAw IDB4MjA+Owo+ID4KPiA+IAkJcmFuZ2VzID0gPDB4ZmZmZjAwMDEgMCAwIDB4ZDAwMDAwMDAgMHgx MDAwMDAgICAvKiBpbnRlcm5hbC1yZWdzICovCj4gPiAJCQkgIDB4ZmZmZjAwMDAgMCAwIDB4ZTAw MDAwMDAgMHg4MTAwMDAwICAvKiBwY2llICovCj4gPiAJCQkgIE1CVVNfSUQoMHgwMSwgMHgxZCkg MCAwIDB4ZmZmMDAwMDAgMHgxMDAwMDAKPiA+IAkJCSAgTUJVU19JRCgweDAxLCAweDJmKSAwIDAg MHhmMDAwMDAwMCAweDgwMDAwMDA+Owo+IAo+IEV6ZXF1aWVsLAo+IAo+IHlvdSBzaG91bGQgdXBk YXRlIFBDSUUgYWJvdmUgKGFuZCBwb3NzaWJseSBhbnl3aGVyZSBlbHNlKSB0b28uCj4gCgpSaWdo dC4gSSd2ZSBqdXN0IGNoZWNrZWQgYW5kIEkgb25seSBmb3Jnb3QgdG8gdXBkYXRlIHRoZSBQQ0ll IGZpcnN0LWNlbGwKKDB4ZmZmZjAwMDAgLT4gMHhmZmZmMDAwMikgaW4gdGhpcyBjb3Zlci1sZXR0 ZXIuIFRoZSBkZXZpY2UgdHJlZSBmaWxlcyAKYW5kIHRoZSBkb2N1bWVudGF0aW9uIGxvb2sgY29y cmVjdC4KClNvcnJ5IGZvciB0aGUgY29uZnVzaW9uIQoKPiA+IAkJcGNpZS1jb250cm9sbGVyIHsK PiA+IAkJCWNvbXBhdGlibGUgPSAibWFydmVsbCxhcm1hZGEteHAtcGNpZSI7Cj4gPiAJCQlzdGF0 dXMgPSAib2theSI7Cj4gPiAJCQlkZXZpY2VfdHlwZSA9ICJwY2kiOwo+ID4KPiA+IAkJCSNhZGRy ZXNzLWNlbGxzID0gPDM+Owo+ID4gCQkJI3NpemUtY2VsbHMgPSA8Mj47Cj4gPgo+ID4gCQkJcmFu Z2VzID0KPiA+IAkJCSAgICAgICA8MHg4MjAwMDAwMCAwIDB4NDAwMDAgMHhmZmZmMDAwMSAweDQw MDAwIDAgMHgwMDAwMjAwMCAgIC8qIFBvcnQgMC4wIHJlZ2lzdGVycyAqLwo+ID4gCQkJCTB4ODIw MDAwMDAgMCAweDQyMDAwIDB4ZmZmZjAwMDEgMHg0MjAwMCAwIDB4MDAwMDIwMDAgICAvKiBQb3J0 IDIuMCByZWdpc3RlcnMgKi8KPiA+IAkJCQkweDgyMDAwMDAwIDAgMHg0NDAwMCAweGZmZmYwMDAx IDB4NDQwMDAgMCAweDAwMDAyMDAwICAgLyogUG9ydCAwLjEgcmVnaXN0ZXJzICovCj4gPiAJCQkJ MHg4MjAwMDAwMCAwIDB4NDgwMDAgMHhmZmZmMDAwMSAweDQ4MDAwIDAgMHgwMDAwMjAwMCAgIC8q IFBvcnQgMC4yIHJlZ2lzdGVycyAqLwo+ID4gCQkJCTB4ODIwMDAwMDAgMCAweDRjMDAwIDB4ZmZm ZjAwMDEgMHg0YzAwMCAwIDB4MDAwMDIwMDAgICAvKiBQb3J0IDAuMyByZWdpc3RlcnMgKi8KPiA+ IAkJCQkweDgyMDAwMDAwIDAgMHg4MDAwMCAweGZmZmYwMDAxIDB4ODAwMDAgMCAweDAwMDAyMDAw ICAgLyogUG9ydCAxLjAgcmVnaXN0ZXJzICovCj4gPiAJCQkJMHg4MjAwMDAwMCAwIDB4ODIwMDAg MHhmZmZmMDAwMSAweDgyMDAwIDAgMHgwMDAwMjAwMCAgIC8qIFBvcnQgMy4wIHJlZ2lzdGVycyAq Lwo+ID4gCQkJCTB4ODIwMDAwMDAgMCAweGUwMDAwMDAwIDB4ZmZmZjAwMDAgMCAwIDB4MDgwMDAw MDAgICAvKiBub24tcHJlZmV0Y2hhYmxlIG1lbW9yeSAqLwo+ID4gCQkJCTB4ODEwMDAwMDAgMCAw IDB4ZmZmZjAwMDAgMHg4MDAwMDAwIDAgMHgwMDEwMDAwMD47IC8qIGRvd25zdHJlYW0gSS9PICov Cj4gCj4gSGVyZSBmb3IgZXhhbXBsZS4KPiAKPiA+IENoYW5nZXMgZnJvbSB2MjoKPiA+ICAgKiBS ZXBsYWNlZCB0aGUgUENJZSBtYXBwaW5nIHdpdGggMHhmZmZmMDAwMiwgdG8gYXZvaWQgdXNpbmcg YSByZXByZXNlbnRhdGlvbgo+ID4gICAgIHRoYXQgbWlnaHQgY29ycmVzcG9uZCB0byBhIHBvc3Np YmxlIHdpbmRvdyBpZC4KPiAKPiBPdXQgb2YgY3VyaW9zaXR5LCBob3cgd2lsbCB0aGVzZSBmYWtl IG1hcHBpbmdzIHBsYXkgd2l0aCBMUEFFPyBJZiB5b3UKPiBleHRlbmQgcG9zc2libGUgYWRkcmVz cyBzcGFjZSB0byA+MzJiIHRoZSBsb3dlciBiaXRzIG1heSBiZWxvbmcgdG8gdmFsaWQKPiBhZGRy ZXNzZXMuCj4gTWF5YmUgeW91IGNhbiAoYWxyZWFkeSBkbz8pIGlnbm9yZSB0aGF0IGJlY2F1c2Ug b2YgdGhlIDMyYiBhZGRyZXNzCj4gcmVzdHJpY3Rpb24gZm9yIGludGVybmFsIHJlZ2lzdGVycyBJ SVJDIFRob21hcyBtZW50aW9uZWQ/Cj4gCgpUaGF0J3MgYSB0cmlja3kgcXVlc3Rpb24uIFRoZSBi ZXN0IGV4cGxhbmF0aW9uIEkgY2FuIGdpdmUgeW91IGlzIHRoYXQKdGhlc2UgZmFrZSBtYXBwaW5n cyBiZWxvbmcgdG8gdGhlIE1CdXMgY2hpbGRyZW4gYWRkcmVzcyBzcGFjZSwgd2hpY2ggaXMKZGlm ZmVyZW50IGZyb20gdGhlIHBoeXNpY2FsIGFkZHJlc3Mgc3BhY2Ugd2hlcmUgTFBBRSBjb21lcyBp bnRvIHBsYXkuCgpUaGlzIE1CdXMgY2hpbGRyZW4gYWRkcmVzcyBzcGFjZSBjb25zaXN0cyBvZiB0 d28gMzItYml0IGNlbGxzOgoKSUlBQTAwQ0MgMDBvb29vb28KClRoZSBmaXJzdCBvbmUgZW5jb2Rl cyB0aGUgdGFyZ2V0IElEIGFuZCBhdHRyaWJ1dGUgaW4gaXRzIHVwcGVyIDE2IGJpdHMsCmFuZCBj dXN0b20gdmFsdWVzIGZvciB0aGUgZmFrZSBtYXBwaW5ncyBpbiB0aGUgbG93ZXIgOCBiaXRzLgpU aGUgc2Vjb25kIG9uZSBlbmNvZGVzIHRoZSBvZmZzZXQgaW50byB0aGUgTUJ1cyBkZWNvZGluZyB3 aW5kb3csIGFuZAp0aGlzIHdpbmRvdyBjYW4gYmUgYXMgbGFyZ2UgYXMgNCBHaUIuCgpUaGUgYWRk cmVzcyBzcGFjZSBJJ3ZlIGp1c3QgZGVzY3JpYmVkIGlzIG5vdCB0aGUgcGh5c2ljYWwgNjQtYml0 IGFkZHJlc3MKc3BhY2U7IGl0J3MgdGhlIG9uZSB3aGVyZSBNQnVzIGNoaWxkcmVuIHNpdC4KCkkg aG9wZSBJIHVuZGVyc3Rvb2QgeW91J3JlIHF1ZXN0aW9uLCBhbmQgSSBob3BlIGFueSBvZiB0aGUg YWJvdmUgbWFrZXMKc2Vuc2UhCgotLSAKRXplcXVpZWwgR2FyY8OtYSwgRnJlZSBFbGVjdHJvbnMK RW1iZWRkZWQgTGludXgsIEtlcm5lbCBhbmQgQW5kcm9pZCBFbmdpbmVlcmluZwpodHRwOi8vZnJl ZS1lbGVjdHJvbnMuY29tCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmRldmljZXRyZWUtZGlzY3VzcyBtYWlsaW5nIGxpc3QKZGV2aWNldHJlZS1kaXNjdXNz QGxpc3RzLm96bGFicy5vcmcKaHR0cHM6Ly9saXN0cy5vemxhYnMub3JnL2xpc3RpbmZvL2Rldmlj ZXRyZWUtZGlzY3Vzcwo=