From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Pinchart Subject: Re: [RFC v2 0/8] Acer Chromebook R13 support Date: Tue, 17 Oct 2017 19:38:15 +0300 Message-ID: <3437221.yAhrl0lKkh@avalon> References: <1508167900-27415-1-git-send-email-ulrich.hecht+renesas@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1508167900-27415-1-git-send-email-ulrich.hecht+renesas@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Ulrich Hecht Cc: jacopo@jmondi.org, magnus.damm@gmail.com, dri-devel@lists.freedesktop.org, Matthias Brugger , linux-mediatek@lists.infradead.org, robin.murphy@arm.com, linux-arm-kernel@lists.infradead.org List-Id: linux-mediatek@lists.infradead.org SGkgVWxyaWNoLAoKKENDJ2luZyBNYXR0aGlhcyBCcnVnZ2VyIGFuZCBEYW5pZWwgS3VydHopCgpP biBNb25kYXksIDE2IE9jdG9iZXIgMjAxNyAxODozMTozMiBFRVNUIFVscmljaCBIZWNodCB3cm90 ZToKPiBIaSEKPiAKPiBUaGlzIGlzIGEgbmV3IHJldmlzaW9uIG9mIHRoZSBBY2VyIENocm9tZWJv b2sgUjEzIHN1cHBvcnQgc2VyaWVzLiBJdCBkb2VzCj4gbm90IG9mZmVyIGFueXRoaW5nIG5ldyBp biB0ZXJtcyBvZiBmdW5jdGlvbmFsaXR5LCBidXQgZWxpbWluYXRlcyB0aHJlZSBvdXQKPiBvZiBm b3VyIHVnbHkgaGFja3MgYW5kIGFkZHMgYSBmZXcgbWlub3IgY2xlYW51cHM7IHNlZSBiZWxvdyBm b3IgZGV0YWlscy4KPiBUaGFua3MgdG8gUm9iaW4gTXVycGh5IGFuZCBDSyBIdSBmb3IgdGhlaXIg Y29tbWVudHMgYW5kIHN1Z2dlc3Rpb25zIQo+IAo+IEknbSBzdGlsbCBsb29raW5nIGZvciBhZHZp Y2Ugb24gaG93IHRvIGltcGxlbWVudCB0aGUgZHVhbC1yb2xlIG1tc3lzIGRldmljZQo+IGNvcnJl Y3RseTsgc2VlICJoYWNrOiBtZWRpYXRlazogZ2V0IG1tc3lzIHRvIHJlZ2lzdGVyIGFzIGJvdGgg RFJNIGFuZCBjbG9jawo+IGRldmljZSIgZm9yIGRldGFpbHMgb24gdGhpcy4KCldoYXQgSSdkIHJl YWxseSBsaWtlIHRvIGZpbmQgb3V0IGlzIHdoYXQgdGhlIG1tc3lzIGRldmljZSBpcy4gSXRzIERU IGJpbmRpbmcgCmRvY3VtZW50cyBpdCBhcyAiVGhlIE1lZGlhdGVrIG1tc3lzIGNvbnRyb2xsZXIg cHJvdmlkZXMgdmFyaW91cyBjbG9ja3MgdG8gdGhlIApzeXN0ZW0iLiBFdmVuIGlmIGl0IHByb3Zp ZGVzIGNsb2NrcyB0byB0aGUgZGlzcGxheSBlbmdpbmUsIGl0IHNob3VsZG4ndCBiZSAKdXNlZCBh cyB0aGUgcm9vdCBkZXZpY2UgaW4gdGhlIGRpc3BsYXkgY29tcGxleC4gVGhlcmUgY291bGQgb2Yg Y291cnNlIGJlIAppbmZvcm1hdGlvbiBJJ20gbGFja2luZyBhcyB0aGUgZGF0YXNoZWV0IGlzbid0 IHB1YmxpYy4gSG9wZWZ1bGx5IHNvbWVvbmUgZnJvbSAKTWVkaWF0ZWsgYW5kL29yIEdvb2dsZSB3 aWxsIGJlIGFibGUgdG8gY29tbWVudCBvbiB0aGlzLgoKPiBMaWtlIHRoZSBwcmV2aW91cyByZXZp c2lvbiwgeW91IGNhbiBmaW5kIHRoaXMgc2VyaWVzIGF0Cj4gaHR0cHM6Ly9naXRodWIuY29tL3Vs aS9rZXJuZWwvdHJlZS9lbG0td29ya2luZywgd2hpY2ggYWxzbyBjb250YWlucyBhIGNvbmZpZwo+ IGZpbGUgYW5kIHNldmVyYWwgYW5jaWxsYXJ5IGJpdHMgdGhhdCBhcmUgcmVxdWlyZWQgdG8gYnVp bGQgYSBrZXJuZWwKPiBwYXJ0aXRpb24gZm9yIHRoZSBDaHJvbWVib29rLiBJbnN0cnVjdGlvbnMg b24gaG93IHRvIGRvIHNvIChhbmQgdmFyaW91cwo+IG90aGVyIHRoaW5ncyB0aGF0IGhhdmUgdG8g YmUgZG9uZSB0byBnZXQgaXQgcnVubmluZyBvbiB5b3VyIGRldmljZSkgYXJlCj4gYXZhaWxhYmxl IGF0Cj4gaHR0cHM6Ly93d3cuZWxpbnV4Lm9yZy9Vc2VyOlVsaS9BY2VyX0Nocm9tZWJvb2tfUjEz X0dQVV90ZXN0X3N5c3RlbSAoVGhlc2UKPiBpbnN0cnVjdGlvbnMgaGF2ZSBiZWVuIHdyaXR0ZW4g Zm9yIHRoZSB2ZW5kb3Iga2VybmVsLCBidXQgYXBwbHkgdG8gbWFpbmxpbmUKPiBhcyB3ZWxsLCBl eGNlcHQgdGhhdCB5b3Ugd29uJ3QgbmVlZCBhbnkgZXh0cmEgcGF0Y2hlcy4pCj4gCj4gQ1UKPiBV bGkKPiAKPiBDaGFuZ2VzIHNpbmNlIFJGQyB2MToKPiAtIGNtZHE6IHJlbW92ZSBvYnNvbGV0ZSBk cml2ZXI7IG5vdCBjdXJyZW50bHkgdXNlZCBhbnl3YXkKPiAtIGR0OiByZW1vdmUgQ0QgR1BJTyBm cm9tIG1tYzEsIGRvZXMgbm90IHNlZW0gdG8gYmUgY29ycmVjdAo+IC0gbW1jOiByZW1vdmUgbXRr LXNkLmMgcmV2ZXJ0IGhhY2sgKHdvcmtzIGZpbmUgd2l0aG91dCB0aGUgQ0QgcGluKQo+IC0gZHNp OiBmaXggcG9ydCBudW1iZXIgZm9yIGRybV9vZl9maW5kX3BhbmVsX29yX2JyaWRnZSgpLCByZW1v dmUgaGFjawo+IC0gZmJkZXY6IGFkZCBtaXNzaW5nIFNpZ25lZC1vZmYtYnlzCj4gLSBpb21tdTog cmVtb3ZlIGlvLXBndGFibGUgc2FuaXR5IGNoZWNrIGhhY2ssIGhhcyBiZWVuIHByb3Blcmx5IGZp eGVkCj4gLSBtaW5vciBzdHlsZSBmaXhlcwo+IAo+IAo+IFVscmljaCBIZWNodCAoOCk6Cj4gICBk cm0vYnJpZGdlOiBHUElPLWNvbnRyb2xsZWQgZGlzcGxheSBtdWx0aXBsZXhlciBkcml2ZXIKPiAg IHBsYXRmb3JtL2Nocm9tZTogQ2hyb21lT1MgZmlybXdhcmUgaW50ZXJmYWNlIGRyaXZlcgo+ICAg ZHJtL2JyaWRnZTogUGFyYWRlIFBTODY0MCBNSVBJIERTSSAtPiBlRFAgY29udmVydGVyIGRyaXZl cgo+ICAgZHJtL2JyaWRnZTogQW5hbG9naXggQU5YNzY4OCBIRE1JIC0+IERQIGJyaWRnZSBkcml2 ZXIKPiAgIGFybTY0OiBkdHM6IG1lZGlhdGVrOiBBZGQgRWxtIFJldi4gMyBkZXZpY2UgdHJlZQo+ ICAgaGFjazogbWVkaWF0ZWs6IGdldCBtbXN5cyB0byByZWdpc3RlciBhcyBib3RoIERSTSBhbmQg Y2xvY2sgZGV2aWNlCj4gICBkcm0vbWVkaWF0ZWs6IEFkZCBEUk0tYmFzZWQgZnJhbWVidWZmZXIg ZGV2aWNlCj4gICBkcm06IG1lZGlhdGVrOiBGaXggZHJtX29mX2ZpbmRfcGFuZWxfb3JfYnJpZGdl IGNvbnZlcnNpb24KPiAKPiAgYXJjaC9hcm02NC9ib290L2R0cy9tZWRpYXRlay9NYWtlZmlsZSAg ICAgICAgICAgIHwgICAgMSArCj4gIGFyY2gvYXJtNjQvYm9vdC9kdHMvbWVkaWF0ZWsvbXQ4MTcz LWVsbS1yZXYzLmR0cyB8ICAgMjEgKwo+ICBhcmNoL2FybTY0L2Jvb3QvZHRzL21lZGlhdGVrL210 ODE3My1lbG0uZHRzaSAgICAgfCAgMjEwICsrKysKPiAgYXJjaC9hcm02NC9ib290L2R0cy9tZWRp YXRlay9tdDgxNzMtb2FrLmR0c2kgICAgIHwgMTAxMyArKysrKysrKysrKysrKysrKysrCj4gIGRy aXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxNzMuYyAgICAgICAgICAgICAgICB8ICAgIDQgKy0K PiAgZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9LY29uZmlnICAgICAgICAgICAgICAgICAgIHwgICAz MiArCj4gIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2UvTWFrZWZpbGUgICAgICAgICAgICAgICAgICB8 ICAgIDUgKwo+ICBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2FuYWxvZ2l4LWFueDc2ODguYyAgICAg ICAgfCAgMjMzICsrKysrCj4gIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2UvZ2VuZXJpYy1ncGlvLW11 eC5jICAgICAgICB8ICAzMTYgKysrKysrKwo+ICBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3BhcmFk ZS1wczg2NDAuYyAgICAgICAgICAgfCAxMTA0ICsrKysrKysrKysrKysrKysrKysKPiAgZHJpdmVy cy9ncHUvZHJtL21lZGlhdGVrL01ha2VmaWxlICAgICAgICAgICAgICAgIHwgICAgMiArCj4gIGRy aXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHBpLmMgICAgICAgICAgICAgICB8ICAgIDUgKy0K PiAgZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZGRwLmMgICAgICAgICAgIHwgICAg NSArLQo+ICBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kcnYuYyAgICAgICAgICAg fCAgIDE1ICsKPiAgZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2LmggICAgICAg ICAgIHwgICAgNCArLQo+ICBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9mYi5jICAg ICAgICAgICAgfCAgIDEzICsKPiAgZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZmIu aCAgICAgICAgICAgIHwgICAgMyArCj4gIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJt X2ZiZGV2LmMgICAgICAgICB8ICAxODEgKysrKwo+ICBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsv bXRrX2RybV9mYmRldi5oICAgICAgICAgfCAgIDMyICsKPiAgZHJpdmVycy9ncHUvZHJtL21lZGlh dGVrL210a19kc2kuYyAgICAgICAgICAgICAgIHwgICAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0v bWVkaWF0ZWsvbXRrX2hkbWkuYyAgICAgICAgICAgICAgfCAgICA1ICstCj4gIGRyaXZlcnMvcGxh dGZvcm0vY2hyb21lL0tjb25maWcgICAgICAgICAgICAgICAgICB8ICAgMTggKwo+ICBkcml2ZXJz L3BsYXRmb3JtL2Nocm9tZS9NYWtlZmlsZSAgICAgICAgICAgICAgICAgfCAgICAyICsKPiAgZHJp dmVycy9wbGF0Zm9ybS9jaHJvbWUvY2hyb21lb3MuYyAgICAgICAgICAgICAgIHwgIDEyMCArKysK PiAgZHJpdmVycy9wbGF0Zm9ybS9jaHJvbWUvY2hyb21lb3MuaCAgICAgICAgICAgICAgIHwgICA2 MSArKwo+ICBkcml2ZXJzL3BsYXRmb3JtL2Nocm9tZS9jaHJvbWVvc19hcm0uYyAgICAgICAgICAg fCAgMjY0ICsrKysrKwo+ICBkcml2ZXJzL3BsYXRmb3JtL2Nocm9tZS9lbG9nLmggICAgICAgICAg ICAgICAgICAgfCAgMTg2ICsrKysKPiAgaW5jbHVkZS9saW51eC9jaHJvbWVvc19wbGF0Zm9ybS5o ICAgICAgICAgICAgICAgIHwgICAyNyArCj4gIDI4IGZpbGVzIGNoYW5nZWQsIDM4NzQgaW5zZXJ0 aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBhcmNoL2FybTY0 L2Jvb3QvZHRzL21lZGlhdGVrL210ODE3My1lbG0tcmV2My5kdHMKPiAgY3JlYXRlIG1vZGUgMTAw NjQ0IGFyY2gvYXJtNjQvYm9vdC9kdHMvbWVkaWF0ZWsvbXQ4MTczLWVsbS5kdHNpCj4gIGNyZWF0 ZSBtb2RlIDEwMDY0NCBhcmNoL2FybTY0L2Jvb3QvZHRzL21lZGlhdGVrL210ODE3My1vYWsuZHRz aQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hbmFsb2dpeC1h bng3Njg4LmMKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9icmlkZ2UvZ2Vu ZXJpYy1ncGlvLW11eC5jCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vYnJp ZGdlL3BhcmFkZS1wczg2NDAuYwo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJt L21lZGlhdGVrL210a19kcm1fZmJkZXYuYwo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9n cHUvZHJtL21lZGlhdGVrL210a19kcm1fZmJkZXYuaAo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJp dmVycy9wbGF0Zm9ybS9jaHJvbWUvY2hyb21lb3MuYwo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJp dmVycy9wbGF0Zm9ybS9jaHJvbWUvY2hyb21lb3MuaAo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJp dmVycy9wbGF0Zm9ybS9jaHJvbWUvY2hyb21lb3NfYXJtLmMKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0 IGRyaXZlcnMvcGxhdGZvcm0vY2hyb21lL2Vsb2cuaAo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgaW5j bHVkZS9saW51eC9jaHJvbWVvc19wbGF0Zm9ybS5oCgoKLS0gClJlZ2FyZHMsCgpMYXVyZW50IFBp bmNoYXJ0CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpk cmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 From: laurent.pinchart@ideasonboard.com (Laurent Pinchart) Date: Tue, 17 Oct 2017 19:38:15 +0300 Subject: [RFC v2 0/8] Acer Chromebook R13 support In-Reply-To: <1508167900-27415-1-git-send-email-ulrich.hecht+renesas@gmail.com> References: <1508167900-27415-1-git-send-email-ulrich.hecht+renesas@gmail.com> Message-ID: <3437221.yAhrl0lKkh@avalon> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Hi Ulrich, (CC'ing Matthias Brugger and Daniel Kurtz) On Monday, 16 October 2017 18:31:32 EEST Ulrich Hecht wrote: > Hi! > > This is a new revision of the Acer Chromebook R13 support series. It does > not offer anything new in terms of functionality, but eliminates three out > of four ugly hacks and adds a few minor cleanups; see below for details. > Thanks to Robin Murphy and CK Hu for their comments and suggestions! > > I'm still looking for advice on how to implement the dual-role mmsys device > correctly; see "hack: mediatek: get mmsys to register as both DRM and clock > device" for details on this. What I'd really like to find out is what the mmsys device is. Its DT binding documents it as "The Mediatek mmsys controller provides various clocks to the system". Even if it provides clocks to the display engine, it shouldn't be used as the root device in the display complex. There could of course be information I'm lacking as the datasheet isn't public. Hopefully someone from Mediatek and/or Google will be able to comment on this. > Like the previous revision, you can find this series at > https://github.com/uli/kernel/tree/elm-working, which also contains a config > file and several ancillary bits that are required to build a kernel > partition for the Chromebook. Instructions on how to do so (and various > other things that have to be done to get it running on your device) are > available at > https://www.elinux.org/User:Uli/Acer_Chromebook_R13_GPU_test_system (These > instructions have been written for the vendor kernel, but apply to mainline > as well, except that you won't need any extra patches.) > > CU > Uli > > Changes since RFC v1: > - cmdq: remove obsolete driver; not currently used anyway > - dt: remove CD GPIO from mmc1, does not seem to be correct > - mmc: remove mtk-sd.c revert hack (works fine without the CD pin) > - dsi: fix port number for drm_of_find_panel_or_bridge(), remove hack > - fbdev: add missing Signed-off-bys > - iommu: remove io-pgtable sanity check hack, has been properly fixed > - minor style fixes > > > Ulrich Hecht (8): > drm/bridge: GPIO-controlled display multiplexer driver > platform/chrome: ChromeOS firmware interface driver > drm/bridge: Parade PS8640 MIPI DSI -> eDP converter driver > drm/bridge: Analogix ANX7688 HDMI -> DP bridge driver > arm64: dts: mediatek: Add Elm Rev. 3 device tree > hack: mediatek: get mmsys to register as both DRM and clock device > drm/mediatek: Add DRM-based framebuffer device > drm: mediatek: Fix drm_of_find_panel_or_bridge conversion > > arch/arm64/boot/dts/mediatek/Makefile | 1 + > arch/arm64/boot/dts/mediatek/mt8173-elm-rev3.dts | 21 + > arch/arm64/boot/dts/mediatek/mt8173-elm.dtsi | 210 ++++ > arch/arm64/boot/dts/mediatek/mt8173-oak.dtsi | 1013 +++++++++++++++++++ > drivers/clk/mediatek/clk-mt8173.c | 4 +- > drivers/gpu/drm/bridge/Kconfig | 32 + > drivers/gpu/drm/bridge/Makefile | 5 + > drivers/gpu/drm/bridge/analogix-anx7688.c | 233 +++++ > drivers/gpu/drm/bridge/generic-gpio-mux.c | 316 +++++++ > drivers/gpu/drm/bridge/parade-ps8640.c | 1104 +++++++++++++++++++ > drivers/gpu/drm/mediatek/Makefile | 2 + > drivers/gpu/drm/mediatek/mtk_dpi.c | 5 +- > drivers/gpu/drm/mediatek/mtk_drm_ddp.c | 5 +- > drivers/gpu/drm/mediatek/mtk_drm_drv.c | 15 + > drivers/gpu/drm/mediatek/mtk_drm_drv.h | 4 +- > drivers/gpu/drm/mediatek/mtk_drm_fb.c | 13 + > drivers/gpu/drm/mediatek/mtk_drm_fb.h | 3 + > drivers/gpu/drm/mediatek/mtk_drm_fbdev.c | 181 ++++ > drivers/gpu/drm/mediatek/mtk_drm_fbdev.h | 32 + > drivers/gpu/drm/mediatek/mtk_dsi.c | 2 +- > drivers/gpu/drm/mediatek/mtk_hdmi.c | 5 +- > drivers/platform/chrome/Kconfig | 18 + > drivers/platform/chrome/Makefile | 2 + > drivers/platform/chrome/chromeos.c | 120 +++ > drivers/platform/chrome/chromeos.h | 61 ++ > drivers/platform/chrome/chromeos_arm.c | 264 ++++++ > drivers/platform/chrome/elog.h | 186 ++++ > include/linux/chromeos_platform.h | 27 + > 28 files changed, 3874 insertions(+), 10 deletions(-) > create mode 100644 arch/arm64/boot/dts/mediatek/mt8173-elm-rev3.dts > create mode 100644 arch/arm64/boot/dts/mediatek/mt8173-elm.dtsi > create mode 100644 arch/arm64/boot/dts/mediatek/mt8173-oak.dtsi > create mode 100644 drivers/gpu/drm/bridge/analogix-anx7688.c > create mode 100644 drivers/gpu/drm/bridge/generic-gpio-mux.c > create mode 100644 drivers/gpu/drm/bridge/parade-ps8640.c > create mode 100644 drivers/gpu/drm/mediatek/mtk_drm_fbdev.c > create mode 100644 drivers/gpu/drm/mediatek/mtk_drm_fbdev.h > create mode 100644 drivers/platform/chrome/chromeos.c > create mode 100644 drivers/platform/chrome/chromeos.h > create mode 100644 drivers/platform/chrome/chromeos_arm.c > create mode 100644 drivers/platform/chrome/elog.h > create mode 100644 include/linux/chromeos_platform.h -- Regards, Laurent Pinchart