From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from galahad.ideasonboard.com ([185.26.127.97]:41213 "EHLO galahad.ideasonboard.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753585AbcKVNNw (ORCPT ); Tue, 22 Nov 2016 08:13:52 -0500 From: Laurent Pinchart To: Thierry Reding Cc: Laurent Pinchart , dri-devel@lists.freedesktop.org, linux-renesas-soc@vger.kernel.org, Tomi Valkeinen , devicetree@vger.kernel.org Subject: Re: [PATCH v2 01/13] devicetree/bindings: display: Document common panel properties Date: Tue, 22 Nov 2016 15:14:08 +0200 Message-ID: <2645572.hCCJeODTBK@avalon> In-Reply-To: <20161122110548.GB22735@ulmo.ba.sec> References: <1479526093-7014-1-git-send-email-laurent.pinchart+renesas@ideasonboard.com> <1479526093-7014-2-git-send-email-laurent.pinchart+renesas@ideasonboard.com> <20161122110548.GB22735@ulmo.ba.sec> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Sender: linux-renesas-soc-owner@vger.kernel.org List-ID: Hi Thierry, On Tuesday 22 Nov 2016 12:05:48 Thierry Reding 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. > > > > Signed-off-by: Laurent Pinchart > > > > --- > > > > .../bindings/display/panel/panel-common.txt | 91 +++++++++++++++++ > > 1 file changed, 91 insertions(+) > > create mode 100644 > > Documentation/devicetree/bindings/display/panel/panel-common.txt> > > diff --git > > a/Documentation/devicetree/bindings/display/panel/panel-common.txt > > b/Documentation/devicetree/bindings/display/panel/panel-common.txt > > new file mode 100644 > > index 000000000000..ec52c472c845 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/display/panel/panel-common.txt > > @@ -0,0 +1,91 @@ > > +Common Properties for Display Panel > > +=================================== > > + > > +This document defines device tree properties common to several classes of > > +display panels. It doesn't constitue a device tree binding specification > > by > > +itself but is meant to be referenced by device tree bindings. > > + > > +When referenced from panel device tree bindings the properties defined in > > this > > +document are defined as follows. The panel device tree bindings are > > +responsible for defining whether each property is required or optional. > > + > > + > > +Descriptive Properties > > +---------------------- > > + > > +- width-mm, > > +- height-mm: The width-mm and height-mm specify the width and height of > > the > > + physical area where images are displayed. These properties are > > expressed in > > + millimeters and rounded to the closest unit. > > Erm... this is already implied by the compatible string. Having this in > device tree is completely redundant. Nothing new under the sun here, we already have plenty of properties that could be implied by compatible strings. For instance for SoC IP cores many vendors use both an SoC-specific compatible string and a generic compatible string (e.g. "renesas,gpio-r8a7795" and "renesas,gpio-rcar"). The SoC- compatible string implies register addresses, clocks and interrupts, but we still describe them in DT. At the end of the day information about devices and their integration in the system needs to be available, either from DT or from C code. DT bindings should be designed to strike a good balance there, avoiding redundant information in DT (and thus keeping the bindings simple) while still providing enough information to allow for a reasonable level of genericity in OS implementations. > > +- label: The label property specifies a symbolic name for the panel as a > > + string suitable for use by humans. It typically contains a name > > inscribed on > > + the system (e.g. as an affixed label) or specified in the system's > > + documentation (e.g. in the user's manual). > > + > > + If no such name exists, and unless the property is mandatory according > > to > > + device tree bindings, it shall rather be omitted than constructed of > > + non-descriptive information. For instance an LCD panel in a system that > > + contains a single panel shall not be labelled "LCD" if that name is not > > + inscribed on the system or used in a descriptive fashion in system > > + documentation. > > + > > + > > +Display Timings > > +--------------- > > + > > +- panel-timing: Most display panels are restricted to a single resolution > > and > > + require specific display timings. The panel-timing subnode expresses > > those > > + timings as specified in the timing subnode section of the display > > timing > > + bindings defined in > > + Documentation/devicetree/bindings/display/display-timing.txt. > > Why? That's also implied by the compatible string. Honestly, I thought > by now we had been over this often enough... Same argument as above. I won't try to change your mind and fix the simple panel driver, but I still stand firm on my belief that expressing the size and timings in DT is the right solution in a wide variety of cases (and yes I've read http://sietch-tagr.blogspot.fi/2016/04/display-panels-are-not-special.html, and while I agree with the title, I still believe size and timings in DT are not wrong). -- 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, 22 Nov 2016 15:14:08 +0200 Message-ID: <2645572.hCCJeODTBK@avalon> References: <1479526093-7014-1-git-send-email-laurent.pinchart+renesas@ideasonboard.com> <1479526093-7014-2-git-send-email-laurent.pinchart+renesas@ideasonboard.com> <20161122110548.GB22735@ulmo.ba.sec> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20161122110548.GB22735@ulmo.ba.sec> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Thierry Reding Cc: linux-renesas-soc@vger.kernel.org, Tomi Valkeinen , Laurent Pinchart , dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org List-Id: devicetree@vger.kernel.org SGkgVGhpZXJyeSwKCk9uIFR1ZXNkYXkgMjIgTm92IDIwMTYgMTI6MDU6NDggVGhpZXJyeSBSZWRp bmcgd3JvdGU6Cj4gT24gU2F0LCBOb3YgMTksIDIwMTYgYXQgMDU6Mjg6MDFBTSArMDIwMCwgTGF1 cmVudCBQaW5jaGFydCB3cm90ZToKPiA+IERvY3VtZW50IHByb3BlcnRpZXMgY29tbW9uIHRvIHNl dmVyYWwgZGlzcGxheSBwYW5lbHMgaW4gYSBjZW50cmFsCj4gPiBsb2NhdGlvbiB0aGF0IGNhbiBi ZSByZWZlcmVuY2VkIGJ5IHRoZSBwYW5lbCBkZXZpY2UgdHJlZSBiaW5kaW5ncy4KPiA+IAo+ID4g U2lnbmVkLW9mZi1ieTogTGF1cmVudCBQaW5jaGFydAo+ID4gPGxhdXJlbnQucGluY2hhcnQrcmVu ZXNhc0BpZGVhc29uYm9hcmQuY29tPgo+ID4gLS0tCj4gPiAKPiA+ICAuLi4vYmluZGluZ3MvZGlz cGxheS9wYW5lbC9wYW5lbC1jb21tb24udHh0ICAgICAgICB8IDkxICsrKysrKysrKysrKysrKysr Cj4gPiAgMSBmaWxlIGNoYW5nZWQsIDkxIGluc2VydGlvbnMoKykKPiA+ICBjcmVhdGUgbW9kZSAx MDA2NDQKPiA+ICBEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZGlzcGxheS9wYW5l bC9wYW5lbC1jb21tb24udHh0PiAKPiA+IGRpZmYgLS1naXQKPiA+IGEvRG9jdW1lbnRhdGlvbi9k ZXZpY2V0cmVlL2JpbmRpbmdzL2Rpc3BsYXkvcGFuZWwvcGFuZWwtY29tbW9uLnR4dAo+ID4gYi9E b2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZGlzcGxheS9wYW5lbC9wYW5lbC1jb21t b24udHh0Cj4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+ID4gaW5kZXggMDAwMDAwMDAwMDAwLi5l YzUyYzQ3MmM4NDUKPiA+IC0tLSAvZGV2L251bGwKPiA+ICsrKyBiL0RvY3VtZW50YXRpb24vZGV2 aWNldHJlZS9iaW5kaW5ncy9kaXNwbGF5L3BhbmVsL3BhbmVsLWNvbW1vbi50eHQKPiA+IEBAIC0w LDAgKzEsOTEgQEAKPiA+ICtDb21tb24gUHJvcGVydGllcyBmb3IgRGlzcGxheSBQYW5lbAo+ID4g Kz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cj4gPiArCj4gPiArVGhpcyBkb2N1 bWVudCBkZWZpbmVzIGRldmljZSB0cmVlIHByb3BlcnRpZXMgY29tbW9uIHRvIHNldmVyYWwgY2xh c3NlcyBvZgo+ID4gK2Rpc3BsYXkgcGFuZWxzLiBJdCBkb2Vzbid0IGNvbnN0aXR1ZSBhIGRldmlj ZSB0cmVlIGJpbmRpbmcgc3BlY2lmaWNhdGlvbgo+ID4gYnkKPiA+ICtpdHNlbGYgYnV0IGlzIG1l YW50IHRvIGJlIHJlZmVyZW5jZWQgYnkgZGV2aWNlIHRyZWUgYmluZGluZ3MuCj4gPiArCj4gPiAr V2hlbiByZWZlcmVuY2VkIGZyb20gcGFuZWwgZGV2aWNlIHRyZWUgYmluZGluZ3MgdGhlIHByb3Bl cnRpZXMgZGVmaW5lZCBpbgo+ID4gdGhpcwo+ID4gK2RvY3VtZW50IGFyZSBkZWZpbmVkIGFzIGZv bGxvd3MuIFRoZSBwYW5lbCBkZXZpY2UgdHJlZSBiaW5kaW5ncyBhcmUKPiA+ICtyZXNwb25zaWJs ZSBmb3IgZGVmaW5pbmcgd2hldGhlciBlYWNoIHByb3BlcnR5IGlzIHJlcXVpcmVkIG9yIG9wdGlv bmFsLgo+ID4gKwo+ID4gKwo+ID4gK0Rlc2NyaXB0aXZlIFByb3BlcnRpZXMKPiA+ICstLS0tLS0t LS0tLS0tLS0tLS0tLS0tCj4gPiArCj4gPiArLSB3aWR0aC1tbSwKPiA+ICstIGhlaWdodC1tbTog VGhlIHdpZHRoLW1tIGFuZCBoZWlnaHQtbW0gc3BlY2lmeSB0aGUgd2lkdGggYW5kIGhlaWdodCBv Zgo+ID4gdGhlCj4gPiArICBwaHlzaWNhbCBhcmVhIHdoZXJlIGltYWdlcyBhcmUgZGlzcGxheWVk LiBUaGVzZSBwcm9wZXJ0aWVzIGFyZQo+ID4gZXhwcmVzc2VkIGluCj4gPiArICBtaWxsaW1ldGVy cyBhbmQgcm91bmRlZCB0byB0aGUgY2xvc2VzdCB1bml0Lgo+IAo+IEVybS4uLiB0aGlzIGlzIGFs cmVhZHkgaW1wbGllZCBieSB0aGUgY29tcGF0aWJsZSBzdHJpbmcuIEhhdmluZyB0aGlzIGluCj4g ZGV2aWNlIHRyZWUgaXMgY29tcGxldGVseSByZWR1bmRhbnQuCgpOb3RoaW5nIG5ldyB1bmRlciB0 aGUgc3VuIGhlcmUsIHdlIGFscmVhZHkgaGF2ZSBwbGVudHkgb2YgcHJvcGVydGllcyB0aGF0IApj b3VsZCBiZSBpbXBsaWVkIGJ5IGNvbXBhdGlibGUgc3RyaW5ncy4gRm9yIGluc3RhbmNlIGZvciBT b0MgSVAgY29yZXMgbWFueSAKdmVuZG9ycyB1c2UgYm90aCBhbiBTb0Mtc3BlY2lmaWMgY29tcGF0 aWJsZSBzdHJpbmcgYW5kIGEgZ2VuZXJpYyBjb21wYXRpYmxlIApzdHJpbmcgKGUuZy4gInJlbmVz YXMsZ3Bpby1yOGE3Nzk1IiBhbmQgInJlbmVzYXMsZ3Bpby1yY2FyIikuIFRoZSBTb0MtCmNvbXBh dGlibGUgc3RyaW5nIGltcGxpZXMgcmVnaXN0ZXIgYWRkcmVzc2VzLCBjbG9ja3MgYW5kIGludGVy cnVwdHMsIGJ1dCB3ZSAKc3RpbGwgZGVzY3JpYmUgdGhlbSBpbiBEVC4KCkF0IHRoZSBlbmQgb2Yg dGhlIGRheSBpbmZvcm1hdGlvbiBhYm91dCBkZXZpY2VzIGFuZCB0aGVpciBpbnRlZ3JhdGlvbiBp biB0aGUgCnN5c3RlbSBuZWVkcyB0byBiZSBhdmFpbGFibGUsIGVpdGhlciBmcm9tIERUIG9yIGZy b20gQyBjb2RlLiBEVCBiaW5kaW5ncyAKc2hvdWxkIGJlIGRlc2lnbmVkIHRvIHN0cmlrZSBhIGdv b2QgYmFsYW5jZSB0aGVyZSwgYXZvaWRpbmcgcmVkdW5kYW50IAppbmZvcm1hdGlvbiBpbiBEVCAo YW5kIHRodXMga2VlcGluZyB0aGUgYmluZGluZ3Mgc2ltcGxlKSB3aGlsZSBzdGlsbCBwcm92aWRp bmcgCmVub3VnaCBpbmZvcm1hdGlvbiB0byBhbGxvdyBmb3IgYSByZWFzb25hYmxlIGxldmVsIG9m IGdlbmVyaWNpdHkgaW4gT1MgCmltcGxlbWVudGF0aW9ucy4KCj4gPiArLSBsYWJlbDogVGhlIGxh YmVsIHByb3BlcnR5IHNwZWNpZmllcyBhIHN5bWJvbGljIG5hbWUgZm9yIHRoZSBwYW5lbCBhcyBh Cj4gPiArICBzdHJpbmcgc3VpdGFibGUgZm9yIHVzZSBieSBodW1hbnMuIEl0IHR5cGljYWxseSBj b250YWlucyBhIG5hbWUKPiA+IGluc2NyaWJlZCBvbgo+ID4gKyAgdGhlIHN5c3RlbSAoZS5nLiBh cyBhbiBhZmZpeGVkIGxhYmVsKSBvciBzcGVjaWZpZWQgaW4gdGhlIHN5c3RlbSdzCj4gPiArICBk b2N1bWVudGF0aW9uIChlLmcuIGluIHRoZSB1c2VyJ3MgbWFudWFsKS4KPiA+ICsKPiA+ICsgIElm IG5vIHN1Y2ggbmFtZSBleGlzdHMsIGFuZCB1bmxlc3MgdGhlIHByb3BlcnR5IGlzIG1hbmRhdG9y eSBhY2NvcmRpbmcKPiA+IHRvCj4gPiArICBkZXZpY2UgdHJlZSBiaW5kaW5ncywgaXQgc2hhbGwg cmF0aGVyIGJlIG9taXR0ZWQgdGhhbiBjb25zdHJ1Y3RlZCBvZgo+ID4gKyAgbm9uLWRlc2NyaXB0 aXZlIGluZm9ybWF0aW9uLiBGb3IgaW5zdGFuY2UgYW4gTENEIHBhbmVsIGluIGEgc3lzdGVtIHRo YXQKPiA+ICsgIGNvbnRhaW5zIGEgc2luZ2xlIHBhbmVsIHNoYWxsIG5vdCBiZSBsYWJlbGxlZCAi TENEIiBpZiB0aGF0IG5hbWUgaXMgbm90Cj4gPiArICBpbnNjcmliZWQgb24gdGhlIHN5c3RlbSBv ciB1c2VkIGluIGEgZGVzY3JpcHRpdmUgZmFzaGlvbiBpbiBzeXN0ZW0KPiA+ICsgIGRvY3VtZW50 YXRpb24uCj4gPiArCj4gPiArCj4gPiArRGlzcGxheSBUaW1pbmdzCj4gPiArLS0tLS0tLS0tLS0t LS0tCj4gPiArCj4gPiArLSBwYW5lbC10aW1pbmc6IE1vc3QgZGlzcGxheSBwYW5lbHMgYXJlIHJl c3RyaWN0ZWQgdG8gYSBzaW5nbGUgcmVzb2x1dGlvbgo+ID4gYW5kCj4gPiArICByZXF1aXJlIHNw ZWNpZmljIGRpc3BsYXkgdGltaW5ncy4gVGhlIHBhbmVsLXRpbWluZyBzdWJub2RlIGV4cHJlc3Nl cwo+ID4gdGhvc2UKPiA+ICsgIHRpbWluZ3MgYXMgc3BlY2lmaWVkIGluIHRoZSB0aW1pbmcgc3Vi bm9kZSBzZWN0aW9uIG9mIHRoZSBkaXNwbGF5Cj4gPiB0aW1pbmcKPiA+ICsgIGJpbmRpbmdzIGRl ZmluZWQgaW4KPiA+ICsgIERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9kaXNwbGF5 L2Rpc3BsYXktdGltaW5nLnR4dC4KPiAKPiBXaHk/IFRoYXQncyBhbHNvIGltcGxpZWQgYnkgdGhl IGNvbXBhdGlibGUgc3RyaW5nLiBIb25lc3RseSwgSSB0aG91Z2h0Cj4gYnkgbm93IHdlIGhhZCBi ZWVuIG92ZXIgdGhpcyBvZnRlbiBlbm91Z2guLi4KClNhbWUgYXJndW1lbnQgYXMgYWJvdmUuIEkg d29uJ3QgdHJ5IHRvIGNoYW5nZSB5b3VyIG1pbmQgYW5kIGZpeCB0aGUgc2ltcGxlIApwYW5lbCBk cml2ZXIsIGJ1dCBJIHN0aWxsIHN0YW5kIGZpcm0gb24gbXkgYmVsaWVmIHRoYXQgZXhwcmVzc2lu ZyB0aGUgc2l6ZSBhbmQgCnRpbWluZ3MgaW4gRFQgaXMgdGhlIHJpZ2h0IHNvbHV0aW9uIGluIGEg d2lkZSB2YXJpZXR5IG9mIGNhc2VzIChhbmQgeWVzIEkndmUgCnJlYWQgaHR0cDovL3NpZXRjaC10 YWdyLmJsb2dzcG90LmZpLzIwMTYvMDQvZGlzcGxheS1wYW5lbHMtYXJlLW5vdC1zcGVjaWFsLmh0 bWwsIGFuZCB3aGlsZSBJIGFncmVlIHdpdGggdGhlIHRpdGxlLCBJIHN0aWxsIGJlbGlldmUgc2l6 ZSBhbmQgCnRpbWluZ3MgaW4gRFQgYXJlIG5vdCB3cm9uZykuCgotLSAKUmVnYXJkcywKCkxhdXJl bnQgUGluY2hhcnQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZl bAo=