From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rob Herring Subject: Re: [PATCH 1/2] dt-bindings: display: Add xylon logicvc bindings documentation Date: Fri, 13 Sep 2019 15:35:10 +0100 Message-ID: <20190913143510.GA9504@bogus> References: <20190910153409.111901-1-paul.kocialkowski@bootlin.com> <20190910153409.111901-2-paul.kocialkowski@bootlin.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20190910153409.111901-2-paul.kocialkowski@bootlin.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Paul Kocialkowski Cc: Mark Rutland , devicetree@vger.kernel.org, David Airlie , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Maxime Ripard , Sean Paul List-Id: devicetree@vger.kernel.org T24gVHVlLCBTZXAgMTAsIDIwMTkgYXQgMDU6MzQ6MDhQTSArMDIwMCwgUGF1bCBLb2NpYWxrb3dz a2kgd3JvdGU6Cj4gVGhlIFh5bG9uIExvZ2lDVkMgaXMgYSBkaXNwbGF5IGNvbnRyb2xsZXIgaW1w bGVtZW50ZWQgYXMgcHJvZ3JhbW1hYmxlCj4gbG9naWMgaW4gWGlsaW54IEZQR0FzLgo+IAo+IFNp Z25lZC1vZmYtYnk6IFBhdWwgS29jaWFsa293c2tpIDxwYXVsLmtvY2lhbGtvd3NraUBib290bGlu LmNvbT4KPiAtLS0KPiAgLi4uL2JpbmRpbmdzL2Rpc3BsYXkveHlsb24sbG9naWN2Yy50eHQgICAg ICAgIHwgMTg4ICsrKysrKysrKysrKysrKysrKwo+ICAxIGZpbGUgY2hhbmdlZCwgMTg4IGluc2Vy dGlvbnMoKykKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9i aW5kaW5ncy9kaXNwbGF5L3h5bG9uLGxvZ2ljdmMudHh0CgpDb25zaWRlciBjb252ZXJ0aW5nIHRo aXMgdG8gRFQgc2NoZW1hIGZvcm1hdC4gU2VlIApEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvd3Jp dGluZy1zY2hlbWEucnN0ICgubWQgaW4gNS4zKS4KIAo+IGRpZmYgLS1naXQgYS9Eb2N1bWVudGF0 aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZGlzcGxheS94eWxvbixsb2dpY3ZjLnR4dCBiL0RvY3Vt ZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9kaXNwbGF5L3h5bG9uLGxvZ2ljdmMudHh0Cj4g bmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwMDAwMDAuLmViNGIxNTUzODg4YQo+ IC0tLSAvZGV2L251bGwKPiArKysgYi9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mv ZGlzcGxheS94eWxvbixsb2dpY3ZjLnR4dAo+IEBAIC0wLDAgKzEsMTg4IEBACj4gK1h5bG9uIExv Z2lDVkMgZGlzcGxheSBjb250cm9sbGVyCj4gKwo+ICtUaGUgWHlsb24gTG9naUNWQyBpcyBhIGRp c3BsYXkgY29udHJvbGxlciB0aGF0IHN1cHBvcnRzIG11bHRpcGxlIGxheWVycy4KPiArSXQgaXMg dXN1YWxseSBpbXBsZW1lbnRlZCBhcyBwcm9ncmFtbWFibGUgbG9naWMgYW5kIHdhcyBvcHRpbWl6 ZWQgZm9yIHVzZQo+ICt3aXRoIFhpbGlueCBaeW5xLTcwMDAgU29DcyBhbmQgWGlsaW54IEZQR0Fz Lgo+ICsKPiArQmVjYXVzZSB0aGUgY29udHJvbGxlciBpcyBpbnRlbmRlZCBmb3IgdXNlIGluIGEg RlBHQSwgbW9zdCBvZiB0aGUgY29uZmlndXJhdGlvbgo+ICtvZiB0aGUgY29udHJvbGxlciB0YWtl cyBwbGFjZSBhdCBsb2dpYyBjb25maWd1cmF0aW9uIGJpdHN0cmVhbSBzeW50aGVzaXMgdGltZS4K PiArQXMgYSByZXN1bHQsIG1hbnkgb2YgdGhlIGRldmljZS10cmVlIGJpbmRpbmdzIGFyZSBtZWFu dCB0byByZWZsZWN0IHRoZQo+ICtzeW50aGVzaXMgY29uZmlndXJhdGlvbi4gVGhlc2UgZG8gbm90 IGFsbG93IGNvbmZpZ3VyaW5nIHRoZSBjb250cm9sbGVyCj4gK2RpZmZlcmVudGx5IHRoYW4gc3lu dGhlc2lzIGNvbmZpZ3VyYXRpb24uCj4gKwo+ICtMYXllcnMgYXJlIGRlY2xhcmVkIGluIHRoZSAi bGF5ZXJzIiBzdWItbm9kZSBhbmQgaGF2ZSBkZWRpY2F0ZWQgY29uZmlndXJhdGlvbi4KPiArSW4g dmVyc2lvbiAzIG9mIHRoZSBjb250cm9sbGVyLCBlYWNoIGxheWVyIGhhcyBmaXhlZCBtZW1vcnkg b2Zmc2V0IGFuZCBhZGRyZXNzCj4gK3N0YXJ0aW5nIGZyb20gdGhlIHZpZGVvIG1lbW9yeSBiYXNl IGFkZHJlc3MgZm9yIGl0cyBmcmFtZWJ1ZmZlci4gV2l0aCB2ZXJzaW9uIDQsCj4gK2ZyYW1lYnVm ZmVycyBhcmUgY29uZmlndXJlZCB3aXRoIGEgZGlyZWN0IG1lbW9yeSBhZGRyZXNzIGluc3RlYWQu Cj4gKwo+ICtNYXRjaGluZyBzeW50aGVzaXMgcGFyYW1ldGVycyBhcmUgcHJvdmlkZWQgd2hlbiBh cHBsaWNhYmxlLgo+ICsKPiArUmVxdWlyZWQgcHJvcGVydGllczoKPiArLSBjb21wYXRpYmxlOiBT aG91bGQgYmUgb25lIG9mOgo+ICsgICJ4eWxvbixsb2dpY3ZjLTMuMDIuYS1kaXNwbGF5Igo+ICsg ICJ4eWxvbixsb2dpY3ZjLTQuMDEuYS1kaXNwbGF5Igo+ICstIHJlZzogUGh5c2ljYWwgYmFzZSBh ZGRyZXNzIGFuZCBzaXplIGZvciB0aGUgY29udHJvbGxlciByZWdpc3RlcnMuCj4gKy0gY2xvY2tz OiBMaXN0IG9mIHBoYW5kbGUgYW5kIGNsb2NrLXNwZWNpZmllciBwYWlycywgb25lIGZvciBlYWNo IGVudHJ5Cj4gKyAgaW4gJ2Nsb2NrLW5hbWVzJwo+ICstIGNsb2NrLW5hbWVzOiBMaXN0IG9mIGNs b2NrIG5hbWVzIHRoYXQgc2hvdWxkIGF0IGxlYXN0IGNvbnRhaW46Cj4gKyAgLSAidmNsayI6IFRo ZSBWQ0xLIHZpZGVvIGNsb2NrIGlucHV0Lgo+ICstIGludGVycnVwdHM6IFRoZSBpbnRlcnJ1cHQg dG8gdXNlIGZvciBWQkxBTksgc2lnbmFsaW5nLgo+ICstIHh5bG9uLGRpc3BsYXktaW50ZXJmYWNl OiBEaXNwbGF5IGludGVyZmFjZSBpbiB1c2UsIHNob3VsZCBiZSBvbmUgb2Y6Cj4gKyAgLSAibHZk cy00Yml0cyI6IDQtYml0IExWRFMgaW50ZXJmYWNlIChDX0RJU1BMQVlfSU5URVJGQUNFID09IDQp Lgo+ICstIHh5bG9uLGRpc3BsYXktY29sb3JzcGFjZTogRGlzcGxheSBvdXRwdXQgY29sb3JzcGFj ZSBpbiB1c2UsIHNob3VsZCBiZSBvbmUgb2Y6Cj4gKyAgLSAicmdiIjogUkdCIGNvbG9yc3BhY2Ug KENfRElTUExBWV9DT0xPUl9TUEFDRSA9PSAwKS4KPiArLSB4eWxvbixkaXNwbGF5LWRlcHRoOiBE aXNwbGF5IG91dHB1dCBkZXB0aCBpbiB1c2UgKENfUElYRUxfREFUQV9XSURUSCkuCj4gKy0geHls b24scm93LXN0cmlkZTogRml4ZWQgbnVtYmVyIG9mIHBpeGVscyBpbiBhIGZyYW1lYnVmZmVyIHJv dyAoQ19ST1dfU1RSSURFKS4KPiArLSB4eWxvbixsYXllcnMtY291bnQ6IFRoZSBudW1iZXIgb2Yg YXZhaWxhYmxlIGxheWVycyAoQ19OVU1fT0ZfTEFZRVJTKS4KClByZXN1bWFibHkgc29tZSBvZiB0 aGlzIGlzIGRldGVybWluZWQgYnkgdGhlIGRpc3BsYXkgYXR0YWNoZWQuIElzbid0IGl0IApzYWZl IHRvIGFzc3VtZSB0aGUgSVAgd2FzIGNvbmZpZ3VyZWQgY29ycmVjdGx5IGZvciB0aGUgaW50ZW5k ZWQgZGlzcGxheSAKYW5kIHlvdSBjYW4ganVzdCBnZXQgdGhpcyBmcm9tIHRoZSBwYW5lbD8KCgo+ ICtPcHRpb25hbCBwcm9wZXJ0aWVzOgo+ICstIG1lbW9yeS1yZWdpb246IHBoYW5kbGUgdG8gYSBu b2RlIGRlc2NyaWJpbmcgbWVtb3J5LCBhcyBzcGVjaWZpZWQgaW46Cj4gKyAgRG9jdW1lbnRhdGlv bi9kZXZpY2V0cmVlL2JpbmRpbmdzL3Jlc2VydmVkLW1lbW9yeS9yZXNlcnZlZC1tZW1vcnkudHh0 Cj4gKy0gY2xvY2stbmFtZXM6IExpc3Qgb2YgY2xvY2sgbmFtZXMgdGhhdCBjYW4gb3B0aW9uYWxs eSBjb250YWluOgo+ICsgIC0gInZjbGsyIjogVGhlIFZDTEsyIGRvdWJsZWQtcmF0ZSB2aWRlbyBj bG9jayBpbnB1dC4KPiArICAtICJsdmRzY2xrIjogVGhlIExWRFMgY2xvY2suCj4gKyAgLSAibHZk c2Nsa24iOiBUaGUgTFZEUyBjbG9jayBpbnZlcnRlZC4KCkhvdyBhcmUgdGhlc2UgcmVhbGx5IG9w dGlvbmFsPwoKPiArLSB4eWxvbixzeXNjb246IFN5c2NvbiBwaGFuZGxlIHJlcHJlc2VudGluZyB0 aGUgbG9naWN2YyBpbnN0YW5jZS4KPiArLSB4eWxvbixkaXRoZXJpbmc6IERpdGhlcmluZyBtb2R1 bGUgaXMgZW5hYmxlZCAoQ19YQ09MT1IpLgo+ICstIHh5bG9uLGJhY2tncm91bmQtbGF5ZXI6IFRo ZSBsYXN0IGxheWVyIGlzIHVzZWQgdG8gZGlzcGxheSBhIGJsYWNrIGJhY2tncm91bmQKPiArICAo Q19VU0VfQkFDS0dST1VORCkuIEl0IG11c3Qgc3RpbGwgYmUgcmVnaXN0ZXJlZC4KPiArLSB4eWxv bixsYXllcnMtY29uZmlndXJhYmxlOiBDb25maWd1cmF0aW9uIG9mIGxheWVycycgc2l6ZSwgcG9z aXRpb24gYW5kIG9mZnNldAo+ICsgIGlzIGVuYWJsZWQgKENfVVNFX1NJWkVfUE9TSVRJT04pLgoK SSB3b3VsZCB0aGluayB0aGlzIHdpbGwgZWZmZWN0aXZlbHkgaGF2ZSB0byBiZSBlbmFibGVkIHRv IG1ha2UgdGhpcyAKdXNhYmxlIHdpdGggRFJNLiBJJ20gbm90IHN1cmUgaWYgYSAic3RhbmRhcmQi IHVzZXJzcGFjZSB3b3VsZCB1c2UgYW55IG9mIAp0aGUgbGF5ZXJzIGlmIGFsbCB0aGlzIGlzIGZp eGVkLgoKPiArCj4gK1JlcXVpcmVkIHN1Yi1ub2RlczoKPiArLSBsYXllcnM6IFRoZSBkZXNjcmlw dGlvbiBvZiB0aGUgZGlzcGxheSBjb250cm9sbGVyIGxheWVycywgY29udGFpbmluZyBsYXllcgo+ ICsgIHN1Yi1ub2RlcyB0aGF0IGVhY2ggZGVzY3JpYmUgYSByZWdpc3RlcmVkIGxheWVyLgo+ICst IHBvcnRzOiBUaGUgTG9naUNWQyBjb25uZWN0aW9uIHRvIGFuIGVuY29kZXIgaW5wdXQgcG9ydC4g VGhlIGNvbm5lY3Rpb24KPiArICBpcyBtb2RlbGVkIHVzaW5nIHRoZSBPRiBncmFwaCBiaW5kaW5n cywgYXMgc3BlY2lmaWVkIGluOgo+ICsgIERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5n cy9ncmFwaC50eHQKPiArCj4gK1JlcXVpcmVkIGxheWVyIHByb3BlcnRpZXM6Cj4gKy0gcmVnOiBM YXllciBpbmRleCAoZnJvbSBmcm9udCB0byBiYWNrLCBzdGFydGluZyBhdCAwKS4KPiArLSB4eWxv bixsYXllci1kZXB0aDogTGF5ZXIgZGVwdGggaW4gdXNlIChDX0xBWUVSXzBfREFUQV9XSURUSCku Cj4gKy0geHlsb24sbGF5ZXItY29sb3JzcGFjZTogTGF5ZXIgY29sb3JzcGFjZSBpbiB1c2UsIHNo b3VsZCBiZSBvbmUgb2Y6Cj4gKyAtICJyZ2IiOiBSR0IgY29sb3JzcGFjZSAoQ19MQVlFUl8qX1RZ UEUgPT0gMCkuCgpXaHkgaXMgdGhpcyBuZWVkZWQgaWYgdGhlcmUncyBvbmx5IDE/Cgo+ICstIHh5 bG9uLGxheWVyLWFscGhhLW1vZGU6IEFscGhhIG1vZGUgZm9yIHRoZSBsYXllciwgc2hvdWxkIGJl IG9uZSBvZjoKPiArIC0gImxheWVyIjogQWxwaGEgaXMgY29uZmlndXJlZCBsYXllci13aWRlIChD X0xBWUVSXypfQUxQSEFfTU9ERSA9PSAwKS4KPiArIC0gInBpeGVsIjogQWxwaGEgaXMgY29uZmln dXJlZCBwZXItcGl4ZWwgKENfTEFZRVJfKl9BTFBIQV9NT0RFID09IDEpLgoKQ291bGQganVzdCBi ZSBib29sZWFuLgoKPiArLSB4eWxvbixsYXllci1iYXNlLW9mZnNldDogb2Zmc2V0IGluIG51bWJl ciBvZiBsaW5lcyAoQ19MQVlFUl8qX09GRlNFVCkgc3RhcnRpbmcKPiArICBmcm9tIHRoZSB2aWRl byBSQU0gYmFzZSAoQ19WTUVNX0JBU0VBRERSKSwgb25seSBmb3IgdmVyc2lvbiAzLgo+ICstIHh5 bG9uLGxheWVyLWJ1ZmZlci1vZmZzZXQ6IG9mZnNldCBpbiBudW1iZXIgb2YgbGluZXMgKENfQlVG RkVSXypfT0ZGU0VUKQo+ICsgIHN0YXJ0aW5nIGZyb20gdGhlIGxheWVyIGJhc2Ugb2Zmc2V0IGZv ciB0aGUgc2Vjb25kIGJ1ZmZlciB1c2VkIGluCj4gKyAgZG91YmxlLWJ1ZmZlcmluZy4KCkl0IG1p Z2h0IGJlIGJldHRlciB0byBkZWZpbmUgYWxsIHRoaXMgaW4gdGVybXMgb2YgYnl0ZSBvZmZzZXRz LiBJJ2QgCmd1ZXNzIHRoYXQgaXMgd2hhdCBDUFUgYWNjZXNzZXMgYXJlIGdvaW5nIHRvIG5lZWQu Cgo+ICsKPiArT3B0aW9uYWwgbGF5ZXIgcHJvcGVydGllczoKPiArLSB4eWxvbixsYXllci1wcmlt YXJ5OiBMYXllciBzaG91bGQgYmUgcmVnaXN0ZXJlZCBhcyBhIHByaW1hcnkgcGxhbmUgKGV4YWN0 bHkKPiArICBvbmUgaXMgcmVxdWlyZWQpLgo+ICsKPiArRXhhbXBsZToKPiArCj4gKwlyZXNlcnZl ZC1tZW1vcnkgewo+ICsJCSNhZGRyZXNzLWNlbGxzID0gPDE+Owo+ICsJCSNzaXplLWNlbGxzID0g PDE+Owo+ICsJCXJhbmdlczsKPiArCj4gKwkJbG9naWN2Y19jbWE6IGNtYUAxZjgwMDAwMCB7Cj4g KwkJCWNvbXBhdGlibGUgPSAic2hhcmVkLWRtYS1wb29sIjsKPiArCQkJc2l6ZSA9IDwweDgwMDAw MD47Cj4gKwkJCWFsbG9jLXJhbmdlcyA9IDwweDFmODAwMDAwIDB4ODAwMDAwPjsKPiArCQkJcmV1 c2FibGU7Cj4gKwkJfTsKPiArCX07Cj4gKwo+ICsJbG9naWN2YzogbG9naWN2Y0A0M2MwMDAwMCB7 Cj4gKwkJY29tcGF0aWJsZSA9ICJzeXNjb24iLCAic2ltcGxlLW1mZCI7Cj4gKwkJcmVnID0gPDB4 NDNjMDAwMDAgMHg2MDAwPjsKPiArCj4gKwkJI2FkZHJlc3MtY2VsbHMgPSA8MT47Cj4gKwkJI3Np emUtY2VsbHMgPSA8MT47Cj4gKwo+ICsJCWxvZ2ljdmNfZGlzcGxheTogZGlzcGxheS1lbmdpbmVA MCB7Cj4gKwkJCWNvbXBhdGlibGUgPSAieHlsb24sbG9naWN2Yy0zLjAyLmEtZGlzcGxheSI7Cj4g KwkJCXJlZyA9IDwweDAgMHg2MDAwPjsKPiArCQkJbWVtb3J5LXJlZ2lvbiA9IDwmbG9naWN2Y19j bWE+Owo+ICsKPiArCQkJY2xvY2tzID0gPCZsb2dpY3ZjX3ZjbGsgMD4sIDwmbG9naWN2Y19sdmRz Y2xrIDA+Owo+ICsJCQljbG9jay1uYW1lcyA9ICJ2Y2xrIiwgImx2ZHNjbGsiOwo+ICsKPiArCQkJ aW50ZXJydXB0LXBhcmVudCA9IDwmaW50Yz47Cj4gKwkJCWludGVycnVwdHMgPSA8MCAzNCBJUlFf VFlQRV9MRVZFTF9ISUdIPjsKPiArCj4gKwkJCXh5bG9uLHN5c2NvbiA9IDwmbG9naWN2Yz47Cj4g Kwo+ICsJCQl4eWxvbixkaXNwbGF5LWludGVyZmFjZSA9ICJsdmRzLTRiaXRzIjsKPiArCQkJeHls b24sZGlzcGxheS1jb2xvcnNwYWNlID0gInJnYiI7Cj4gKwkJCXh5bG9uLGRpc3BsYXktZGVwdGgg PSA8MTY+Owo+ICsJCQl4eWxvbixyb3ctc3RyaWRlID0gPDEwMjQ+Owo+ICsKPiArCQkJeHlsb24s bGF5ZXJzLWNvbmZpZ3VyYWJsZTsKPiArCQkJeHlsb24sbGF5ZXJzLWNvdW50ID0gPDU+Owo+ICsK PiArCQkJbGF5ZXJzIHsKPiArCQkJCSNhZGRyZXNzLWNlbGxzID0gPDE+Owo+ICsJCQkJI3NpemUt Y2VsbHMgPSA8MD47Cj4gKwo+ICsJCQkJbGF5ZXJAMCB7Cj4gKwkJCQkJcmVnID0gPDA+Owo+ICsJ CQkJCXh5bG9uLGxheWVyLWRlcHRoID0gPDE2PjsKPiArCQkJCQl4eWxvbixsYXllci1jb2xvcnNw YWNlID0gInJnYiI7Cj4gKwkJCQkJeHlsb24sbGF5ZXItYWxwaGEtbW9kZSA9ICJsYXllciI7Cj4g KwkJCQkJeHlsb24sbGF5ZXItYmFzZS1vZmZzZXQgPSA8MD47Cj4gKwkJCQkJeHlsb24sbGF5ZXIt YnVmZmVyLW9mZnNldCA9IDw0ODA+Owo+ICsJCQkJCXh5bG9uLGxheWVyLXByaW1hcnk7Cj4gKwkJ CQl9Owo+ICsKPiArCQkJCWxheWVyQDEgewo+ICsJCQkJCXJlZyA9IDwxPjsKPiArCQkJCQl4eWxv bixsYXllci1kZXB0aCA9IDwxNj47Cj4gKwkJCQkJeHlsb24sbGF5ZXItY29sb3JzcGFjZSA9ICJy Z2IiOwo+ICsJCQkJCXh5bG9uLGxheWVyLWFscGhhLW1vZGUgPSAibGF5ZXIiOwo+ICsJCQkJCXh5 bG9uLGxheWVyLWJhc2Utb2Zmc2V0ID0gPDI0MDA+Owo+ICsJCQkJCXh5bG9uLGxheWVyLWJ1ZmZl ci1vZmZzZXQgPSA8NDgwPjsKPiArCQkJCX07Cj4gKwo+ICsJCQkJbGF5ZXJAMiB7Cj4gKwkJCQkJ cmVnID0gPDI+Owo+ICsJCQkJCXh5bG9uLGxheWVyLWRlcHRoID0gPDE2PjsKPiArCQkJCQl4eWxv bixsYXllci1jb2xvcnNwYWNlID0gInJnYiI7Cj4gKwkJCQkJeHlsb24sbGF5ZXItYWxwaGEtbW9k ZSA9ICJsYXllciI7Cj4gKwkJCQkJeHlsb24sbGF5ZXItYmFzZS1vZmZzZXQgPSA8OTYwPjsKPiAr CQkJCQl4eWxvbixsYXllci1idWZmZXItb2Zmc2V0ID0gPDQ4MD47Cj4gKwkJCQl9Owo+ICsKPiAr CQkJCWxheWVyQDMgewo+ICsJCQkJCXJlZyA9IDwzPjsKPiArCQkJCQl4eWxvbixsYXllci1kZXB0 aCA9IDwxNj47Cj4gKwkJCQkJeHlsb24sbGF5ZXItY29sb3JzcGFjZSA9ICJyZ2IiOwo+ICsJCQkJ CXh5bG9uLGxheWVyLWFscGhhLW1vZGUgPSAibGF5ZXIiOwo+ICsJCQkJCXh5bG9uLGxheWVyLWJh c2Utb2Zmc2V0ID0gPDQ4MD47Cj4gKwkJCQkJeHlsb24sbGF5ZXItYnVmZmVyLW9mZnNldCA9IDw0 ODA+Owo+ICsJCQkJfTsKPiArCj4gKwkJCQlsYXllckA0IHsKPiArCQkJCQlyZWcgPSA8ND47Cj4g KwkJCQkJeHlsb24sbGF5ZXItZGVwdGggPSA8MTY+Owo+ICsJCQkJCXh5bG9uLGxheWVyLWNvbG9y c3BhY2UgPSAicmdiIjsKPiArCQkJCQl4eWxvbixsYXllci1hbHBoYS1tb2RlID0gImxheWVyIjsK PiArCQkJCQl4eWxvbixsYXllci1iYXNlLW9mZnNldCA9IDw4MTkyPjsKPiArCQkJCQl4eWxvbixs YXllci1idWZmZXItb2Zmc2V0ID0gPDQ4MD47Cj4gKwkJCQl9Owo+ICsJCQl9Owo+ICsKPiArCQkJ cG9ydHMgewo+ICsJCQkJI2FkZHJlc3MtY2VsbHMgPSA8MT47Cj4gKwkJCQkjc2l6ZS1jZWxscyA9 IDwwPjsKPiArCj4gKwkJCQlsb2dpY3ZjX291dDogcG9ydEAxIHsKPiArCQkJCQlyZWcgPSA8MT47 Cj4gKwo+ICsJCQkJCSNhZGRyZXNzLWNlbGxzID0gPDE+Owo+ICsJCQkJCSNzaXplLWNlbGxzID0g PDA+Owo+ICsKPiArCQkJCQlsb2dpY3ZjX291dHB1dDogZW5kcG9pbnRAMCB7Cj4gKwkJCQkJCXJl ZyA9IDwwPjsKPiArCQkJCQkJcmVtb3RlLWVuZHBvaW50ID0gPCZwYW5lbF9pbnB1dD47Cj4gKwkJ CQkJfTsKPiArCQkJCX07Cj4gKwkJCX07Cj4gKwkJfTsKPiArCX07Cj4gLS0gCj4gMi4yMy4wCj4g Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZl bCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbA== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.6 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2336CC4CEC5 for ; Fri, 13 Sep 2019 14:35:22 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id DD3A12084F for ; Fri, 13 Sep 2019 14:35:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1568385322; bh=L2aZaNdCImr47sE9f9LfcMNq+bZWzbgriMVnYufokkE=; h=Date:From:To:Cc:Subject:References:In-Reply-To:List-ID:From; b=SU+9osyTPLWV0ZdY4Et0EithTro4ZZVJxqU5b+ieRAyIDkL6MDn5oDdc3l7SoJkx9 1UdmTrIDnrQviIrbZklEjQo7N0HuEqGOcozstnDUuCdkwykQPmkXFBJ4S4wpXbK8Sy EJ+aCO4lNeNtVTlKyGfKaR7s9kpmiIWYBoezewJM= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2389369AbfIMOfO (ORCPT ); Fri, 13 Sep 2019 10:35:14 -0400 Received: from mail-oi1-f194.google.com ([209.85.167.194]:35372 "EHLO mail-oi1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388638AbfIMOfN (ORCPT ); Fri, 13 Sep 2019 10:35:13 -0400 Received: by mail-oi1-f194.google.com with SMTP id a127so2827173oii.2; Fri, 13 Sep 2019 07:35:12 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=gnQ4sN+iRS9l/wFXI9orzxasP2/6niFE7ovuaJFRKm0=; b=PUWatByHR6pw+HOsbX+x4WIVr5Ops8vjw/v7jw5w9vsfT//Nb/mYgJ4Q7x/CvyUUrd K/soX7BulG7cc3ijDPvnlGm5/BY1798CcxwK/XgOp0btGOtBI6Ry7+XueCNDNIwxIM+Q CYv8uIIp4EN63C98AN1UO0losO3l+lJRGr6r9toMUHNdu30qx1BTJ32giPEEnRsZwkSL jk8i8ag89NMUt2xrT+1TcHCIp4Y5sWaEfMcOBznt+exBZZ3WgdtA/5ubK3zSfW927Oz0 Il1l4L39JU6wOGZ38ytcPqOJxRIgFEDrkTx4e4btgRBIVwFyr1Oo/NABd4aAT5cTSTPD 4zzg== X-Gm-Message-State: APjAAAVzxmw07e9gQDBoMD/8su7J6pYkYoii7pdQ1ZJZ4fSv+LUshyQY VhNxhgugoWbmJ8vPtd7G5NCTu3Q= X-Google-Smtp-Source: APXvYqzMP+VkEeC4dMtYY+EMMnQK0eRsupvpKLIIFp+Cm46Zg2n9LtLv9VYB5NJgnyrwAD0HPsRlfQ== X-Received: by 2002:aca:5554:: with SMTP id j81mr3655428oib.113.1568385311491; Fri, 13 Sep 2019 07:35:11 -0700 (PDT) Received: from localhost (24-155-109-49.dyn.grandenetworks.net. [24.155.109.49]) by smtp.gmail.com with ESMTPSA id e1sm9889609otj.48.2019.09.13.07.35.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Sep 2019 07:35:10 -0700 (PDT) Date: Fri, 13 Sep 2019 15:35:10 +0100 From: Rob Herring To: Paul Kocialkowski Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, David Airlie , Daniel Vetter , Mark Rutland , Maarten Lankhorst , Maxime Ripard , Sean Paul Subject: Re: [PATCH 1/2] dt-bindings: display: Add xylon logicvc bindings documentation Message-ID: <20190913143510.GA9504@bogus> References: <20190910153409.111901-1-paul.kocialkowski@bootlin.com> <20190910153409.111901-2-paul.kocialkowski@bootlin.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20190910153409.111901-2-paul.kocialkowski@bootlin.com> User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Sep 10, 2019 at 05:34:08PM +0200, Paul Kocialkowski wrote: > The Xylon LogiCVC is a display controller implemented as programmable > logic in Xilinx FPGAs. > > Signed-off-by: Paul Kocialkowski > --- > .../bindings/display/xylon,logicvc.txt | 188 ++++++++++++++++++ > 1 file changed, 188 insertions(+) > create mode 100644 Documentation/devicetree/bindings/display/xylon,logicvc.txt Consider converting this to DT schema format. See Documentation/devicetree/writing-schema.rst (.md in 5.3). > diff --git a/Documentation/devicetree/bindings/display/xylon,logicvc.txt b/Documentation/devicetree/bindings/display/xylon,logicvc.txt > new file mode 100644 > index 000000000000..eb4b1553888a > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/xylon,logicvc.txt > @@ -0,0 +1,188 @@ > +Xylon LogiCVC display controller > + > +The Xylon LogiCVC is a display controller that supports multiple layers. > +It is usually implemented as programmable logic and was optimized for use > +with Xilinx Zynq-7000 SoCs and Xilinx FPGAs. > + > +Because the controller is intended for use in a FPGA, most of the configuration > +of the controller takes place at logic configuration bitstream synthesis time. > +As a result, many of the device-tree bindings are meant to reflect the > +synthesis configuration. These do not allow configuring the controller > +differently than synthesis configuration. > + > +Layers are declared in the "layers" sub-node and have dedicated configuration. > +In version 3 of the controller, each layer has fixed memory offset and address > +starting from the video memory base address for its framebuffer. With version 4, > +framebuffers are configured with a direct memory address instead. > + > +Matching synthesis parameters are provided when applicable. > + > +Required properties: > +- compatible: Should be one of: > + "xylon,logicvc-3.02.a-display" > + "xylon,logicvc-4.01.a-display" > +- reg: Physical base address and size for the controller registers. > +- clocks: List of phandle and clock-specifier pairs, one for each entry > + in 'clock-names' > +- clock-names: List of clock names that should at least contain: > + - "vclk": The VCLK video clock input. > +- interrupts: The interrupt to use for VBLANK signaling. > +- xylon,display-interface: Display interface in use, should be one of: > + - "lvds-4bits": 4-bit LVDS interface (C_DISPLAY_INTERFACE == 4). > +- xylon,display-colorspace: Display output colorspace in use, should be one of: > + - "rgb": RGB colorspace (C_DISPLAY_COLOR_SPACE == 0). > +- xylon,display-depth: Display output depth in use (C_PIXEL_DATA_WIDTH). > +- xylon,row-stride: Fixed number of pixels in a framebuffer row (C_ROW_STRIDE). > +- xylon,layers-count: The number of available layers (C_NUM_OF_LAYERS). Presumably some of this is determined by the display attached. Isn't it safe to assume the IP was configured correctly for the intended display and you can just get this from the panel? > +Optional properties: > +- memory-region: phandle to a node describing memory, as specified in: > + Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt > +- clock-names: List of clock names that can optionally contain: > + - "vclk2": The VCLK2 doubled-rate video clock input. > + - "lvdsclk": The LVDS clock. > + - "lvdsclkn": The LVDS clock inverted. How are these really optional? > +- xylon,syscon: Syscon phandle representing the logicvc instance. > +- xylon,dithering: Dithering module is enabled (C_XCOLOR). > +- xylon,background-layer: The last layer is used to display a black background > + (C_USE_BACKGROUND). It must still be registered. > +- xylon,layers-configurable: Configuration of layers' size, position and offset > + is enabled (C_USE_SIZE_POSITION). I would think this will effectively have to be enabled to make this usable with DRM. I'm not sure if a "standard" userspace would use any of the layers if all this is fixed. > + > +Required sub-nodes: > +- layers: The description of the display controller layers, containing layer > + sub-nodes that each describe a registered layer. > +- ports: The LogiCVC connection to an encoder input port. The connection > + is modeled using the OF graph bindings, as specified in: > + Documentation/devicetree/bindings/graph.txt > + > +Required layer properties: > +- reg: Layer index (from front to back, starting at 0). > +- xylon,layer-depth: Layer depth in use (C_LAYER_0_DATA_WIDTH). > +- xylon,layer-colorspace: Layer colorspace in use, should be one of: > + - "rgb": RGB colorspace (C_LAYER_*_TYPE == 0). Why is this needed if there's only 1? > +- xylon,layer-alpha-mode: Alpha mode for the layer, should be one of: > + - "layer": Alpha is configured layer-wide (C_LAYER_*_ALPHA_MODE == 0). > + - "pixel": Alpha is configured per-pixel (C_LAYER_*_ALPHA_MODE == 1). Could just be boolean. > +- xylon,layer-base-offset: offset in number of lines (C_LAYER_*_OFFSET) starting > + from the video RAM base (C_VMEM_BASEADDR), only for version 3. > +- xylon,layer-buffer-offset: offset in number of lines (C_BUFFER_*_OFFSET) > + starting from the layer base offset for the second buffer used in > + double-buffering. It might be better to define all this in terms of byte offsets. I'd guess that is what CPU accesses are going to need. > + > +Optional layer properties: > +- xylon,layer-primary: Layer should be registered as a primary plane (exactly > + one is required). > + > +Example: > + > + reserved-memory { > + #address-cells = <1>; > + #size-cells = <1>; > + ranges; > + > + logicvc_cma: cma@1f800000 { > + compatible = "shared-dma-pool"; > + size = <0x800000>; > + alloc-ranges = <0x1f800000 0x800000>; > + reusable; > + }; > + }; > + > + logicvc: logicvc@43c00000 { > + compatible = "syscon", "simple-mfd"; > + reg = <0x43c00000 0x6000>; > + > + #address-cells = <1>; > + #size-cells = <1>; > + > + logicvc_display: display-engine@0 { > + compatible = "xylon,logicvc-3.02.a-display"; > + reg = <0x0 0x6000>; > + memory-region = <&logicvc_cma>; > + > + clocks = <&logicvc_vclk 0>, <&logicvc_lvdsclk 0>; > + clock-names = "vclk", "lvdsclk"; > + > + interrupt-parent = <&intc>; > + interrupts = <0 34 IRQ_TYPE_LEVEL_HIGH>; > + > + xylon,syscon = <&logicvc>; > + > + xylon,display-interface = "lvds-4bits"; > + xylon,display-colorspace = "rgb"; > + xylon,display-depth = <16>; > + xylon,row-stride = <1024>; > + > + xylon,layers-configurable; > + xylon,layers-count = <5>; > + > + layers { > + #address-cells = <1>; > + #size-cells = <0>; > + > + layer@0 { > + reg = <0>; > + xylon,layer-depth = <16>; > + xylon,layer-colorspace = "rgb"; > + xylon,layer-alpha-mode = "layer"; > + xylon,layer-base-offset = <0>; > + xylon,layer-buffer-offset = <480>; > + xylon,layer-primary; > + }; > + > + layer@1 { > + reg = <1>; > + xylon,layer-depth = <16>; > + xylon,layer-colorspace = "rgb"; > + xylon,layer-alpha-mode = "layer"; > + xylon,layer-base-offset = <2400>; > + xylon,layer-buffer-offset = <480>; > + }; > + > + layer@2 { > + reg = <2>; > + xylon,layer-depth = <16>; > + xylon,layer-colorspace = "rgb"; > + xylon,layer-alpha-mode = "layer"; > + xylon,layer-base-offset = <960>; > + xylon,layer-buffer-offset = <480>; > + }; > + > + layer@3 { > + reg = <3>; > + xylon,layer-depth = <16>; > + xylon,layer-colorspace = "rgb"; > + xylon,layer-alpha-mode = "layer"; > + xylon,layer-base-offset = <480>; > + xylon,layer-buffer-offset = <480>; > + }; > + > + layer@4 { > + reg = <4>; > + xylon,layer-depth = <16>; > + xylon,layer-colorspace = "rgb"; > + xylon,layer-alpha-mode = "layer"; > + xylon,layer-base-offset = <8192>; > + xylon,layer-buffer-offset = <480>; > + }; > + }; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + logicvc_out: port@1 { > + reg = <1>; > + > + #address-cells = <1>; > + #size-cells = <0>; > + > + logicvc_output: endpoint@0 { > + reg = <0>; > + remote-endpoint = <&panel_input>; > + }; > + }; > + }; > + }; > + }; > -- > 2.23.0 >