From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Laurent Pinchart To: Rob Herring Cc: dri-devel , "open list:MEDIA DRIVERS FOR RENESAS - FCP" , Tomi Valkeinen , Laurent Pinchart , "devicetree@vger.kernel.org" Subject: Re: [PATCH v2 01/13] devicetree/bindings: display: Document common panel properties Date: Tue, 29 Nov 2016 20:23:41 +0200 Message-ID: <2064799.n5laApbQHL@avalon> In-Reply-To: References: <1479526093-7014-1-git-send-email-laurent.pinchart+renesas@ideasonboard.com> <2454182.olmziLZUmD@avalon> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Sender: devicetree-owner@vger.kernel.org List-ID: Hi Rob, On Tuesday 29 Nov 2016 09:14:09 Rob Herring wrote: > On Tue, Nov 29, 2016 at 2:27 AM, Laurent Pinchart wrote: > > On Tuesday 22 Nov 2016 11:36:55 Laurent Pinchart wrote: > >> On Monday 21 Nov 2016 10:48:15 Rob Herring wrote: > >>> On Sat, Nov 19, 2016 at 05:28:01AM +0200, Laurent Pinchart wrote: > >>>> Document properties common to several display panels in a central > >>>> location that can be referenced by the panel device tree bindings. > >>> > >>> Looks good. Just one comment... > >>> > >>> [...] > >>> > >>>> +Connectivity > >>>> +------------ > >>>> + > >>>> +- ports: Panels receive video data through one or multiple > >>>> connections. While > >>>> + the nature of those connections is specific to the panel type, the > >>>> + connectivity is expressed in a standard fashion using ports as > >>>> specified in > >>>> + the device graph bindings defined in > >>>> + Documentation/devicetree/bindings/graph.txt. > >>> > >>> We allow panels to either use graph binding or be a child of the > >>> display controller. > >> > >> I knew that some display controllers use a phandle to the panel (see the > >> fsl,panel and nvidia,panel properties), but I didn't know we had panels > >> as children of display controller nodes. I don't think we should allow > >> that for anything but DSI panels, as the DT hierarchy is based on control > >> buses. Are you sure we have other panels instantiated through that > >> mechanism ? > > Some panels have no control bus, so were do we place them? I'd say under the root node, like all similar control-less devices. > I would say the hierarchy is based on buses with a preference for the > control bus when there are multiple buses. I'm not a fan of just sticking > things are the top level. OK, so much for my comment a few lines up :-) The problem with placing non-DSI panels as children of the display controller and not using OF graph is that the panel bindings become dependent of the display controller being used. A display controller using OF graph would require the panel to do the same, while a display controller expecting a panel child node (with a specific name) would require DT properties for the panel node. I'm also not sure the complexity of OF graph is really that prohibitive if you compare it to panels as child nodes. To get the panel driver to bind to the panel DT node the display controller driver would need to create a platform device for the panel and register it. That's not very difficult, but parsing a single port and endpoint isn't either (and we could even provide a helper function for that, a version of of_drm_find_panel() that would take as an argument the display controller device node instead of the panel device node). > > Ping ? > > > > Please note that this file documents properties common to multiple panel > > DT bindings, but in no way makes it mandatory to use the OF graph bindings > > for panels. The decision is left to individual bindings. > > It is mandatory in the sense that we don't want more cases of "fsl,panel". That I agree with :-) -- Regards, Laurent Pinchart From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Pinchart Subject: Re: [PATCH v2 01/13] devicetree/bindings: display: Document common panel properties Date: Tue, 29 Nov 2016 20:23:41 +0200 Message-ID: <2064799.n5laApbQHL@avalon> References: <1479526093-7014-1-git-send-email-laurent.pinchart+renesas@ideasonboard.com> <2454182.olmziLZUmD@avalon> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Rob Herring Cc: "open list:MEDIA DRIVERS FOR RENESAS - FCP" , "devicetree@vger.kernel.org" , Tomi Valkeinen , Laurent Pinchart , dri-devel List-Id: devicetree@vger.kernel.org SGkgUm9iLAoKT24gVHVlc2RheSAyOSBOb3YgMjAxNiAwOToxNDowOSBSb2IgSGVycmluZyB3cm90 ZToKPiBPbiBUdWUsIE5vdiAyOSwgMjAxNiBhdCAyOjI3IEFNLCBMYXVyZW50IFBpbmNoYXJ0IHdy b3RlOgo+ID4gT24gVHVlc2RheSAyMiBOb3YgMjAxNiAxMTozNjo1NSBMYXVyZW50IFBpbmNoYXJ0 IHdyb3RlOgo+ID4+IE9uIE1vbmRheSAyMSBOb3YgMjAxNiAxMDo0ODoxNSBSb2IgSGVycmluZyB3 cm90ZToKPiA+Pj4gT24gU2F0LCBOb3YgMTksIDIwMTYgYXQgMDU6Mjg6MDFBTSArMDIwMCwgTGF1 cmVudCBQaW5jaGFydCB3cm90ZToKPiA+Pj4+IERvY3VtZW50IHByb3BlcnRpZXMgY29tbW9uIHRv IHNldmVyYWwgZGlzcGxheSBwYW5lbHMgaW4gYSBjZW50cmFsCj4gPj4+PiBsb2NhdGlvbiB0aGF0 IGNhbiBiZSByZWZlcmVuY2VkIGJ5IHRoZSBwYW5lbCBkZXZpY2UgdHJlZSBiaW5kaW5ncy4KPiA+ Pj4gCj4gPj4+IExvb2tzIGdvb2QuIEp1c3Qgb25lIGNvbW1lbnQuLi4KPiA+Pj4gCj4gPj4+IFsu Li5dCj4gPj4+IAo+ID4+Pj4gK0Nvbm5lY3Rpdml0eQo+ID4+Pj4gKy0tLS0tLS0tLS0tLQo+ID4+ Pj4gKwo+ID4+Pj4gKy0gcG9ydHM6IFBhbmVscyByZWNlaXZlIHZpZGVvIGRhdGEgdGhyb3VnaCBv bmUgb3IgbXVsdGlwbGUKPiA+Pj4+IGNvbm5lY3Rpb25zLiBXaGlsZQo+ID4+Pj4gKyAgdGhlIG5h dHVyZSBvZiB0aG9zZSBjb25uZWN0aW9ucyBpcyBzcGVjaWZpYyB0byB0aGUgcGFuZWwgdHlwZSwg dGhlCj4gPj4+PiArICBjb25uZWN0aXZpdHkgaXMgZXhwcmVzc2VkIGluIGEgc3RhbmRhcmQgZmFz aGlvbiB1c2luZyBwb3J0cyBhcwo+ID4+Pj4gc3BlY2lmaWVkIGluCj4gPj4+PiArICB0aGUgZGV2 aWNlIGdyYXBoIGJpbmRpbmdzIGRlZmluZWQgaW4KPiA+Pj4+ICsgIERvY3VtZW50YXRpb24vZGV2 aWNldHJlZS9iaW5kaW5ncy9ncmFwaC50eHQuCj4gPj4+IAo+ID4+PiBXZSBhbGxvdyBwYW5lbHMg dG8gZWl0aGVyIHVzZSBncmFwaCBiaW5kaW5nIG9yIGJlIGEgY2hpbGQgb2YgdGhlCj4gPj4+IGRp c3BsYXkgY29udHJvbGxlci4KPiA+PiAKPiA+PiBJIGtuZXcgdGhhdCBzb21lIGRpc3BsYXkgY29u dHJvbGxlcnMgdXNlIGEgcGhhbmRsZSB0byB0aGUgcGFuZWwgKHNlZSB0aGUKPiA+PiBmc2wscGFu ZWwgYW5kIG52aWRpYSxwYW5lbCBwcm9wZXJ0aWVzKSwgYnV0IEkgZGlkbid0IGtub3cgd2UgaGFk IHBhbmVscwo+ID4+IGFzIGNoaWxkcmVuIG9mIGRpc3BsYXkgY29udHJvbGxlciBub2Rlcy4gSSBk b24ndCB0aGluayB3ZSBzaG91bGQgYWxsb3cKPiA+PiB0aGF0IGZvciBhbnl0aGluZyBidXQgRFNJ IHBhbmVscywgYXMgdGhlIERUIGhpZXJhcmNoeSBpcyBiYXNlZCBvbiBjb250cm9sCj4gPj4gYnVz ZXMuIEFyZSB5b3Ugc3VyZSB3ZSBoYXZlIG90aGVyIHBhbmVscyBpbnN0YW50aWF0ZWQgdGhyb3Vn aCB0aGF0Cj4gPj4gbWVjaGFuaXNtID8KPgo+IFNvbWUgcGFuZWxzIGhhdmUgbm8gY29udHJvbCBi dXMsIHNvIHdlcmUgZG8gd2UgcGxhY2UgdGhlbT8KCkknZCBzYXkgdW5kZXIgdGhlIHJvb3Qgbm9k ZSwgbGlrZSBhbGwgc2ltaWxhciBjb250cm9sLWxlc3MgZGV2aWNlcy4KCj4gSSB3b3VsZCBzYXkg dGhlIGhpZXJhcmNoeSBpcyBiYXNlZCBvbiBidXNlcyB3aXRoIGEgcHJlZmVyZW5jZSBmb3IgdGhl Cj4gY29udHJvbCBidXMgd2hlbiB0aGVyZSBhcmUgbXVsdGlwbGUgYnVzZXMuIEknbSBub3QgYSBm YW4gb2YganVzdCBzdGlja2luZwo+IHRoaW5ncyBhcmUgdGhlIHRvcCBsZXZlbC4KCk9LLCBzbyBt dWNoIGZvciBteSBjb21tZW50IGEgZmV3IGxpbmVzIHVwIDotKQoKVGhlIHByb2JsZW0gd2l0aCBw bGFjaW5nIG5vbi1EU0kgcGFuZWxzIGFzIGNoaWxkcmVuIG9mIHRoZSBkaXNwbGF5IGNvbnRyb2xs ZXIgCmFuZCBub3QgdXNpbmcgT0YgZ3JhcGggaXMgdGhhdCB0aGUgcGFuZWwgYmluZGluZ3MgYmVj b21lIGRlcGVuZGVudCBvZiB0aGUgCmRpc3BsYXkgY29udHJvbGxlciBiZWluZyB1c2VkLiBBIGRp c3BsYXkgY29udHJvbGxlciB1c2luZyBPRiBncmFwaCB3b3VsZCAKcmVxdWlyZSB0aGUgcGFuZWwg dG8gZG8gdGhlIHNhbWUsIHdoaWxlIGEgZGlzcGxheSBjb250cm9sbGVyIGV4cGVjdGluZyBhIHBh bmVsIApjaGlsZCBub2RlICh3aXRoIGEgc3BlY2lmaWMgbmFtZSkgd291bGQgcmVxdWlyZSBEVCBw cm9wZXJ0aWVzIGZvciB0aGUgcGFuZWwgCm5vZGUuCgpJJ20gYWxzbyBub3Qgc3VyZSB0aGUgY29t cGxleGl0eSBvZiBPRiBncmFwaCBpcyByZWFsbHkgdGhhdCBwcm9oaWJpdGl2ZSBpZiB5b3UgCmNv bXBhcmUgaXQgdG8gcGFuZWxzIGFzIGNoaWxkIG5vZGVzLiBUbyBnZXQgdGhlIHBhbmVsIGRyaXZl ciB0byBiaW5kIHRvIHRoZSAKcGFuZWwgRFQgbm9kZSB0aGUgZGlzcGxheSBjb250cm9sbGVyIGRy aXZlciB3b3VsZCBuZWVkIHRvIGNyZWF0ZSBhIHBsYXRmb3JtIApkZXZpY2UgZm9yIHRoZSBwYW5l bCBhbmQgcmVnaXN0ZXIgaXQuIFRoYXQncyBub3QgdmVyeSBkaWZmaWN1bHQsIGJ1dCBwYXJzaW5n IGEgCnNpbmdsZSBwb3J0IGFuZCBlbmRwb2ludCBpc24ndCBlaXRoZXIgKGFuZCB3ZSBjb3VsZCBl dmVuIHByb3ZpZGUgYSBoZWxwZXIgCmZ1bmN0aW9uIGZvciB0aGF0LCBhIHZlcnNpb24gb2Ygb2Zf ZHJtX2ZpbmRfcGFuZWwoKSB0aGF0IHdvdWxkIHRha2UgYXMgYW4gCmFyZ3VtZW50IHRoZSBkaXNw bGF5IGNvbnRyb2xsZXIgZGV2aWNlIG5vZGUgaW5zdGVhZCBvZiB0aGUgcGFuZWwgZGV2aWNlIG5v ZGUpLgoKPiA+IFBpbmcgPwo+ID4gCj4gPiBQbGVhc2Ugbm90ZSB0aGF0IHRoaXMgZmlsZSBkb2N1 bWVudHMgcHJvcGVydGllcyBjb21tb24gdG8gbXVsdGlwbGUgcGFuZWwKPiA+IERUIGJpbmRpbmdz LCBidXQgaW4gbm8gd2F5IG1ha2VzIGl0IG1hbmRhdG9yeSB0byB1c2UgdGhlIE9GIGdyYXBoIGJp bmRpbmdzCj4gPiBmb3IgcGFuZWxzLiBUaGUgZGVjaXNpb24gaXMgbGVmdCB0byBpbmRpdmlkdWFs IGJpbmRpbmdzLgo+IAo+IEl0IGlzIG1hbmRhdG9yeSBpbiB0aGUgc2Vuc2UgdGhhdCB3ZSBkb24n dCB3YW50IG1vcmUgY2FzZXMgb2YgImZzbCxwYW5lbCIuCgpUaGF0IEkgYWdyZWUgd2l0aCA6LSkK Ci0tIApSZWdhcmRzLAoKTGF1cmVudCBQaW5jaGFydAoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vZHJpLWRldmVsCg==