From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rob Herring Date: Wed, 15 Aug 2018 09:31:30 -0600 Subject: [U-Boot] [PATCH 01/10] dm: fdt: scan for devices under /firmware too In-Reply-To: <86d61eb1-e038-622b-fe6b-d4a1345619da@xilinx.com> References: <20180813155347.13844-1-jens.wiklander@linaro.org> <20180813155347.13844-2-jens.wiklander@linaro.org> <20180815141726.GI30947@bill-the-cat> <20180815143422.GL30947@bill-the-cat> <86d61eb1-e038-622b-fe6b-d4a1345619da@xilinx.com> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Wed, Aug 15, 2018 at 8:51 AM Michal Simek wrote: > > Hi Rob, > > On 15.8.2018 16:34, Tom Rini wrote: > > On Wed, Aug 15, 2018 at 04:30:15PM +0200, Michal Simek wrote: > >> On 15.8.2018 16:17, Tom Rini wrote: > >>> On Mon, Aug 13, 2018 at 05:53:38PM +0200, Jens Wiklander wrote: > >>> > >>>> Just as /chosen may contain devices /firmware may contain devices, scan > >>>> for devices under /firmware too. > >>>> > >>>> Signed-off-by: Jens Wiklander > >>>> --- > >>>> drivers/core/root.c | 15 ++++++++++----- > >>>> 1 file changed, 10 insertions(+), 5 deletions(-) > >>>> > >>>> diff --git a/drivers/core/root.c b/drivers/core/root.c > >>>> index 72bcc7d7f2a3..0dca507e1187 100644 > >>>> --- a/drivers/core/root.c > >>>> +++ b/drivers/core/root.c > >>>> @@ -265,9 +265,15 @@ static int dm_scan_fdt_node(struct udevice *parent, const void *blob, > >>>> for (offset = fdt_first_subnode(blob, offset); > >>>> offset > 0; > >>>> offset = fdt_next_subnode(blob, offset)) { > >>>> - /* "chosen" node isn't a device itself but may contain some: */ > >>>> - if (!strcmp(fdt_get_name(blob, offset, NULL), "chosen")) { > >>>> - pr_debug("parsing subnodes of \"chosen\"\n"); > >>>> + const char *node_name = fdt_get_name(blob, offset, NULL); > >>>> + > >>>> + /* > >>>> + * The "chosen" and "firmware" nodes aren't devices > >>>> + * themselves but may contain some: > >>>> + */ > >>>> + if (!strcmp(node_name, "chosen") || > >>>> + !strcmp(node_name, "firmware")) { > >>>> + pr_debug("parsing subnodes of \"%s\"\n", node_name); > >>>> > >>>> err = dm_scan_fdt_node(parent, blob, offset, > >>>> pre_reloc_only); > >>> > >>> So, the /firmware node seems special. Have you talked with the > >>> devicetree folks to get it listed in the spec? That would seem rather > >>> valuable for something used by many parties. Thanks! > >>> > >> > >> some days ago we have sent a patch for this too. > >> https://lists.denx.de/pipermail/u-boot/2018-August/338049.html > >> > >> It is using different way but it should do the same thing. > > > > OK, so it sounds like in terms of code clean-ups, we need something like > > what you reference and then some further clean-ups on top of that > > perhaps for other places to call dm_scan_fdt_ofnode_path() for special > > cases. And in terms of formalized specification bits, I do think > > /firmware should perhaps get kicked up to the spec itself so that it's > > very clear to all consumers. > > I was also checking latest devicetree spec and there is no record about > /firmware node and how it is supposed to be used. Patches welcome. :) It's really only a container to define non-discoverable firmware interfaces. Typically accessed thru a secure call (for ARM) or a mailbox. It is primarily just convention rather than a strict requirement. We have to support firmware nodes at the top-level too anyways. Rob From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rob Herring Subject: Re: [PATCH 01/10] dm: fdt: scan for devices under /firmware too Date: Wed, 15 Aug 2018 09:31:30 -0600 Message-ID: References: <20180813155347.13844-1-jens.wiklander@linaro.org> <20180813155347.13844-2-jens.wiklander@linaro.org> <20180815141726.GI30947@bill-the-cat> <20180815143422.GL30947@bill-the-cat> <86d61eb1-e038-622b-fe6b-d4a1345619da@xilinx.com> Mime-Version: 1.0 Content-Transfer-Encoding: base64 Return-path: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1534347102; bh=cdSaH5tix+g/NjXy+DKlp2HAoNZ1za/wyGYQv0dVcJY=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=GC5cA7xFatHQw5qayPoW4zf6g8NcInSexG7/RwR1BE7zdSUEXBSCRCPKX5vFTQtZ9 UW5KYKxkDSEHu8z9fBTXKNb7UwzBCKegS5jXex40jy0hoDZ0TIOdKlwCiFhYytAVbM Llh2FbUJtFKOtEbBiDpAwqVX4IL3q7zsy358/2nE= In-Reply-To: <86d61eb1-e038-622b-fe6b-d4a1345619da@xilinx.com> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Content-Type: text/plain; charset="us-ascii" To: Michal Simek Cc: devicetree-spec@vger.kernel.org, Tom Rini , p.aubert@staubli.com, U-Boot Mailing List T24gV2VkLCBBdWcgMTUsIDIwMTggYXQgODo1MSBBTSBNaWNoYWwgU2ltZWsgPG1pY2hhbC5zaW1l a0B4aWxpbnguY29tPiB3cm90ZToKPgo+IEhpIFJvYiwKPgo+IE9uIDE1LjguMjAxOCAxNjozNCwg VG9tIFJpbmkgd3JvdGU6Cj4gPiBPbiBXZWQsIEF1ZyAxNSwgMjAxOCBhdCAwNDozMDoxNVBNICsw MjAwLCBNaWNoYWwgU2ltZWsgd3JvdGU6Cj4gPj4gT24gMTUuOC4yMDE4IDE2OjE3LCBUb20gUmlu aSB3cm90ZToKPiA+Pj4gT24gTW9uLCBBdWcgMTMsIDIwMTggYXQgMDU6NTM6MzhQTSArMDIwMCwg SmVucyBXaWtsYW5kZXIgd3JvdGU6Cj4gPj4+Cj4gPj4+PiBKdXN0IGFzIC9jaG9zZW4gbWF5IGNv bnRhaW4gZGV2aWNlcyAvZmlybXdhcmUgbWF5IGNvbnRhaW4gZGV2aWNlcywgc2Nhbgo+ID4+Pj4g Zm9yIGRldmljZXMgdW5kZXIgL2Zpcm13YXJlIHRvby4KPiA+Pj4+Cj4gPj4+PiBTaWduZWQtb2Zm LWJ5OiBKZW5zIFdpa2xhbmRlciA8amVucy53aWtsYW5kZXJAbGluYXJvLm9yZz4KPiA+Pj4+IC0t LQo+ID4+Pj4gIGRyaXZlcnMvY29yZS9yb290LmMgfCAxNSArKysrKysrKysrLS0tLS0KPiA+Pj4+ ICAxIGZpbGUgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKPiA+Pj4+ Cj4gPj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9jb3JlL3Jvb3QuYyBiL2RyaXZlcnMvY29yZS9y b290LmMKPiA+Pj4+IGluZGV4IDcyYmNjN2Q3ZjJhMy4uMGRjYTUwN2UxMTg3IDEwMDY0NAo+ID4+ Pj4gLS0tIGEvZHJpdmVycy9jb3JlL3Jvb3QuYwo+ID4+Pj4gKysrIGIvZHJpdmVycy9jb3JlL3Jv b3QuYwo+ID4+Pj4gQEAgLTI2NSw5ICsyNjUsMTUgQEAgc3RhdGljIGludCBkbV9zY2FuX2ZkdF9u b2RlKHN0cnVjdCB1ZGV2aWNlICpwYXJlbnQsIGNvbnN0IHZvaWQgKmJsb2IsCj4gPj4+PiAgICBm b3IgKG9mZnNldCA9IGZkdF9maXJzdF9zdWJub2RlKGJsb2IsIG9mZnNldCk7Cj4gPj4+PiAgICAg ICAgIG9mZnNldCA+IDA7Cj4gPj4+PiAgICAgICAgIG9mZnNldCA9IGZkdF9uZXh0X3N1Ym5vZGUo YmxvYiwgb2Zmc2V0KSkgewo+ID4+Pj4gLSAgICAgICAgICAvKiAiY2hvc2VuIiBub2RlIGlzbid0 IGEgZGV2aWNlIGl0c2VsZiBidXQgbWF5IGNvbnRhaW4gc29tZTogKi8KPiA+Pj4+IC0gICAgICAg ICAgaWYgKCFzdHJjbXAoZmR0X2dldF9uYW1lKGJsb2IsIG9mZnNldCwgTlVMTCksICJjaG9zZW4i KSkgewo+ID4+Pj4gLSAgICAgICAgICAgICAgICAgIHByX2RlYnVnKCJwYXJzaW5nIHN1Ym5vZGVz IG9mIFwiY2hvc2VuXCJcbiIpOwo+ID4+Pj4gKyAgICAgICAgICBjb25zdCBjaGFyICpub2RlX25h bWUgPSBmZHRfZ2V0X25hbWUoYmxvYiwgb2Zmc2V0LCBOVUxMKTsKPiA+Pj4+ICsKPiA+Pj4+ICsg ICAgICAgICAgLyoKPiA+Pj4+ICsgICAgICAgICAgICogVGhlICJjaG9zZW4iIGFuZCAiZmlybXdh cmUiIG5vZGVzIGFyZW4ndCBkZXZpY2VzCj4gPj4+PiArICAgICAgICAgICAqIHRoZW1zZWx2ZXMg YnV0IG1heSBjb250YWluIHNvbWU6Cj4gPj4+PiArICAgICAgICAgICAqLwo+ID4+Pj4gKyAgICAg ICAgICBpZiAoIXN0cmNtcChub2RlX25hbWUsICJjaG9zZW4iKSB8fAo+ID4+Pj4gKyAgICAgICAg ICAgICAgIXN0cmNtcChub2RlX25hbWUsICJmaXJtd2FyZSIpKSB7Cj4gPj4+PiArICAgICAgICAg ICAgICAgICAgcHJfZGVidWcoInBhcnNpbmcgc3Vibm9kZXMgb2YgXCIlc1wiXG4iLCBub2RlX25h bWUpOwo+ID4+Pj4KPiA+Pj4+ICAgICAgICAgICAgICAgICAgICBlcnIgPSBkbV9zY2FuX2ZkdF9u b2RlKHBhcmVudCwgYmxvYiwgb2Zmc2V0LAo+ID4+Pj4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgcHJlX3JlbG9jX29ubHkpOwo+ID4+Pgo+ID4+PiBTbywgdGhlIC9m aXJtd2FyZSBub2RlIHNlZW1zIHNwZWNpYWwuICBIYXZlIHlvdSB0YWxrZWQgd2l0aCB0aGUKPiA+ Pj4gZGV2aWNldHJlZSBmb2xrcyB0byBnZXQgaXQgbGlzdGVkIGluIHRoZSBzcGVjPyAgVGhhdCB3 b3VsZCBzZWVtIHJhdGhlcgo+ID4+PiB2YWx1YWJsZSBmb3Igc29tZXRoaW5nIHVzZWQgYnkgbWFu eSBwYXJ0aWVzLiAgVGhhbmtzIQo+ID4+Pgo+ID4+Cj4gPj4gc29tZSBkYXlzIGFnbyB3ZSBoYXZl IHNlbnQgYSBwYXRjaCBmb3IgdGhpcyB0b28uCj4gPj4gaHR0cHM6Ly9saXN0cy5kZW54LmRlL3Bp cGVybWFpbC91LWJvb3QvMjAxOC1BdWd1c3QvMzM4MDQ5Lmh0bWwKPiA+Pgo+ID4+IEl0IGlzIHVz aW5nIGRpZmZlcmVudCB3YXkgYnV0IGl0IHNob3VsZCBkbyB0aGUgc2FtZSB0aGluZy4KPiA+Cj4g PiBPSywgc28gaXQgc291bmRzIGxpa2UgaW4gdGVybXMgb2YgY29kZSBjbGVhbi11cHMsIHdlIG5l ZWQgc29tZXRoaW5nIGxpa2UKPiA+IHdoYXQgeW91IHJlZmVyZW5jZSBhbmQgdGhlbiBzb21lIGZ1 cnRoZXIgY2xlYW4tdXBzIG9uIHRvcCBvZiB0aGF0Cj4gPiBwZXJoYXBzIGZvciBvdGhlciBwbGFj ZXMgdG8gY2FsbCBkbV9zY2FuX2ZkdF9vZm5vZGVfcGF0aCgpIGZvciBzcGVjaWFsCj4gPiBjYXNl cy4gIEFuZCBpbiB0ZXJtcyBvZiBmb3JtYWxpemVkIHNwZWNpZmljYXRpb24gYml0cywgSSBkbyB0 aGluawo+ID4gL2Zpcm13YXJlIHNob3VsZCBwZXJoYXBzIGdldCBraWNrZWQgdXAgdG8gdGhlIHNw ZWMgaXRzZWxmIHNvIHRoYXQgaXQncwo+ID4gdmVyeSBjbGVhciB0byBhbGwgY29uc3VtZXJzLgo+ Cj4gSSB3YXMgYWxzbyBjaGVja2luZyBsYXRlc3QgZGV2aWNldHJlZSBzcGVjIGFuZCB0aGVyZSBp cyBubyByZWNvcmQgYWJvdXQKPiAvZmlybXdhcmUgbm9kZSBhbmQgaG93IGl0IGlzIHN1cHBvc2Vk IHRvIGJlIHVzZWQuCgpQYXRjaGVzIHdlbGNvbWUuIDopCgpJdCdzIHJlYWxseSBvbmx5IGEgY29u dGFpbmVyIHRvIGRlZmluZSBub24tZGlzY292ZXJhYmxlIGZpcm13YXJlCmludGVyZmFjZXMuIFR5 cGljYWxseSBhY2Nlc3NlZCB0aHJ1IGEgc2VjdXJlIGNhbGwgKGZvciBBUk0pIG9yIGEKbWFpbGJv eC4gSXQgaXMgcHJpbWFyaWx5IGp1c3QgY29udmVudGlvbiByYXRoZXIgdGhhbiBhIHN0cmljdApy ZXF1aXJlbWVudC4gV2UgaGF2ZSB0byBzdXBwb3J0IGZpcm13YXJlIG5vZGVzIGF0IHRoZSB0b3At bGV2ZWwgdG9vCmFueXdheXMuCgpSb2IKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KVS1Cb290IG1haWxpbmcgbGlzdApVLUJvb3RAbGlzdHMuZGVueC5kZQpo dHRwczovL2xpc3RzLmRlbnguZGUvbGlzdGluZm8vdS1ib290Cg==