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 0A8EACA9EAC for ; Sat, 19 Oct 2019 14:13:00 +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 CE2E421835 for ; Sat, 19 Oct 2019 14:12:59 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="sjX1jIiR" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org CE2E421835 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=tWgwKJMRkGzpZD5vG9IESYRMGJwNiBkZPrS6WkZpSEo=; b=sjX1jIiRUm+cfx ZmYnMgu94bLQyHKeoyZTglesd6w8GrA1Gki6D1dc+euSGIvYg3zux4KgJMdoZNWcxFPuRQXJPht0n SRSmLyMrIvhuZ69G5lNfdEaVTkpLdIxEki04bgffrW5Ejhro1vepOHqfvXl+HoMXcdnS+v51uYy0A HxmhBbPxeC2h+zsh55sfto5zSPpy8o1WT7XytHKCb045wgqRiXNIA4RgPf77ctUHj07utGILYOm6V SYDv4dSJkMmpZCE7bRsyPr3nWgigdPCJZ0bOojTFOs7Hfm/AGakvIwscN9mxU908ALXdeHi2pIz45 ucy07lGr7YHEYvcW8Qmw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1iLpTP-0003So-B1; Sat, 19 Oct 2019 14:12:51 +0000 Received: from honk.sigxcpu.org ([24.134.29.49]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1iLpT5-0003H9-6V for linux-arm-kernel@lists.infradead.org; Sat, 19 Oct 2019 14:12:33 +0000 Received: from localhost (localhost [127.0.0.1]) by honk.sigxcpu.org (Postfix) with ESMTP id 95724FB03; Sat, 19 Oct 2019 16:12:29 +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 0N7aD5p2lPj9; Sat, 19 Oct 2019 16:12:26 +0200 (CEST) Received: by bogon.sigxcpu.org (Postfix, from userid 1000) id E4DFD49B0C; Sat, 19 Oct 2019 16:12:25 +0200 (CEST) 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 v7 0/2] drm: bridge: Add NWL MIPI DSI host controller support Date: Sat, 19 Oct 2019 16:12:23 +0200 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-20191019_071231_552639_3A5A79E0 X-CRM114-Status: GOOD ( 26.27 ) 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 VGhpcyBhZGRzIGluaXRpYWwgc3VwcG9ydCBmb3IgdGhlIE5XTCBNSVBJIERTSSBIb3N0IGNvbnRy b2xsZXIgZm91bmQgb24gaS5NWDgKU29Dcy4KCkl0IGFkZHMgc3VwcG9ydCBmb3IgdGhlIGkuTVg4 TVEgYnV0IHRoZSBzYW1lIElQIGNvcmUgY2FuIGFsc28gYmUgZm91bmQgb24gZS5nLgppLk1YOFFY UC4gSSBhZGRlZCB0aGUgbmVjZXNzYXJ5IGhvb2tzIHRvIHN1cHBvcnQgb3RoZXIgaW14OCB2YXJp YW50cyBidXQgc2luY2UKSSBvbmx5IGhhdmUgaW14OG1xIGJvYXJkcyB0byB0ZXN0IEkgb21pdHRl ZCB0aGUgcGxhdGZvcm0gZGF0YSBmb3Igb3RoZXIgU29Dcy4KClRoZSBjb2RlIGlzIGJhc2VkIG9u IE5YUHMgQlNQIHNvIEkgYWRkZWQgUm9iZXJ0IENoaXJhcyBhcwpDby1hdXRob3JlZC1ieS4KClRo ZSBtb3N0IG5vdGFibGUgY2hhbmdlcyBvdmVyIHRoZSBCU1AgZHJpdmVyIGFyZQogLSBDYWxjdWxh dGUgSFMgbW9kZSB0aW1pbmcgZnJvbSBwaHlfY29uZmlndXJlX29wdHNfbWlwaV9kcGh5CiAtIFBl cmZvcm0gYWxsIGNsb2NrIHNldHVwIHZpYSBEVAogLSBNZXJnZSBud2wtaW14IGFuZCBud2wgZHJp dmVycwogLSBBZGQgQjAgc2lsaW9uIHJldmlzaW9uIHF1aXJrCiAtIGJlY29tZSBhIGJyaWRnZSBk cml2ZXIgdG8gaG9vayBpbnRvIG14c2ZiIC8gZGNzcwogICBpbXgtZGlzcGxheS1zdWJzeXN0ZW0g c28gaXQgbWFrZXMgc2Vuc2UgdG8gbWFrZSBpdCBkcml2ZSBhIGJyaWRnZSBmb3IgZHNpIGFzCiAg IHdlbGwpLgogLSBVc2UgcGFuZWxfYnJpZGdlIHRvIGF0dGFjaCB0aGUgcGFuZWwKIC0gVXNlIG11 bHRpcGxleCBmcmFtZXdvcmsgaW5zdGVhZCBvZiBhY2Nlc3Npbmcgc3lzY29uIGRpcmVjdGx5CgpU aGlzIGhhcyBiZWVuIHRlc3RlZCBvbiBhIExpYnJlbSA1IGRldmtpdCB1c2luZyBteHNmYiB3aXRo IFJvYmVydCdzIHBhdGNoZXNbMV0KYW5kIHRoZSByb2NrdGVjaC1qaDA1N24wMDkwMCBwYW5lbCBk cml2ZXIgb24gbmV4dC0yMDE5MTAxOC4gVGhlIERDU1MgY2FuIGxhdGVyCm9uIGFsc28gYWN0IGFz IGlucHV0IHNvdXJjZSB0b28uCgpDaGFuZ2VzIGZyb20gdjc6Ci0gUGVyIHJldmlldyBjb21tZW50 cyBieSBBbmRyemVqIEhhamRhCiAgaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvbGludXgtYXJtLWtl cm5lbC9jODZiN2NhMi03Nzk5LWVhZmQtYzM4MC1lNGI1NTE1MjA4MzdAc2Ftc3VuZy5jb20vCiAg LSBEcm9wIHNwYXJlIGVtcHR5IGxpbmUKICAtIGhhbmRsZSBud2xfZHNpX3dyaXRlIGVycm9ycwog IC0gYmV0dGVyIGhhbmRsZSByZWFkIGVycm9ycwogIC0gdW53aW5kIGluIGNhc2Ugb2YgZXJyb3Ig aW4gbndsX2RzaV9lbmFibGUKICAtIHVzZSBicmlkZ2VfdG9fZHNpKCkgaW5zdGVhZCBvZiBhY2Nl c3NpbmcgZHJpdmVyX3ByaXZhdGUKICAtIGRvbid0IGxvZyBvbiAtRVBST0JFREVGRVIgd2hlbiBm ZXRoaW5nIHRoZSByZXNldCBjb250cm9sbGVyCiAgLSB1c2UgZW5kcG9pbnQgbnVtYmVyIHRvIGRl dGVybWluZSBpbnB1dAotIFNwb3R0ZWQgYnkga2J1aWxkIHRlc3Qgcm9ib3QgPGxrcEBpbnRlbC5j b20+CiAgaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvbGludXgtYXJtLWtlcm5lbC8yMDE5MDkyMzA2 NDQucWZTS2JOZjklMjVsa3BAaW50ZWwuY29tLwogIFVzZSBzaWduZWQgcmV0dXJuIHR5cGUgZm9y IG53bF9kc2lfZ2V0X2RwaV9waXhlbF9mb3JtYXQKLSBEcm9wIGNvbm5lY3RvciB0eXBlIGZyb20g ZHJtX3BhbmVsX2JyaWRnZV9hZGQKLSBEb24ndCBmb3JnZXQgdG8gc2V0IGFuIGVycm9yIHZhbHVl IG9uIGRzaSByZWFkcwoKQ2hhbmdlcyBmcm9tIHY1OgotIFBlciByZXZpZXcgY29tbWVudHMgYnkg QW5kcnplaiBIYWpkYQogIGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL2Ry aS1kZXZlbC8yMDE5LVNlcHRlbWJlci8yMzUyODEuaHRtbAogIC0gRml4IGluY2x1ZGUgZmlsZSBv cmRlcmluZwogIC0gQWRkIGEgY29tbWVudCB0byBud2xfZHNpX3BsYXRmb3JtX2RhdGEgdGhhdCB3 aWxsIGFsbG93IHRvIGFkZCBzdXBwb3J0CiAgICBhdCBsZWFzdCBmb3IgdGhlIGkuTVg4UU0KICAt IE1lcmdlIGRyaXZlciBpbnRvIGEgc2luZ2xlIGZpbGUgcGx1cyB0aGUgcmVnaXN0ZXIgZGVmcyBp biBhIHNlcGFyYXRlIGhlYWRlcgotIE1ha2UgbW9yZSBmdW5jdGlvbnMgYW5kIHN0cnVjdHMgc3Rh dGljCgpDaGFuZ2VzIGZyb20gdjQ6Ci0gQ29sbGVjdCBSZXZpZXdlZC1ieTogZnJvbSBSb2IgSGVy cmluZywgdGhhbmtzIQogIGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL2Ry aS1kZXZlbC8yMDE5LVNlcHRlbWJlci8yMzM5NzkuaHRtbAotIFNwb3R0ZWQgYnkga2J1aWxkIHRl c3Qgcm9ib3QgPGxrcEBpbnRlbC5jb20+CiAgaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv YXJjaGl2ZXMvZHJpLWRldmVsLzIwMTktU2VwdGVtYmVyLzIzMzg2MC5odG1sCiAgaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvYXJjaGl2ZXMvZHJpLWRldmVsLzIwMTktU2VwdGVtYmVyLzIz Mzg2My5odG1sCiAgLSBmaXggZm9ybWF0IHN0cmluZyBmb3Igc2l6ZV90CiAgLSBVc2UgRElWNjRf VTY0X1JPVU5EX1VQIHRvIGZpeCBidWlsZCBvbiAzMiBiaXQgYXJjaGl0ZWN0dXJlcwogICAgV2Ug Y2FuJ3QgdXNlIHNpbXBsZSBzaGlmdCBzaW5kIGQgYW5kIG4gYXJlIHNpbWlsYXIgaW4gc2l6ZSBh bmQKICAgIHdlIG5lZWQgZnVsbCBwcmVjaXNpb24KLSBGaXggZGVidWcgY2ZnX3RfcG9zdCBkZWJ1 ZyBwcmludCBvdXQKLSBBdm9pZCBQU0VDX1BFUl9TRUMKLSBNb3ZlIHRpbWVvdXQgLyBvdmVyZmxv dyBoYW5kbGluZyBvdXQgb2YgbndsX2RzaV9maW5pc2hfdHJhbnNtaXNzaW9uLAogIGl0IHdvdWxk IG5ldmVyIGVuZCB1cCBiZWluZyByZXBvcnRlZCBzaW5jZSB0aGUgY2FsbCB0byB0aGUgZnVuY3Rp b24KICB3YXMgZ3VhcmRlZCBieSBmbGFncy4KLSBEcm9wICdzdXBwb3J0IGZvcicgZnJvbSBLQ29u ZmlnIHRpdGxlIHRvIG1ha2UgaXQgbWF0Y2ggdGhlIG90aGVyCiAgZHJpdmVycyBpbiB0aGF0IHN1 Ym1lbnUKCkNoYW5nZXMgZnJvbSB2MzoKLSBQZXIgcmV2aWV3IGNvbW1lbnRzIGJ5IFJvYmVydCBD aGlyYXMKICBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9hcmNoaXZlcy9kcmktZGV2ZWwv MjAxOS1BdWd1c3QvMjMyNTgwLmh0bWwKICAtIEFkZCBSb2JlcnQncyB7U2lnbmVkLW9mZixUZXN0 ZWR9LWJ5OgogIC0gUmVzcGVjdCBudW1iZXIgb2YgbGFuZXMgd2hlbiBjYWxjdWx0aW5nIGJhbmR3 aWR0aCBsaW1pdHMKICAtIERyb3AgZHVwbGljYXRlIE5XTF9EU0lfRU5BQkxFX01VTFRfUEtUUyBz ZXR1cAotIFBlciB0ZXN0aW5nIGJ5IFJvYmVyIENoaXJhcwogIGh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL2FyY2hpdmVzL2RyaS1kZXZlbC8yMDE5LUF1Z3VzdC8yMzM2ODguaHRtbAogIC0g RHJvcCBkdXBsaWNhdGUgKGFuZCB0b28gZWFybHkpIGRybV9icmlkZ2VfYWRkKCkgaW4gbndsX2Rp cl9wcm9iZSgpIHRoYXQKICAgIG1hZGUgbXhzZmIgZmFpbCB0byBjb25uZWN0IHRvIHRoZSBicmlk Z2Ugc2luY2UgdGhlIHBhbmVsX2JyaWRnZSB3YXMgbm90IHVwCiAgICB5ZXQuIGRybV9icmlkZ2Vf YWRkKCkgaGFwcGVucyBpbiBud2xfZHNpX2hvc3RfYXR0YWNoKCkgd2hlcmUgYWZ0ZXIgdGhlCiAg ICBwYW5lbF9icmlkZ2Ugd2FzIHNldCB1cC4KLSBQZXIgcmV2aWV3IGNvbW1lbnRzIGJ5IFJvYiBI ZXJyaW5nIG9uIGJpbmRpbmdzCiAgaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvYXJjaGl2 ZXMvZHJpLWRldmVsLzIwMTktQXVndXN0LzIzMzE5Ni5odG1sCiAgLSBkcm9wIGRlc2NyaXB0aW9u IGZyb20gcG93ZXItZG9tYWlucyBhbmQgcmVzZXRzCiAgLSBhbGxvdyBCU0QgMiBjbGF1c2UgbGlj ZW5zZSBhcyB3ZWxsCiAgLSBtYWtlIHBvcnRzIG1vcmUgc3BlY2lmaWMKICAtIGFkZCAjYWRkcmVz cy1jZWxscywgI3NpemUtY2VsbHMgYXMgcmVxdWlyZWQKICAtIHVzZSBhZGRpdGlvbmFsUHJvcGVy dGllcwogIC0gcGFuZWwgaXMgb2YgdHlwZSBvYmplY3QKCkNoYW5nZXMgZnJvbSB2MjoKLSBQZXIg cmV2aWV3IGNvbW1lbnRzIGJ5IFJvYiBIZXJyaW5nCiAgaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvYXJjaGl2ZXMvZHJpLWRldmVsLzIwMTktQXVndXN0LzIzMDQ0OC5odG1sCiAgLSBiaW5k aW5nczoKICAgIC0gU2ltcGxpZnkgYnkgcmVzdHJpY3RpbmcgdG8gZnNsLGlteDhtcS1ud2wtZHNp CiAgICAtIGRvY3VtZW50IHJlc2V0IGxpbmVzCiAgICAtIGFkZCBwb3J0QHswLDF9CiAgICAtIHVz ZSBhIHJlYWwgY29tcGF0aWJsZSBzdHJpbmcgZm9yIHRoZSBwYW5lbAogICAgLSByZXNldHMgYXJl IHJlcXVpcmVkCi0gUGVyIHJldmlldyBjb21tZW50cyBieSBBcm5kIEJlcmdtYW5uCiAgaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvYXJjaGl2ZXMvZHJpLWRldmVsLzIwMTktQXVndXN0LzIz MDg2OC5odG1sCiAgLSBEb24ndCBhY2Nlc3MgaW9tdXhjX2dwciByZWdzIGRpcmVjdGx5LiBUaGlz IGFsbG93cyB1cyB0byBkcm9wIHRoZQogICAgZmlyc3QgcGF0Y2ggaW4gdGhlIHNlcmllcyB3aXRo IHRoZSBpb211eGNfZ3ByIGZpZWxkIGRlZmluZXMuCi0gUGVyIHJldmlldyBjb21tZW50cyBieSBM YXVyZW50IFBpbmNoYXJ0CiAgRml4IHdvcmRpbmcgaW4gYmluZGluZ3MKLSBBZGQgbXV4LWNvbnRy b2xzIHRvIGJpbmRpbmdzCi0gRG9uJ3QgcHJpbnQgZXJyb3IgbWVzc2FnZSBvbiBkcGh5IHByb2Jl IGRlZmVycmFsCgpDaGFuZ2VzIGZyb20gdjE6Ci0gUGVyIHJldmlldyBjb21tZW50cyBieSBTYW0g UmF2bmJvcmcKICBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9hcmNoaXZlcy9kcmktZGV2 ZWwvMjAxOS1KdWx5LzIyODEzMC5odG1sCiAgLSBDaGFuZ2UgYmluZGluZyBkb2NzIHRvIFlBTUwK ICAtIGJ1aWxkOiBEb24ndCBhbHdheXMgdmlzaXQgaW14LW53bC8KICAtIGJ1aWxkOiBBZGQgaGVh ZGVyLXRlc3QteQogIC0gU29ydCBoZWFkZXJzIGFjY29yZGluZyB0byBEUk0gY29udmVudGlvbgog IC0gVXNlIGRybV9kaXNwbGF5X21vZGUgaW5zdGVhZCBvZiB2aWRlbW9kZQotIFBlciByZXZpZXcg Y29tbWVudHMgYnkgRmFiaW8gRXN0ZXZhbQogIGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L2FyY2hpdmVzL2RyaS1kZXZlbC8yMDE5LUp1bHkvMjI4Mjk5Lmh0bWwKICAtIERvbid0IHJlc3Ry aWN0IGJ1aWxkIHRvIEFSQ0hfTVhDCiAgLSBEcm9wIHVudXNlZCBpbmNsdWRlcwogIC0gRHJvcCB1 bnJlYWNoYWJsZSBjb2RlIGluIGlteF9ud2xfZHNpX2JyaWRnZV9tb2RlX2ZpeHVwKCkKICAtIERy b3AgcmVtYWluaW5nIGNhbGxzIG9mIGRldl9lcnIoKSBhbmQgdXNlIERSTV9ERVZfRVJSKCkKICAg IGNvbnNpc3RlbnRseS4KICAtIFVzZSBkZXZtX3BsYXRmb3JtX2lvcmVtYXBfcmVzb3VyY2UoKQog IC0gRHJvcCBkZXZtX2ZyZWVfaXJxKCkgaW4gcHJvYmUoKSBlcnJvciBwYXRoCiAgLSBVc2Ugc2lu Z2xlIGxpbmUgY29tbWVudHMgd2hlcmUgc3VmZmljaWVudAogIC0gVXNlIDxsaW51eC90aW1lNjQu aD4gaW5zdGVhZCBvZiBkZWZpbmluZyBVU0VDX1BFUl9TRUMKICAtIE1ha2UgaW5wdXQgc291cmNl IHNlbGVjdCBpbXg4IHNwZWNpZmljCiAgLSBEcm9wIDxhc20vdW5hbGlnbmVkLmg+IGluY2x1c2lv biAoYWZ0ZXIgcmVtb3ZhbCBvZiBnZXRfdW5hbGlnbmVkX2xlMzIpCiAgLSBEcm9wIGFsbCBFWFBP UlRfU1lNQk9MX0dQTCgpIGZvciBmdW5jdGlvbnMgdXNlZCBpbiB0aGUgc2FtZSBtb2R1bGUKICAg IGJ1dCBkaWZmZXJlbnQgc291cmNlIGZpbGVzLgogIC0gRHJvcCBud2xfZHNpX2VuYWJsZV97cngs dHh9X2Nsb2NrKCkgYnkgaW52b2tpbmcgY2xrX3ByZXBhcmVfZW5hYmxlKCkKICAgIGRpcmVjdGx5 CiAgLSBSZW1vdmUgcG9pbnRsZXNzIGNvbW1lbnQKLSBMYXVyZW50IFBpbmNoYXJ0CiAgaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvYXJjaGl2ZXMvZHJpLWRldmVsLzIwMTktSnVseS8yMjgz MTMuaHRtbAogIGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL2RyaS1kZXZl bC8yMDE5LUp1bHkvMjI4MzA4Lmh0bWwKICAtIERyb3AgKG9uIGlNWDhNUSkgdW51c2VkIGNzciBy ZWdtYXAKICAtIFVzZSBOV0xfTUFYX1BMQVRGT1JNX0NMT0NLUyBldmVyeXdoZXJlCiAgLSBEcm9w IGdldF91bmFsaWduZWRfbGUzMigpIHVzYWdlCiAgLSByZW1vdmUgZHVwbGljYXRlICdmb3IgdGhl JyBpbiBiaW5kaW5nIGRvY3MKICAtIERvbid0IGluY2x1ZGUgdW51c2VkIDxsaW51eC9jbGstcHJv dmlkZXIuaD4KICAtIERvbid0IGluY2x1ZGUgdW51c2VkIDxsaW51eC9jb21wb25lbnQuaD4KICAt IERyb3AgZHBtc19tb2RlIGZvciB0cmFja2luZyBzdGF0ZSwgdHJ1c3QgdGhlIGRybSBsYXllciBv biB0aGF0CiAgLSBVc2UgcG1fcnVudGltZV9wdXQoKSBpbnN0ZWFkIG9mIHBtX3J1bnRpbWVfcHV0 X3N5bmMoKQogIC0gRG9uJ3Qgb3ZlcndyaXRlIGVuY29kZXIgdHlwZQogIC0gTWFrZSBpbXhfbnds X3BsYXRmb3JtX2RhdGEgY29uc3QKICAtIFVzZSB0aGUgcmVzZXQgY29udHJvbGxlciBBUEkgaW5z dGVhZCBvZiBvcGVuIGNvZGluZyB0aGF0IHBsYXRmb3JtIHNwZWNpZmljCiAgICBwYXJ0CiAgLSBV c2UgPGxpbnV4L2JpdGZpZWxkLmg+IGludGVhZCBvZiBtYWtpbmcgdXAgb3VyIG93biBkZWZpbmVz CiAgLSBuYW1lIG1pcGlfZHNpX3RyYW5zZmVyIGxlc3MgZ2VuZXJpYzogbndsX2RzaV90cmFuc2Zl cgogIC0gZW5zdXJlIGNsZWFuIGluIC5yZW1vdmUgYnkgY2FsbGluZyBtaXBpX2RzaV9ob3N0X3Vu cmVnaXN0ZXIuCiAgLSBwcmVmaXggY29uc3RhbnRzIGJ5IE5XTF9EU0lfCiAgLSBwcm9wZXJseSBm b3JtYXQgdHJhbnNmZXJfZGlyZWN0aW9uIGVudW0KICAtIHNpbXBsaWZ5IHBsYXRmb3JtIGNsb2Nr IGhhbmRsaW5nCiAgLSBEb24ndCBtb2RpZnkgc3RhdGUgaW4gbW9kZV9maXh1cCgpIGFuZCB1c2Ug bW9kZV9zZXQoKSBpbnN0ZWFkCiAgLSBEcm9wIGJyaWRnZSBkZXRhY2goKSwgYWxyZWFkeSBoYW5k bGUgYnkgbndsX2RzaV9ob3N0X2RldGFjaCgpCiAgLSBEcm9wIFVTRV8qX1FVSVJLKCkgbWFjcm9z Ci0gRHJvcCAoZm9yIG5vdykgdW51c2VkIGNsb2NrIGRlZm5pdGlvbnMuICdwaXhlbCcgYW5kICdi eXBhc3MnIGNsb2NrIHdpbGwgYmUKICB1c2VkIGZvciBpLk1YOCBTb0NzIGJ1dCBzaW5jZSB0aGV5 J3JlIHVudXNlZCBhdG0gZHJvcCB0aGUgZGVmaW5pdGlvbnMgLSBidXQKICBrZWVwIHRoZSBsb2dp YyB0byBlbmFibGUvZGlzYWJsZSBzZXZlcmFsIGNsb2NrcyBpbiBwbGFjZSBzaW5jZSB3ZSBrbm93 IHdlJ2xsCiAgbmVlZCBpdCBpbiB0aGUgZnV0dXJlLgoKQ2hhbmdlcyBmcm9tIHYwOgotIEFkZCBx dWlyayBmb3IgSU1ROE1RIHNpbGljb24gQjAgcmV2aXNpb24gdG8gbm90IG1lc3Mgd2l0aCB0aGUK ICBzeXN0ZW0gcmVzZXQgY29udHJvbGxlciBvbiBwb3dlciBkb3duIHNpbmNlIGVuYWJsZSgpIHdv bid0IHdvcmsKICBvdGhlcndpc2UuCi0gRHJvcCBkZXZtX2ZyZWVfaXJxKCkgaGFuZGxlZCBieSB0 aGUgZGV2aWNlIGRyaXZlciBjb3JlCi0gRGlzYWJsZSB0eCBlc2MgY2xvY2sgYWZ0ZXIgdGhlIHBo eSBwb3dlciBkb3duIHRvIHVuYnJlYWsKICBkaXNhYmxlL2VuYWJsZSAodW5ibGFuay9ibGFuaykK LSBBZGQgcG9ydHMgdG8gZHQgYmluZGluZyBkb2NzCi0gU2VsZWN0IEdFTkVSSUNfUEhZX01JUElf RFBIWSBpbnN0ZWFkIG9mIEdFTkVSSUNfUEhZIGZvcgogIHBoeV9taXBpX2RwaHlfZ2V0X2RlZmF1 bHRfY29uZmlnCi0gU2VsZWN0IERSTV9NSVBJX0RTSQotIEluY2x1ZGUgZHJtX3ByaW50LmggdG8g Zml4IGJ1aWxkIG9uIG5leHQtMjAxOTA0MDgKLSBEcm9wIHNvbWUgZGVidWdnaW5nIG1lc3NhZ2Vz Ci0gTmV3bGluZSB0ZXJtaW5hdGUgYWxsIERSTV8gcHJpbnRvdXRzCi0gVHVybiBjb21wb25lbnQg ZHJpdmVyIGludG8gYSBkcm0gYnJpZGdlCgpbMF06IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL2FyY2hpdmVzL2RyaS1kZXZlbC8yMDE5LU1heS8yMTk0ODQuaHRtbApbMV06IGh0dHBzOi8v cGF0Y2h3b3JrLmZyZWVkZXNrdG9wLm9yZy9zZXJpZXMvNjI4MjIvCgpHdWlkbyBHw7xudGhlciAo Mik6CiAgZHQtYmluZGluZ3M6IGRpc3BsYXkvYnJpZGdlOiBBZGQgYmluZGluZyBmb3IgTldMIG1p cGkgZHNpIGhvc3QKICAgIGNvbnRyb2xsZXIKICBkcm0vYnJpZGdlOiBBZGQgTldMIE1JUEkgRFNJ IGhvc3QgY29udHJvbGxlciBzdXBwb3J0CgogLi4uL2JpbmRpbmdzL2Rpc3BsYXkvYnJpZGdlL253 bC1kc2kueWFtbCAgICAgIHwgIDIwMyArKysKIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2UvS2NvbmZp ZyAgICAgICAgICAgICAgICB8ICAgMTYgKwogZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9NYWtlZmls ZSAgICAgICAgICAgICAgIHwgICAgMyArCiBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL253bC1kc2ku YyAgICAgICAgICAgICAgfCAxMjM1ICsrKysrKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0v YnJpZGdlL253bC1kc2kuaCAgICAgICAgICAgICAgfCAgMTQ0ICsrCiA1IGZpbGVzIGNoYW5nZWQs IDE2MDEgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IERvY3VtZW50YXRpb24vZGV2 aWNldHJlZS9iaW5kaW5ncy9kaXNwbGF5L2JyaWRnZS9ud2wtZHNpLnlhbWwKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL253bC1kc2kuYwogY3JlYXRlIG1vZGUgMTAw NjQ0IGRyaXZlcnMvZ3B1L2RybS9icmlkZ2UvbndsLWRzaS5oCgotLSAKMi4yMy4wLnJjMQoKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1r ZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpo dHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJu ZWwK 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,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 E26AFCA9EAC for ; Sat, 19 Oct 2019 14:12:36 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id B97F221925 for ; Sat, 19 Oct 2019 14:12:36 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726061AbfJSOMc (ORCPT ); Sat, 19 Oct 2019 10:12:32 -0400 Received: from honk.sigxcpu.org ([24.134.29.49]:50878 "EHLO honk.sigxcpu.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725940AbfJSOMb (ORCPT ); Sat, 19 Oct 2019 10:12:31 -0400 Received: from localhost (localhost [127.0.0.1]) by honk.sigxcpu.org (Postfix) with ESMTP id 95724FB03; Sat, 19 Oct 2019 16:12:29 +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 0N7aD5p2lPj9; Sat, 19 Oct 2019 16:12:26 +0200 (CEST) Received: by bogon.sigxcpu.org (Postfix, from userid 1000) id E4DFD49B0C; Sat, 19 Oct 2019 16:12:25 +0200 (CEST) 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 v7 0/2] drm: bridge: Add NWL MIPI DSI host controller support Date: Sat, 19 Oct 2019 16:12:23 +0200 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: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: 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 / dcss 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-20191018. The DCSS can later on also act as input source too. Changes from v7: - Per review comments by Andrzej Hajda https://lore.kernel.org/linux-arm-kernel/c86b7ca2-7799-eafd-c380-e4b551520837@samsung.com/ - Drop spare empty line - handle nwl_dsi_write errors - better handle read errors - unwind in case of error in nwl_dsi_enable - use bridge_to_dsi() instead of accessing driver_private - don't log on -EPROBEDEFER when fething the reset controller - use endpoint number to determine input - Spotted by kbuild test robot https://lore.kernel.org/linux-arm-kernel/201909230644.qfSKbNf9%25lkp@intel.com/ Use signed return type for nwl_dsi_get_dpi_pixel_format - Drop connector type from drm_panel_bridge_add - Don't forget to set an error value on dsi reads Changes from v5: - Per review comments by Andrzej Hajda https://lists.freedesktop.org/archives/dri-devel/2019-September/235281.html - Fix include file ordering - Add a comment to nwl_dsi_platform_data that will allow to add support at least for the i.MX8QM - Merge driver into a single file plus the register defs in a separate header - Make more functions and structs static 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 | 203 +++ drivers/gpu/drm/bridge/Kconfig | 16 + drivers/gpu/drm/bridge/Makefile | 3 + drivers/gpu/drm/bridge/nwl-dsi.c | 1235 +++++++++++++++++ drivers/gpu/drm/bridge/nwl-dsi.h | 144 ++ 5 files changed, 1601 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/bridge/nwl-dsi.yaml create mode 100644 drivers/gpu/drm/bridge/nwl-dsi.c create mode 100644 drivers/gpu/drm/bridge/nwl-dsi.h -- 2.23.0.rc1 From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Guido=20G=C3=BCnther?= Subject: [PATCH v7 0/2] drm: bridge: Add NWL MIPI DSI host controller support Date: Sat, 19 Oct 2019 16:12:23 +0200 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: dri-devel@lists.freedesktop.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 / dcss 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-20191018. The DCSS can later on also act as input source too. Changes from v7: - Per review comments by Andrzej Hajda https://lore.kernel.org/linux-arm-kernel/c86b7ca2-7799-eafd-c380-e4b551520837@samsung.com/ - Drop spare empty line - handle nwl_dsi_write errors - better handle read errors - unwind in case of error in nwl_dsi_enable - use bridge_to_dsi() instead of accessing driver_private - don't log on -EPROBEDEFER when fething the reset controller - use endpoint number to determine input - Spotted by kbuild test robot https://lore.kernel.org/linux-arm-kernel/201909230644.qfSKbNf9%25lkp@intel.com/ Use signed return type for nwl_dsi_get_dpi_pixel_format - Drop connector type from drm_panel_bridge_add - Don't forget to set an error value on dsi reads Changes from v5: - Per review comments by Andrzej Hajda https://lists.freedesktop.org/archives/dri-devel/2019-September/235281.html - Fix include file ordering - Add a comment to nwl_dsi_platform_data that will allow to add support at least for the i.MX8QM - Merge driver into a single file plus the register defs in a separate header - Make more functions and structs static 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 | 203 +++ drivers/gpu/drm/bridge/Kconfig | 16 + drivers/gpu/drm/bridge/Makefile | 3 + drivers/gpu/drm/bridge/nwl-dsi.c | 1235 +++++++++++++++++ drivers/gpu/drm/bridge/nwl-dsi.h | 144 ++ 5 files changed, 1601 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/bridge/nwl-dsi.yaml create mode 100644 drivers/gpu/drm/bridge/nwl-dsi.c create mode 100644 drivers/gpu/drm/bridge/nwl-dsi.h -- 2.23.0.rc1