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=-3.8 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=no 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 5ACE6C433EF for ; Mon, 9 Sep 2019 02:26:06 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 2DE1C20678 for ; Mon, 9 Sep 2019 02:26:06 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="s2Pp6Zm4" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2DE1C20678 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=sigxcpu.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:To :From:Reply-To:Cc:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=6hb3CHSH5OIZJ7TGoSHYz4oyGmvwrEYAqdiawFxS0YM=; b=s2Pp6Zm4Gb9hsa d0Ea3byNaStnF7pOA3OpgbrV5V0C94xPK0IY3z32AQAj8yqdAwj4VMyieSSgvZtRo8GmkQCmWjKXt UdS8xzifZ4THPRBkfNhbdx21Wo24dPlzPXw9Ja5M/mCfNSPqpXZ46H6vuMjmuvALz9HwX65pQOeFq H2gZ6JRpqIPw2z6qGqJbMsuDosHZkdy4m6y7ke6I9KRb0uFg+RDhjnUfrEAMOhshYftLXVKsE5yh+ lBdrY84c2zRHECihJlFuktav6xR6eDHb4TENMA14EEgD2X12AYgy5KGpYWN5gLnx5ysM+RapUKW9W OZGT0DrAT4tSITeyekpw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92 #3 (Red Hat Linux)) id 1i79NS-0006mx-Iq; Mon, 09 Sep 2019 02:26:02 +0000 Received: from honk.sigxcpu.org ([24.134.29.49]) by bombadil.infradead.org with esmtps (Exim 4.92 #3 (Red Hat Linux)) id 1i79NK-0006fU-0q for linux-arm-kernel@lists.infradead.org; Mon, 09 Sep 2019 02:25:56 +0000 Received: from localhost (localhost [127.0.0.1]) by honk.sigxcpu.org (Postfix) with ESMTP id C8140FB03; Mon, 9 Sep 2019 04:25:48 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at honk.sigxcpu.org Received: from honk.sigxcpu.org ([127.0.0.1]) by localhost (honk.sigxcpu.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 2JqzTVGhY5z6; Mon, 9 Sep 2019 04:25:45 +0200 (CEST) Received: by bogon.sigxcpu.org (Postfix, from userid 1000) id 7226F420BD; Sun, 8 Sep 2019 19:25:42 -0700 (PDT) From: =?UTF-8?q?Guido=20G=C3=BCnther?= To: David Airlie , Daniel Vetter , Rob Herring , Mark Rutland , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , Andrzej Hajda , Neil Armstrong , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Lee Jones , =?UTF-8?q?Guido=20G=C3=BCnther?= , dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Robert Chiras , Sam Ravnborg , Arnd Bergmann Subject: [PATCH v5 0/2] drm: bridge: Add NWL MIPI DSI host controller support Date: Sun, 8 Sep 2019 19:25:40 -0700 Message-Id: X-Mailer: git-send-email 2.23.0.rc1 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190908_192554_382225_CF9E65D0 X-CRM114-Status: GOOD ( 24.64 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org VGhpcyBhZGRzIGluaXRpYWwgc3VwcG9ydCBmb3IgdGhlIE5XTCBNSVBJIERTSSBob3N0IGNvbnRy b2xsZXIgZm91bmQgb24gaS5NWDgKU29Dcy4KCkl0IGFkZHMgc3VwcG9ydCBmb3IgdGhlIGkuTVg4 TVEgYnV0IHRoZSBzYW1lIElQIGNvcmUgY2FuIGFsc28gYmUgZm91bmQgb24gZS5nLgppLk1YOFFY UC4gSSBhZGRlZCB0aGUgbmVjZXNzYXJ5IGhvb2tzIHRvIHN1cHBvcnQgb3RoZXIgaW14OCB2YXJp YW50cyBidXQgc2luY2UKSSBvbmx5IGhhdmUgaW14OG1xIGJvYXJkcyB0byB0ZXN0IEkgb21pdHRl ZCB0aGUgcGxhdGZvcm0gZGF0YSBmb3Igb3RoZXIgU29Dcy4KClRoZSBjb2RlIGlzIGJhc2VkIG9u IE5YUHMgQlNQIHNvIEkgYWRkZWQgUm9iZXJ0IENoaXJhcyBhcwpDby1hdXRob3JlZC1ieS4KClRo ZSBtb3N0IG5vdGFibGUgY2hhbmdlcyBvdmVyIHRoZSBCU1AgZHJpdmVyIGFyZQogLSBDYWxjdWxh dGUgSFMgbW9kZSB0aW1pbmcgZnJvbSBwaHlfY29uZmlndXJlX29wdHNfbWlwaV9kcGh5CiAtIFBl cmZvcm0gYWxsIGNsb2NrIHNldHVwIHZpYSBEVAogLSBNZXJnZSBud2wtaW14IGFuZCBud2wgZHJp dmVycwogLSBBZGQgQjAgc2lsaW9uIHJldmlzaW9uIHF1aXJrCiAtIGJlY29tZSBhIGJyaWRnZSBk cml2ZXIgdG8gaG9vayBpbnRvIG14c2ZiIChmcm9tIHdoYXQgSSByZWFkWzBdIERDU1MsIHdoaWNo CiAgIGFsc28gY2FuIGRyaXZlIHRoZSBud2wgb24gdGhlIGlteDhtcSB3aWxsIGxpa2VseSBub3Qg YmVjb21lIHBhcnQgb2YKICAgaW14LWRpc3BsYXktc3Vic3lzdGVtIHNvIGl0IG1ha2VzIHNlbnNl IHRvIG1ha2UgaXQgZHJpdmUgYSBicmlkZ2UgZm9yIGRzaSBhcwogICB3ZWxsKS4KIC0gVXNlIHBh bmVsX2JyaWRnZSB0byBhdHRhY2ggdGhlIHBhbmVsCiAtIFVzZSBtdWx0aXBsZXggZnJhbWV3b3Jr IGluc3RlYWQgb2YgYWNjZXNzaW5nIHN5c2NvbiBkaXJlY3RseQoKVGhpcyBoYXMgYmVlbiB0ZXN0 ZWQgb24gYSBMaWJyZW0gNSBkZXZraXQgdXNpbmcgbXhzZmIgd2l0aCBSb2JlcnQncyBwYXRjaGVz WzFdCmFuZCB0aGUgcm9ja3RlY2gtamgwNTduMDA5MDAgcGFuZWwgZHJpdmVyIG9uIG5leHQtMjAx OTA4MDcuIFRoZSBEQ1NTIGNhbiBsYXRlcgpvbiBhbHNvIGFjdCBhcyBpbnB1dCBzb3VyY2UgdG9v LgoKQ2hhbmdlcyBmcm9tIHY0OgotIENvbGxlY3QgUmV2aWV3ZWQtYnk6IGZyb20gUm9iIEhlcnJp bmcsIHRoYW5rcyEKICBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9hcmNoaXZlcy9kcmkt ZGV2ZWwvMjAxOS1TZXB0ZW1iZXIvMjMzOTc5Lmh0bWwKLSBTcG90dGVkIGJ5IGtidWlsZCB0ZXN0 IHJvYm90IDxsa3BAaW50ZWwuY29tPgogIGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL2Fy Y2hpdmVzL2RyaS1kZXZlbC8yMDE5LVNlcHRlbWJlci8yMzM4NjAuaHRtbAogIGh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL2RyaS1kZXZlbC8yMDE5LVNlcHRlbWJlci8yMzM4 NjMuaHRtbAogIC0gZml4IGZvcm1hdCBzdHJpbmcgZm9yIHNpemVfdAogIC0gVXNlIERJVjY0X1U2 NF9ST1VORF9VUCB0byBmaXggYnVpbGQgb24gMzIgYml0IGFyY2hpdGVjdHVyZXMKICAgIFdlIGNh bid0IHVzZSBzaW1wbGUgc2hpZnQgc2luZCBkIGFuZCBuIGFyZSBzaW1pbGFyIGluIHNpemUgYW5k CiAgICB3ZSBuZWVkIGZ1bGwgcHJlY2lzaW9uCi0gRml4IGRlYnVnIGNmZ190X3Bvc3QgZGVidWcg cHJpbnQgb3V0Ci0gQXZvaWQgUFNFQ19QRVJfU0VDCi0gTW92ZSB0aW1lb3V0IC8gb3ZlcmZsb3cg aGFuZGxpbmcgb3V0IG9mIG53bF9kc2lfZmluaXNoX3RyYW5zbWlzc2lvbiwKICBpdCB3b3VsZCBu ZXZlciBlbmQgdXAgYmVpbmcgcmVwb3J0ZWQgc2luY2UgdGhlIGNhbGwgdG8gdGhlIGZ1bmN0aW9u CiAgd2FzIGd1YXJkZWQgYnkgZmxhZ3MuCi0gRHJvcCAnc3VwcG9ydCBmb3InIGZyb20gS0NvbmZp ZyB0aXRsZSB0byBtYWtlIGl0IG1hdGNoIHRoZSBvdGhlcgogIGRyaXZlcnMgaW4gdGhhdCBzdWJt ZW51CgpDaGFuZ2VzIGZyb20gdjM6Ci0gUGVyIHJldmlldyBjb21tZW50cyBieSBSb2JlcnQgQ2hp cmFzCiAgaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvYXJjaGl2ZXMvZHJpLWRldmVsLzIw MTktQXVndXN0LzIzMjU4MC5odG1sCiAgLSBBZGQgUm9iZXJ0J3Mge1NpZ25lZC1vZmYsVGVzdGVk fS1ieToKICAtIFJlc3BlY3QgbnVtYmVyIG9mIGxhbmVzIHdoZW4gY2FsY3VsdGluZyBiYW5kd2lk dGggbGltaXRzCiAgLSBEcm9wIGR1cGxpY2F0ZSBOV0xfRFNJX0VOQUJMRV9NVUxUX1BLVFMgc2V0 dXAKLSBQZXIgdGVzdGluZyBieSBSb2JlciBDaGlyYXMKICBodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9hcmNoaXZlcy9kcmktZGV2ZWwvMjAxOS1BdWd1c3QvMjMzNjg4Lmh0bWwKICAtIERy b3AgZHVwbGljYXRlIChhbmQgdG9vIGVhcmx5KSBkcm1fYnJpZGdlX2FkZCgpIGluIG53bF9kaXJf cHJvYmUoKSB0aGF0CiAgICBtYWRlIG14c2ZiIGZhaWwgdG8gY29ubmVjdCB0byB0aGUgYnJpZGdl IHNpbmNlIHRoZSBwYW5lbF9icmlkZ2Ugd2FzIG5vdCB1cAogICAgeWV0LiBkcm1fYnJpZGdlX2Fk ZCgpIGhhcHBlbnMgaW4gbndsX2RzaV9ob3N0X2F0dGFjaCgpIHdoZXJlIGFmdGVyIHRoZQogICAg cGFuZWxfYnJpZGdlIHdhcyBzZXQgdXAuCi0gUGVyIHJldmlldyBjb21tZW50cyBieSBSb2IgSGVy cmluZyBvbiBiaW5kaW5ncwogIGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVz L2RyaS1kZXZlbC8yMDE5LUF1Z3VzdC8yMzMxOTYuaHRtbAogIC0gZHJvcCBkZXNjcmlwdGlvbiBm cm9tIHBvd2VyLWRvbWFpbnMgYW5kIHJlc2V0cwogIC0gYWxsb3cgQlNEIDIgY2xhdXNlIGxpY2Vu c2UgYXMgd2VsbAogIC0gbWFrZSBwb3J0cyBtb3JlIHNwZWNpZmljCiAgLSBhZGQgI2FkZHJlc3Mt Y2VsbHMsICNzaXplLWNlbGxzIGFzIHJlcXVpcmVkCiAgLSB1c2UgYWRkaXRpb25hbFByb3BlcnRp ZXMKICAtIHBhbmVsIGlzIG9mIHR5cGUgb2JqZWN0CgpDaGFuZ2VzIGZyb20gdjI6Ci0gUGVyIHJl dmlldyBjb21tZW50cyBieSBSb2IgSGVycmluZwogIGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL2FyY2hpdmVzL2RyaS1kZXZlbC8yMDE5LUF1Z3VzdC8yMzA0NDguaHRtbAogIC0gYmluZGlu Z3M6CiAgICAtIFNpbXBsaWZ5IGJ5IHJlc3RyaWN0aW5nIHRvIGZzbCxpbXg4bXEtbndsLWRzaQog ICAgLSBkb2N1bWVudCByZXNldCBsaW5lcwogICAgLSBhZGQgcG9ydEB7MCwxfQogICAgLSB1c2Ug YSByZWFsIGNvbXBhdGlibGUgc3RyaW5nIGZvciB0aGUgcGFuZWwKICAgIC0gcmVzZXRzIGFyZSBy ZXF1aXJlZAotIFBlciByZXZpZXcgY29tbWVudHMgYnkgQXJuZCBCZXJnbWFubgogIGh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL2RyaS1kZXZlbC8yMDE5LUF1Z3VzdC8yMzA4 NjguaHRtbAogIC0gRG9uJ3QgYWNjZXNzIGlvbXV4Y19ncHIgcmVncyBkaXJlY3RseS4gVGhpcyBh bGxvd3MgdXMgdG8gZHJvcCB0aGUKICAgIGZpcnN0IHBhdGNoIGluIHRoZSBzZXJpZXMgd2l0aCB0 aGUgaW9tdXhjX2dwciBmaWVsZCBkZWZpbmVzLgotIFBlciByZXZpZXcgY29tbWVudHMgYnkgTGF1 cmVudCBQaW5jaGFydAogIEZpeCB3b3JkaW5nIGluIGJpbmRpbmdzCi0gQWRkIG11eC1jb250cm9s cyB0byBiaW5kaW5ncwotIERvbid0IHByaW50IGVycm9yIG1lc3NhZ2Ugb24gZHBoeSBwcm9iZSBk ZWZlcnJhbAoKQ2hhbmdlcyBmcm9tIHYxOgotIFBlciByZXZpZXcgY29tbWVudHMgYnkgU2FtIFJh dm5ib3JnCiAgaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvYXJjaGl2ZXMvZHJpLWRldmVs LzIwMTktSnVseS8yMjgxMzAuaHRtbAogIC0gQ2hhbmdlIGJpbmRpbmcgZG9jcyB0byBZQU1MCiAg LSBidWlsZDogRG9uJ3QgYWx3YXlzIHZpc2l0IGlteC1ud2wvCiAgLSBidWlsZDogQWRkIGhlYWRl ci10ZXN0LXkKICAtIFNvcnQgaGVhZGVycyBhY2NvcmRpbmcgdG8gRFJNIGNvbnZlbnRpb24KICAt IFVzZSBkcm1fZGlzcGxheV9tb2RlIGluc3RlYWQgb2YgdmlkZW1vZGUKLSBQZXIgcmV2aWV3IGNv bW1lbnRzIGJ5IEZhYmlvIEVzdGV2YW0KICBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9h cmNoaXZlcy9kcmktZGV2ZWwvMjAxOS1KdWx5LzIyODI5OS5odG1sCiAgLSBEb24ndCByZXN0cmlj dCBidWlsZCB0byBBUkNIX01YQwogIC0gRHJvcCB1bnVzZWQgaW5jbHVkZXMKICAtIERyb3AgdW5y ZWFjaGFibGUgY29kZSBpbiBpbXhfbndsX2RzaV9icmlkZ2VfbW9kZV9maXh1cCgpCiAgLSBEcm9w IHJlbWFpbmluZyBjYWxscyBvZiBkZXZfZXJyKCkgYW5kIHVzZSBEUk1fREVWX0VSUigpCiAgICBj b25zaXN0ZW50bHkuCiAgLSBVc2UgZGV2bV9wbGF0Zm9ybV9pb3JlbWFwX3Jlc291cmNlKCkKICAt IERyb3AgZGV2bV9mcmVlX2lycSgpIGluIHByb2JlKCkgZXJyb3IgcGF0aAogIC0gVXNlIHNpbmds ZSBsaW5lIGNvbW1lbnRzIHdoZXJlIHN1ZmZpY2llbnQKICAtIFVzZSA8bGludXgvdGltZTY0Lmg+ IGluc3RlYWQgb2YgZGVmaW5pbmcgVVNFQ19QRVJfU0VDCiAgLSBNYWtlIGlucHV0IHNvdXJjZSBz ZWxlY3QgaW14OCBzcGVjaWZpYwogIC0gRHJvcCA8YXNtL3VuYWxpZ25lZC5oPiBpbmNsdXNpb24g KGFmdGVyIHJlbW92YWwgb2YgZ2V0X3VuYWxpZ25lZF9sZTMyKQogIC0gRHJvcCBhbGwgRVhQT1JU X1NZTUJPTF9HUEwoKSBmb3IgZnVuY3Rpb25zIHVzZWQgaW4gdGhlIHNhbWUgbW9kdWxlCiAgICBi dXQgZGlmZmVyZW50IHNvdXJjZSBmaWxlcy4KICAtIERyb3AgbndsX2RzaV9lbmFibGVfe3J4LHR4 fV9jbG9jaygpIGJ5IGludm9raW5nIGNsa19wcmVwYXJlX2VuYWJsZSgpCiAgICBkaXJlY3RseQog IC0gUmVtb3ZlIHBvaW50bGVzcyBjb21tZW50Ci0gTGF1cmVudCBQaW5jaGFydAogIGh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL2RyaS1kZXZlbC8yMDE5LUp1bHkvMjI4MzEz Lmh0bWwKICBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9hcmNoaXZlcy9kcmktZGV2ZWwv MjAxOS1KdWx5LzIyODMwOC5odG1sCiAgLSBEcm9wIChvbiBpTVg4TVEpIHVudXNlZCBjc3IgcmVn bWFwCiAgLSBVc2UgTldMX01BWF9QTEFURk9STV9DTE9DS1MgZXZlcnl3aGVyZQogIC0gRHJvcCBn ZXRfdW5hbGlnbmVkX2xlMzIoKSB1c2FnZQogIC0gcmVtb3ZlIGR1cGxpY2F0ZSAnZm9yIHRoZScg aW4gYmluZGluZyBkb2NzCiAgLSBEb24ndCBpbmNsdWRlIHVudXNlZCA8bGludXgvY2xrLXByb3Zp ZGVyLmg+CiAgLSBEb24ndCBpbmNsdWRlIHVudXNlZCA8bGludXgvY29tcG9uZW50Lmg+CiAgLSBE cm9wIGRwbXNfbW9kZSBmb3IgdHJhY2tpbmcgc3RhdGUsIHRydXN0IHRoZSBkcm0gbGF5ZXIgb24g dGhhdAogIC0gVXNlIHBtX3J1bnRpbWVfcHV0KCkgaW5zdGVhZCBvZiBwbV9ydW50aW1lX3B1dF9z eW5jKCkKICAtIERvbid0IG92ZXJ3cml0ZSBlbmNvZGVyIHR5cGUKICAtIE1ha2UgaW14X253bF9w bGF0Zm9ybV9kYXRhIGNvbnN0CiAgLSBVc2UgdGhlIHJlc2V0IGNvbnRyb2xsZXIgQVBJIGluc3Rl YWQgb2Ygb3BlbiBjb2RpbmcgdGhhdCBwbGF0Zm9ybSBzcGVjaWZpYwogICAgcGFydAogIC0gVXNl IDxsaW51eC9iaXRmaWVsZC5oPiBpbnRlYWQgb2YgbWFraW5nIHVwIG91ciBvd24gZGVmaW5lcwog IC0gbmFtZSBtaXBpX2RzaV90cmFuc2ZlciBsZXNzIGdlbmVyaWM6IG53bF9kc2lfdHJhbnNmZXIK ICAtIGVuc3VyZSBjbGVhbiBpbiAucmVtb3ZlIGJ5IGNhbGxpbmcgbWlwaV9kc2lfaG9zdF91bnJl Z2lzdGVyLgogIC0gcHJlZml4IGNvbnN0YW50cyBieSBOV0xfRFNJXwogIC0gcHJvcGVybHkgZm9y bWF0IHRyYW5zZmVyX2RpcmVjdGlvbiBlbnVtCiAgLSBzaW1wbGlmeSBwbGF0Zm9ybSBjbG9jayBo YW5kbGluZwogIC0gRG9uJ3QgbW9kaWZ5IHN0YXRlIGluIG1vZGVfZml4dXAoKSBhbmQgdXNlIG1v ZGVfc2V0KCkgaW5zdGVhZAogIC0gRHJvcCBicmlkZ2UgZGV0YWNoKCksIGFscmVhZHkgaGFuZGxl IGJ5IG53bF9kc2lfaG9zdF9kZXRhY2goKQogIC0gRHJvcCBVU0VfKl9RVUlSSygpIG1hY3Jvcwot IERyb3AgKGZvciBub3cpIHVudXNlZCBjbG9jayBkZWZuaXRpb25zLiAncGl4ZWwnIGFuZCAnYnlw YXNzJyBjbG9jayB3aWxsIGJlCiAgdXNlZCBmb3IgaS5NWDggU29DcyBidXQgc2luY2UgdGhleSdy ZSB1bnVzZWQgYXRtIGRyb3AgdGhlIGRlZmluaXRpb25zIC0gYnV0CiAga2VlcCB0aGUgbG9naWMg dG8gZW5hYmxlL2Rpc2FibGUgc2V2ZXJhbCBjbG9ja3MgaW4gcGxhY2Ugc2luY2Ugd2Uga25vdyB3 ZSdsbAogIG5lZWQgaXQgaW4gdGhlIGZ1dHVyZS4KCkNoYW5nZXMgZnJvbSB2MDoKLSBBZGQgcXVp cmsgZm9yIElNUThNUSBzaWxpY29uIEIwIHJldmlzaW9uIHRvIG5vdCBtZXNzIHdpdGggdGhlCiAg c3lzdGVtIHJlc2V0IGNvbnRyb2xsZXIgb24gcG93ZXIgZG93biBzaW5jZSBlbmFibGUoKSB3b24n dCB3b3JrCiAgb3RoZXJ3aXNlLgotIERyb3AgZGV2bV9mcmVlX2lycSgpIGhhbmRsZWQgYnkgdGhl IGRldmljZSBkcml2ZXIgY29yZQotIERpc2FibGUgdHggZXNjIGNsb2NrIGFmdGVyIHRoZSBwaHkg cG93ZXIgZG93biB0byB1bmJyZWFrCiAgZGlzYWJsZS9lbmFibGUgKHVuYmxhbmsvYmxhbmspCi0g QWRkIHBvcnRzIHRvIGR0IGJpbmRpbmcgZG9jcwotIFNlbGVjdCBHRU5FUklDX1BIWV9NSVBJX0RQ SFkgaW5zdGVhZCBvZiBHRU5FUklDX1BIWSBmb3IKICBwaHlfbWlwaV9kcGh5X2dldF9kZWZhdWx0 X2NvbmZpZwotIFNlbGVjdCBEUk1fTUlQSV9EU0kKLSBJbmNsdWRlIGRybV9wcmludC5oIHRvIGZp eCBidWlsZCBvbiBuZXh0LTIwMTkwNDA4Ci0gRHJvcCBzb21lIGRlYnVnZ2luZyBtZXNzYWdlcwot IE5ld2xpbmUgdGVybWluYXRlIGFsbCBEUk1fIHByaW50b3V0cwotIFR1cm4gY29tcG9uZW50IGRy aXZlciBpbnRvIGEgZHJtIGJyaWRnZQoKWzBdOiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9hcmNoaXZlcy9kcmktZGV2ZWwvMjAxOS1NYXkvMjE5NDg0Lmh0bWwKWzFdOiBodHRwczovL3Bh dGNod29yay5mcmVlZGVza3RvcC5vcmcvc2VyaWVzLzYyODIyLwoKR3VpZG8gR8O8bnRoZXIgKDIp OgogIGR0LWJpbmRpbmdzOiBkaXNwbGF5L2JyaWRnZTogQWRkIGJpbmRpbmcgZm9yIE5XTCBtaXBp IGRzaSBob3N0CiAgICBjb250cm9sbGVyCiAgZHJtL2JyaWRnZTogQWRkIE5XTCBNSVBJIERTSSBo b3N0IGNvbnRyb2xsZXIgc3VwcG9ydAoKIC4uLi9iaW5kaW5ncy9kaXNwbGF5L2JyaWRnZS9ud2wt ZHNpLnlhbWwgICAgICB8IDE3NiArKysrKwogZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9LY29uZmln ICAgICAgICAgICAgICAgIHwgICAyICsKIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2UvTWFrZWZpbGUg ICAgICAgICAgICAgICB8ICAgMSArCiBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL253bC1kc2kvS2Nv bmZpZyAgICAgICAgfCAgMTYgKwogZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9ud2wtZHNpL01ha2Vm aWxlICAgICAgIHwgICA0ICsKIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2UvbndsLWRzaS9ud2wtZHJ2 LmMgICAgICB8IDQ5OSArKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL253bC1k c2kvbndsLWRydi5oICAgICAgfCAgNjUgKysKIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2UvbndsLWRz aS9ud2wtZHNpLmMgICAgICB8IDY5NiArKysrKysrKysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2Ry bS9icmlkZ2UvbndsLWRzaS9ud2wtZHNpLmggICAgICB8IDExMiArKysKIDkgZmlsZXMgY2hhbmdl ZCwgMTU3MSBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgRG9jdW1lbnRhdGlvbi9k ZXZpY2V0cmVlL2JpbmRpbmdzL2Rpc3BsYXkvYnJpZGdlL253bC1kc2kueWFtbAogY3JlYXRlIG1v ZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9icmlkZ2UvbndsLWRzaS9LY29uZmlnCiBjcmVhdGUg bW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9ud2wtZHNpL01ha2VmaWxlCiBjcmVh dGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9ud2wtZHNpL253bC1kcnYuYwog Y3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9icmlkZ2UvbndsLWRzaS9ud2wtZHJ2 LmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL253bC1kc2kvbnds LWRzaS5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9ud2wtZHNp L253bC1kc2kuaAoKLS0gCjIuMjMuMC5yYzEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1h cm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcv bWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Guido=20G=C3=BCnther?= Subject: [PATCH v5 0/2] drm: bridge: Add NWL MIPI DSI host controller support Date: Sun, 8 Sep 2019 19:25:40 -0700 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Return-path: Sender: linux-kernel-owner@vger.kernel.org To: David Airlie , Daniel Vetter , Rob Herring , Mark Rutland , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , Andrzej Hajda , Neil Armstrong , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Lee Jones , =?UTF-8?q?Guido=20G=C3=BCnther?= , dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Robert List-Id: devicetree@vger.kernel.org This adds initial support for the NWL MIPI DSI host controller found on i.MX8 SoCs. It adds support for the i.MX8MQ but the same IP core can also be found on e.g. i.MX8QXP. I added the necessary hooks to support other imx8 variants but since I only have imx8mq boards to test I omitted the platform data for other SoCs. The code is based on NXPs BSP so I added Robert Chiras as Co-authored-by. The most notable changes over the BSP driver are - Calculate HS mode timing from phy_configure_opts_mipi_dphy - Perform all clock setup via DT - Merge nwl-imx and nwl drivers - Add B0 silion revision quirk - become a bridge driver to hook into mxsfb (from what I read[0] DCSS, which also can drive the nwl on the imx8mq will likely not become part of imx-display-subsystem so it makes sense to make it drive a bridge for dsi as well). - Use panel_bridge to attach the panel - Use multiplex framework instead of accessing syscon directly This has been tested on a Librem 5 devkit using mxsfb with Robert's patches[1] and the rocktech-jh057n00900 panel driver on next-20190807. The DCSS can later on also act as input source too. Changes from v4: - Collect Reviewed-by: from Rob Herring, thanks! https://lists.freedesktop.org/archives/dri-devel/2019-September/233979.html - Spotted by kbuild test robot https://lists.freedesktop.org/archives/dri-devel/2019-September/233860.html https://lists.freedesktop.org/archives/dri-devel/2019-September/233863.html - fix format string for size_t - Use DIV64_U64_ROUND_UP to fix build on 32 bit architectures We can't use simple shift sind d and n are similar in size and we need full precision - Fix debug cfg_t_post debug print out - Avoid PSEC_PER_SEC - Move timeout / overflow handling out of nwl_dsi_finish_transmission, it would never end up being reported since the call to the function was guarded by flags. - Drop 'support for' from KConfig title to make it match the other drivers in that submenu Changes from v3: - Per review comments by Robert Chiras https://lists.freedesktop.org/archives/dri-devel/2019-August/232580.html - Add Robert's {Signed-off,Tested}-by: - Respect number of lanes when calculting bandwidth limits - Drop duplicate NWL_DSI_ENABLE_MULT_PKTS setup - Per testing by Rober Chiras https://lists.freedesktop.org/archives/dri-devel/2019-August/233688.html - Drop duplicate (and too early) drm_bridge_add() in nwl_dir_probe() that made mxsfb fail to connect to the bridge since the panel_bridge was not up yet. drm_bridge_add() happens in nwl_dsi_host_attach() where after the panel_bridge was set up. - Per review comments by Rob Herring on bindings https://lists.freedesktop.org/archives/dri-devel/2019-August/233196.html - drop description from power-domains and resets - allow BSD 2 clause license as well - make ports more specific - add #address-cells, #size-cells as required - use additionalProperties - panel is of type object Changes from v2: - Per review comments by Rob Herring https://lists.freedesktop.org/archives/dri-devel/2019-August/230448.html - bindings: - Simplify by restricting to fsl,imx8mq-nwl-dsi - document reset lines - add port@{0,1} - use a real compatible string for the panel - resets are required - Per review comments by Arnd Bergmann https://lists.freedesktop.org/archives/dri-devel/2019-August/230868.html - Don't access iomuxc_gpr regs directly. This allows us to drop the first patch in the series with the iomuxc_gpr field defines. - Per review comments by Laurent Pinchart Fix wording in bindings - Add mux-controls to bindings - Don't print error message on dphy probe deferral Changes from v1: - Per review comments by Sam Ravnborg https://lists.freedesktop.org/archives/dri-devel/2019-July/228130.html - Change binding docs to YAML - build: Don't always visit imx-nwl/ - build: Add header-test-y - Sort headers according to DRM convention - Use drm_display_mode instead of videmode - Per review comments by Fabio Estevam https://lists.freedesktop.org/archives/dri-devel/2019-July/228299.html - Don't restrict build to ARCH_MXC - Drop unused includes - Drop unreachable code in imx_nwl_dsi_bridge_mode_fixup() - Drop remaining calls of dev_err() and use DRM_DEV_ERR() consistently. - Use devm_platform_ioremap_resource() - Drop devm_free_irq() in probe() error path - Use single line comments where sufficient - Use instead of defining USEC_PER_SEC - Make input source select imx8 specific - Drop inclusion (after removal of get_unaligned_le32) - Drop all EXPORT_SYMBOL_GPL() for functions used in the same module but different source files. - Drop nwl_dsi_enable_{rx,tx}_clock() by invoking clk_prepare_enable() directly - Remove pointless comment - Laurent Pinchart https://lists.freedesktop.org/archives/dri-devel/2019-July/228313.html https://lists.freedesktop.org/archives/dri-devel/2019-July/228308.html - Drop (on iMX8MQ) unused csr regmap - Use NWL_MAX_PLATFORM_CLOCKS everywhere - Drop get_unaligned_le32() usage - remove duplicate 'for the' in binding docs - Don't include unused - Don't include unused - Drop dpms_mode for tracking state, trust the drm layer on that - Use pm_runtime_put() instead of pm_runtime_put_sync() - Don't overwrite encoder type - Make imx_nwl_platform_data const - Use the reset controller API instead of open coding that platform specific part - Use intead of making up our own defines - name mipi_dsi_transfer less generic: nwl_dsi_transfer - ensure clean in .remove by calling mipi_dsi_host_unregister. - prefix constants by NWL_DSI_ - properly format transfer_direction enum - simplify platform clock handling - Don't modify state in mode_fixup() and use mode_set() instead - Drop bridge detach(), already handle by nwl_dsi_host_detach() - Drop USE_*_QUIRK() macros - Drop (for now) unused clock defnitions. 'pixel' and 'bypass' clock will be used for i.MX8 SoCs but since they're unused atm drop the definitions - but keep the logic to enable/disable several clocks in place since we know we'll need it in the future. Changes from v0: - Add quirk for IMQ8MQ silicon B0 revision to not mess with the system reset controller on power down since enable() won't work otherwise. - Drop devm_free_irq() handled by the device driver core - Disable tx esc clock after the phy power down to unbreak disable/enable (unblank/blank) - Add ports to dt binding docs - Select GENERIC_PHY_MIPI_DPHY instead of GENERIC_PHY for phy_mipi_dphy_get_default_config - Select DRM_MIPI_DSI - Include drm_print.h to fix build on next-20190408 - Drop some debugging messages - Newline terminate all DRM_ printouts - Turn component driver into a drm bridge [0]: https://lists.freedesktop.org/archives/dri-devel/2019-May/219484.html [1]: https://patchwork.freedesktop.org/series/62822/ Guido Günther (2): dt-bindings: display/bridge: Add binding for NWL mipi dsi host controller drm/bridge: Add NWL MIPI DSI host controller support .../bindings/display/bridge/nwl-dsi.yaml | 176 +++++ drivers/gpu/drm/bridge/Kconfig | 2 + drivers/gpu/drm/bridge/Makefile | 1 + drivers/gpu/drm/bridge/nwl-dsi/Kconfig | 16 + drivers/gpu/drm/bridge/nwl-dsi/Makefile | 4 + drivers/gpu/drm/bridge/nwl-dsi/nwl-drv.c | 499 +++++++++++++ drivers/gpu/drm/bridge/nwl-dsi/nwl-drv.h | 65 ++ drivers/gpu/drm/bridge/nwl-dsi/nwl-dsi.c | 696 ++++++++++++++++++ drivers/gpu/drm/bridge/nwl-dsi/nwl-dsi.h | 112 +++ 9 files changed, 1571 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/bridge/nwl-dsi.yaml create mode 100644 drivers/gpu/drm/bridge/nwl-dsi/Kconfig create mode 100644 drivers/gpu/drm/bridge/nwl-dsi/Makefile create mode 100644 drivers/gpu/drm/bridge/nwl-dsi/nwl-drv.c create mode 100644 drivers/gpu/drm/bridge/nwl-dsi/nwl-drv.h create mode 100644 drivers/gpu/drm/bridge/nwl-dsi/nwl-dsi.c create mode 100644 drivers/gpu/drm/bridge/nwl-dsi/nwl-dsi.h -- 2.23.0.rc1 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=-3.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=no 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 B1528C433EF for ; Mon, 9 Sep 2019 02:25:53 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 6DA992067B for ; Mon, 9 Sep 2019 02:25:53 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732901AbfIICZw (ORCPT ); Sun, 8 Sep 2019 22:25:52 -0400 Received: from honk.sigxcpu.org ([24.134.29.49]:34348 "EHLO honk.sigxcpu.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732838AbfIICZw (ORCPT ); Sun, 8 Sep 2019 22:25:52 -0400 Received: from localhost (localhost [127.0.0.1]) by honk.sigxcpu.org (Postfix) with ESMTP id C8140FB03; Mon, 9 Sep 2019 04:25:48 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at honk.sigxcpu.org Received: from honk.sigxcpu.org ([127.0.0.1]) by localhost (honk.sigxcpu.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 2JqzTVGhY5z6; Mon, 9 Sep 2019 04:25:45 +0200 (CEST) Received: by bogon.sigxcpu.org (Postfix, from userid 1000) id 7226F420BD; Sun, 8 Sep 2019 19:25:42 -0700 (PDT) From: =?UTF-8?q?Guido=20G=C3=BCnther?= To: David Airlie , Daniel Vetter , Rob Herring , Mark Rutland , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , Andrzej Hajda , Neil Armstrong , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Lee Jones , =?UTF-8?q?Guido=20G=C3=BCnther?= , dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Robert Chiras , Sam Ravnborg , Arnd Bergmann Subject: [PATCH v5 0/2] drm: bridge: Add NWL MIPI DSI host controller support Date: Sun, 8 Sep 2019 19:25:40 -0700 Message-Id: X-Mailer: git-send-email 2.23.0.rc1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This adds initial support for the NWL MIPI DSI host controller found on i.MX8 SoCs. It adds support for the i.MX8MQ but the same IP core can also be found on e.g. i.MX8QXP. I added the necessary hooks to support other imx8 variants but since I only have imx8mq boards to test I omitted the platform data for other SoCs. The code is based on NXPs BSP so I added Robert Chiras as Co-authored-by. The most notable changes over the BSP driver are - Calculate HS mode timing from phy_configure_opts_mipi_dphy - Perform all clock setup via DT - Merge nwl-imx and nwl drivers - Add B0 silion revision quirk - become a bridge driver to hook into mxsfb (from what I read[0] DCSS, which also can drive the nwl on the imx8mq will likely not become part of imx-display-subsystem so it makes sense to make it drive a bridge for dsi as well). - Use panel_bridge to attach the panel - Use multiplex framework instead of accessing syscon directly This has been tested on a Librem 5 devkit using mxsfb with Robert's patches[1] and the rocktech-jh057n00900 panel driver on next-20190807. The DCSS can later on also act as input source too. Changes from v4: - Collect Reviewed-by: from Rob Herring, thanks! https://lists.freedesktop.org/archives/dri-devel/2019-September/233979.html - Spotted by kbuild test robot https://lists.freedesktop.org/archives/dri-devel/2019-September/233860.html https://lists.freedesktop.org/archives/dri-devel/2019-September/233863.html - fix format string for size_t - Use DIV64_U64_ROUND_UP to fix build on 32 bit architectures We can't use simple shift sind d and n are similar in size and we need full precision - Fix debug cfg_t_post debug print out - Avoid PSEC_PER_SEC - Move timeout / overflow handling out of nwl_dsi_finish_transmission, it would never end up being reported since the call to the function was guarded by flags. - Drop 'support for' from KConfig title to make it match the other drivers in that submenu Changes from v3: - Per review comments by Robert Chiras https://lists.freedesktop.org/archives/dri-devel/2019-August/232580.html - Add Robert's {Signed-off,Tested}-by: - Respect number of lanes when calculting bandwidth limits - Drop duplicate NWL_DSI_ENABLE_MULT_PKTS setup - Per testing by Rober Chiras https://lists.freedesktop.org/archives/dri-devel/2019-August/233688.html - Drop duplicate (and too early) drm_bridge_add() in nwl_dir_probe() that made mxsfb fail to connect to the bridge since the panel_bridge was not up yet. drm_bridge_add() happens in nwl_dsi_host_attach() where after the panel_bridge was set up. - Per review comments by Rob Herring on bindings https://lists.freedesktop.org/archives/dri-devel/2019-August/233196.html - drop description from power-domains and resets - allow BSD 2 clause license as well - make ports more specific - add #address-cells, #size-cells as required - use additionalProperties - panel is of type object Changes from v2: - Per review comments by Rob Herring https://lists.freedesktop.org/archives/dri-devel/2019-August/230448.html - bindings: - Simplify by restricting to fsl,imx8mq-nwl-dsi - document reset lines - add port@{0,1} - use a real compatible string for the panel - resets are required - Per review comments by Arnd Bergmann https://lists.freedesktop.org/archives/dri-devel/2019-August/230868.html - Don't access iomuxc_gpr regs directly. This allows us to drop the first patch in the series with the iomuxc_gpr field defines. - Per review comments by Laurent Pinchart Fix wording in bindings - Add mux-controls to bindings - Don't print error message on dphy probe deferral Changes from v1: - Per review comments by Sam Ravnborg https://lists.freedesktop.org/archives/dri-devel/2019-July/228130.html - Change binding docs to YAML - build: Don't always visit imx-nwl/ - build: Add header-test-y - Sort headers according to DRM convention - Use drm_display_mode instead of videmode - Per review comments by Fabio Estevam https://lists.freedesktop.org/archives/dri-devel/2019-July/228299.html - Don't restrict build to ARCH_MXC - Drop unused includes - Drop unreachable code in imx_nwl_dsi_bridge_mode_fixup() - Drop remaining calls of dev_err() and use DRM_DEV_ERR() consistently. - Use devm_platform_ioremap_resource() - Drop devm_free_irq() in probe() error path - Use single line comments where sufficient - Use instead of defining USEC_PER_SEC - Make input source select imx8 specific - Drop inclusion (after removal of get_unaligned_le32) - Drop all EXPORT_SYMBOL_GPL() for functions used in the same module but different source files. - Drop nwl_dsi_enable_{rx,tx}_clock() by invoking clk_prepare_enable() directly - Remove pointless comment - Laurent Pinchart https://lists.freedesktop.org/archives/dri-devel/2019-July/228313.html https://lists.freedesktop.org/archives/dri-devel/2019-July/228308.html - Drop (on iMX8MQ) unused csr regmap - Use NWL_MAX_PLATFORM_CLOCKS everywhere - Drop get_unaligned_le32() usage - remove duplicate 'for the' in binding docs - Don't include unused - Don't include unused - Drop dpms_mode for tracking state, trust the drm layer on that - Use pm_runtime_put() instead of pm_runtime_put_sync() - Don't overwrite encoder type - Make imx_nwl_platform_data const - Use the reset controller API instead of open coding that platform specific part - Use intead of making up our own defines - name mipi_dsi_transfer less generic: nwl_dsi_transfer - ensure clean in .remove by calling mipi_dsi_host_unregister. - prefix constants by NWL_DSI_ - properly format transfer_direction enum - simplify platform clock handling - Don't modify state in mode_fixup() and use mode_set() instead - Drop bridge detach(), already handle by nwl_dsi_host_detach() - Drop USE_*_QUIRK() macros - Drop (for now) unused clock defnitions. 'pixel' and 'bypass' clock will be used for i.MX8 SoCs but since they're unused atm drop the definitions - but keep the logic to enable/disable several clocks in place since we know we'll need it in the future. Changes from v0: - Add quirk for IMQ8MQ silicon B0 revision to not mess with the system reset controller on power down since enable() won't work otherwise. - Drop devm_free_irq() handled by the device driver core - Disable tx esc clock after the phy power down to unbreak disable/enable (unblank/blank) - Add ports to dt binding docs - Select GENERIC_PHY_MIPI_DPHY instead of GENERIC_PHY for phy_mipi_dphy_get_default_config - Select DRM_MIPI_DSI - Include drm_print.h to fix build on next-20190408 - Drop some debugging messages - Newline terminate all DRM_ printouts - Turn component driver into a drm bridge [0]: https://lists.freedesktop.org/archives/dri-devel/2019-May/219484.html [1]: https://patchwork.freedesktop.org/series/62822/ Guido Günther (2): dt-bindings: display/bridge: Add binding for NWL mipi dsi host controller drm/bridge: Add NWL MIPI DSI host controller support .../bindings/display/bridge/nwl-dsi.yaml | 176 +++++ drivers/gpu/drm/bridge/Kconfig | 2 + drivers/gpu/drm/bridge/Makefile | 1 + drivers/gpu/drm/bridge/nwl-dsi/Kconfig | 16 + drivers/gpu/drm/bridge/nwl-dsi/Makefile | 4 + drivers/gpu/drm/bridge/nwl-dsi/nwl-drv.c | 499 +++++++++++++ drivers/gpu/drm/bridge/nwl-dsi/nwl-drv.h | 65 ++ drivers/gpu/drm/bridge/nwl-dsi/nwl-dsi.c | 696 ++++++++++++++++++ drivers/gpu/drm/bridge/nwl-dsi/nwl-dsi.h | 112 +++ 9 files changed, 1571 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/bridge/nwl-dsi.yaml create mode 100644 drivers/gpu/drm/bridge/nwl-dsi/Kconfig create mode 100644 drivers/gpu/drm/bridge/nwl-dsi/Makefile create mode 100644 drivers/gpu/drm/bridge/nwl-dsi/nwl-drv.c create mode 100644 drivers/gpu/drm/bridge/nwl-dsi/nwl-drv.h create mode 100644 drivers/gpu/drm/bridge/nwl-dsi/nwl-dsi.c create mode 100644 drivers/gpu/drm/bridge/nwl-dsi/nwl-dsi.h -- 2.23.0.rc1