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 8692DC3A5A2 for ; Sun, 22 Sep 2019 16:47:50 +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 56EDF20820 for ; Sun, 22 Sep 2019 16:47:50 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="NB5kqXRH" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 56EDF20820 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=xBrliAKAOpy/Uy45bhCsX3xVJbQkGqKDnB8nfq2sMnc=; b=NB5kqXRH/zwiH9 AGhBB9+MUKLhhUP77IAfceG5axXQ/MAiJIr1v9Vaa1N2ffjOP+slHn+iy/bqd0fJ3zb7duESCvYsW KuCx0N8HT8AOaF4zNQb9HD1CFEnNzivyQ23ism8zWWLnJEc6HW4TQ7C70Vj74Ga1wyCdejlAA3sa8 kjgX6xiOMSfFS7S/AviVdvcEsfUxEKS2mifSpO8DhgSjjYR3bOqWdxueL02PufVUv8hg7wSWRBgiE YifmPPN9AnEhl+O4Q39UDElOmcPXhFu5KN5gBjxBldgNXyydOgtQKKXuUw2aH8ldz6rhQLR/kuoZC z3nvAcULmCv9KQEwgZzQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.2 #3 (Red Hat Linux)) id 1iC51S-0004R7-QL; Sun, 22 Sep 2019 16:47:43 +0000 Received: from honk.sigxcpu.org ([24.134.29.49]) by bombadil.infradead.org with esmtps (Exim 4.92.2 #3 (Red Hat Linux)) id 1iC519-0004Cd-Ck for linux-arm-kernel@lists.infradead.org; Sun, 22 Sep 2019 16:47:25 +0000 Received: from localhost (localhost [127.0.0.1]) by honk.sigxcpu.org (Postfix) with ESMTP id 6F537FB03; Sun, 22 Sep 2019 18:47:19 +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 Td5ZANlq7Bxv; Sun, 22 Sep 2019 18:47:15 +0200 (CEST) Received: by bogon.sigxcpu.org (Postfix, from userid 1000) id 22C934012D; Sun, 22 Sep 2019 09:47:12 -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 v6 0/2] drm: bridge: Add NWL MIPI DSI host controller support Date: Sun, 22 Sep 2019 09:47:10 -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-20190922_094723_753662_C104567D X-CRM114-Status: GOOD ( 25.40 ) 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 cml2ZXIgdG8gaG9vayBpbnRvIG14c2ZiIChmcm9tIHdoYXQgSSByZWFkWzBdIERDU1MsIHdoaWNo CiAgIGFsc28gY2FuIGRyaXZlIHRoZSBud2wgb24gdGhlIGlteDhtcSB3aWxsIGxpa2VseSBub3Qg YmVjb21lIHBhcnQgb2YKICAgaW14LWRpc3BsYXktc3Vic3lzdGVtIHNvIGl0IG1ha2VzIHNlbnNl IHRvIG1ha2UgaXQgZHJpdmUgYSBicmlkZ2UgZm9yIGRzaSBhcwogICB3ZWxsKS4KIC0gVXNlIHBh bmVsX2JyaWRnZSB0byBhdHRhY2ggdGhlIHBhbmVsCiAtIFVzZSBtdWx0aXBsZXggZnJhbWV3b3Jr IGluc3RlYWQgb2YgYWNjZXNzaW5nIHN5c2NvbiBkaXJlY3RseQoKVGhpcyBoYXMgYmVlbiB0ZXN0 ZWQgb24gYSBMaWJyZW0gNSBkZXZraXQgdXNpbmcgbXhzZmIgd2l0aCBSb2JlcnQncyBwYXRjaGVz WzFdCmFuZCB0aGUgcm9ja3RlY2gtamgwNTduMDA5MDAgcGFuZWwgZHJpdmVyIG9uIG5leHQtMjAx OTA4MDcuIFRoZSBEQ1NTIGNhbiBsYXRlcgpvbiBhbHNvIGFjdCBhcyBpbnB1dCBzb3VyY2UgdG9v LgoKQ2hhbmdlcyBmcm9tIHY1OgotIFBlciByZXZpZXcgY29tbWVudHMgYnkgQW5kcnplaiBIYWpk YQogIGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL2RyaS1kZXZlbC8yMDE5 LVNlcHRlbWJlci8yMzUyODEuaHRtbAogIC0gRml4IGluY2x1ZGUgZmlsZSBvcmRlcmluZwogIC0g QWRkIGEgY29tbWVudCB0byBud2xfZHNpX3BsYXRmb3JtX2RhdGEgdGhhdCB3aWxsIGFsbG93IHRv IGFkZCBzdXBwb3J0CiAgICBhdCBsZWFzdCBmb3IgdGhlIGkuTVg4UU0KICAtIE1lcmdlIGRyaXZl ciBpbnRvIGEgc2luZ2xlIGZpbGUgcGx1cyB0aGUgcmVnaXN0ZXIgZGVmcyBpbiBhIHNlcGFyYXRl IGhlYWRlcgotIE1ha2UgbW9yZSBmdW5jdGlvbnMgYW5kIHN0cnVjdHMgc3RhdGljCgpDaGFuZ2Vz IGZyb20gdjQ6Ci0gQ29sbGVjdCBSZXZpZXdlZC1ieTogZnJvbSBSb2IgSGVycmluZywgdGhhbmtz IQogIGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL2RyaS1kZXZlbC8yMDE5 LVNlcHRlbWJlci8yMzM5NzkuaHRtbAotIFNwb3R0ZWQgYnkga2J1aWxkIHRlc3Qgcm9ib3QgPGxr cEBpbnRlbC5jb20+CiAgaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvYXJjaGl2ZXMvZHJp LWRldmVsLzIwMTktU2VwdGVtYmVyLzIzMzg2MC5odG1sCiAgaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvYXJjaGl2ZXMvZHJpLWRldmVsLzIwMTktU2VwdGVtYmVyLzIzMzg2My5odG1sCiAg LSBmaXggZm9ybWF0IHN0cmluZyBmb3Igc2l6ZV90CiAgLSBVc2UgRElWNjRfVTY0X1JPVU5EX1VQ IHRvIGZpeCBidWlsZCBvbiAzMiBiaXQgYXJjaGl0ZWN0dXJlcwogICAgV2UgY2FuJ3QgdXNlIHNp bXBsZSBzaGlmdCBzaW5kIGQgYW5kIG4gYXJlIHNpbWlsYXIgaW4gc2l6ZSBhbmQKICAgIHdlIG5l ZWQgZnVsbCBwcmVjaXNpb24KLSBGaXggZGVidWcgY2ZnX3RfcG9zdCBkZWJ1ZyBwcmludCBvdXQK LSBBdm9pZCBQU0VDX1BFUl9TRUMKLSBNb3ZlIHRpbWVvdXQgLyBvdmVyZmxvdyBoYW5kbGluZyBv dXQgb2YgbndsX2RzaV9maW5pc2hfdHJhbnNtaXNzaW9uLAogIGl0IHdvdWxkIG5ldmVyIGVuZCB1 cCBiZWluZyByZXBvcnRlZCBzaW5jZSB0aGUgY2FsbCB0byB0aGUgZnVuY3Rpb24KICB3YXMgZ3Vh cmRlZCBieSBmbGFncy4KLSBEcm9wICdzdXBwb3J0IGZvcicgZnJvbSBLQ29uZmlnIHRpdGxlIHRv IG1ha2UgaXQgbWF0Y2ggdGhlIG90aGVyCiAgZHJpdmVycyBpbiB0aGF0IHN1Ym1lbnUKCkNoYW5n ZXMgZnJvbSB2MzoKLSBQZXIgcmV2aWV3IGNvbW1lbnRzIGJ5IFJvYmVydCBDaGlyYXMKICBodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9hcmNoaXZlcy9kcmktZGV2ZWwvMjAxOS1BdWd1c3Qv MjMyNTgwLmh0bWwKICAtIEFkZCBSb2JlcnQncyB7U2lnbmVkLW9mZixUZXN0ZWR9LWJ5OgogIC0g UmVzcGVjdCBudW1iZXIgb2YgbGFuZXMgd2hlbiBjYWxjdWx0aW5nIGJhbmR3aWR0aCBsaW1pdHMK ICAtIERyb3AgZHVwbGljYXRlIE5XTF9EU0lfRU5BQkxFX01VTFRfUEtUUyBzZXR1cAotIFBlciB0 ZXN0aW5nIGJ5IFJvYmVyIENoaXJhcwogIGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL2Fy Y2hpdmVzL2RyaS1kZXZlbC8yMDE5LUF1Z3VzdC8yMzM2ODguaHRtbAogIC0gRHJvcCBkdXBsaWNh dGUgKGFuZCB0b28gZWFybHkpIGRybV9icmlkZ2VfYWRkKCkgaW4gbndsX2Rpcl9wcm9iZSgpIHRo YXQKICAgIG1hZGUgbXhzZmIgZmFpbCB0byBjb25uZWN0IHRvIHRoZSBicmlkZ2Ugc2luY2UgdGhl IHBhbmVsX2JyaWRnZSB3YXMgbm90IHVwCiAgICB5ZXQuIGRybV9icmlkZ2VfYWRkKCkgaGFwcGVu cyBpbiBud2xfZHNpX2hvc3RfYXR0YWNoKCkgd2hlcmUgYWZ0ZXIgdGhlCiAgICBwYW5lbF9icmlk Z2Ugd2FzIHNldCB1cC4KLSBQZXIgcmV2aWV3IGNvbW1lbnRzIGJ5IFJvYiBIZXJyaW5nIG9uIGJp bmRpbmdzCiAgaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvYXJjaGl2ZXMvZHJpLWRldmVs LzIwMTktQXVndXN0LzIzMzE5Ni5odG1sCiAgLSBkcm9wIGRlc2NyaXB0aW9uIGZyb20gcG93ZXIt ZG9tYWlucyBhbmQgcmVzZXRzCiAgLSBhbGxvdyBCU0QgMiBjbGF1c2UgbGljZW5zZSBhcyB3ZWxs CiAgLSBtYWtlIHBvcnRzIG1vcmUgc3BlY2lmaWMKICAtIGFkZCAjYWRkcmVzcy1jZWxscywgI3Np emUtY2VsbHMgYXMgcmVxdWlyZWQKICAtIHVzZSBhZGRpdGlvbmFsUHJvcGVydGllcwogIC0gcGFu ZWwgaXMgb2YgdHlwZSBvYmplY3QKCkNoYW5nZXMgZnJvbSB2MjoKLSBQZXIgcmV2aWV3IGNvbW1l bnRzIGJ5IFJvYiBIZXJyaW5nCiAgaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvYXJjaGl2 ZXMvZHJpLWRldmVsLzIwMTktQXVndXN0LzIzMDQ0OC5odG1sCiAgLSBiaW5kaW5nczoKICAgIC0g U2ltcGxpZnkgYnkgcmVzdHJpY3RpbmcgdG8gZnNsLGlteDhtcS1ud2wtZHNpCiAgICAtIGRvY3Vt ZW50IHJlc2V0IGxpbmVzCiAgICAtIGFkZCBwb3J0QHswLDF9CiAgICAtIHVzZSBhIHJlYWwgY29t cGF0aWJsZSBzdHJpbmcgZm9yIHRoZSBwYW5lbAogICAgLSByZXNldHMgYXJlIHJlcXVpcmVkCi0g UGVyIHJldmlldyBjb21tZW50cyBieSBBcm5kIEJlcmdtYW5uCiAgaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvYXJjaGl2ZXMvZHJpLWRldmVsLzIwMTktQXVndXN0LzIzMDg2OC5odG1sCiAg LSBEb24ndCBhY2Nlc3MgaW9tdXhjX2dwciByZWdzIGRpcmVjdGx5LiBUaGlzIGFsbG93cyB1cyB0 byBkcm9wIHRoZQogICAgZmlyc3QgcGF0Y2ggaW4gdGhlIHNlcmllcyB3aXRoIHRoZSBpb211eGNf Z3ByIGZpZWxkIGRlZmluZXMuCi0gUGVyIHJldmlldyBjb21tZW50cyBieSBMYXVyZW50IFBpbmNo YXJ0CiAgRml4IHdvcmRpbmcgaW4gYmluZGluZ3MKLSBBZGQgbXV4LWNvbnRyb2xzIHRvIGJpbmRp bmdzCi0gRG9uJ3QgcHJpbnQgZXJyb3IgbWVzc2FnZSBvbiBkcGh5IHByb2JlIGRlZmVycmFsCgpD aGFuZ2VzIGZyb20gdjE6Ci0gUGVyIHJldmlldyBjb21tZW50cyBieSBTYW0gUmF2bmJvcmcKICBo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9hcmNoaXZlcy9kcmktZGV2ZWwvMjAxOS1KdWx5 LzIyODEzMC5odG1sCiAgLSBDaGFuZ2UgYmluZGluZyBkb2NzIHRvIFlBTUwKICAtIGJ1aWxkOiBE b24ndCBhbHdheXMgdmlzaXQgaW14LW53bC8KICAtIGJ1aWxkOiBBZGQgaGVhZGVyLXRlc3QteQog IC0gU29ydCBoZWFkZXJzIGFjY29yZGluZyB0byBEUk0gY29udmVudGlvbgogIC0gVXNlIGRybV9k aXNwbGF5X21vZGUgaW5zdGVhZCBvZiB2aWRlbW9kZQotIFBlciByZXZpZXcgY29tbWVudHMgYnkg RmFiaW8gRXN0ZXZhbQogIGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL2Ry aS1kZXZlbC8yMDE5LUp1bHkvMjI4Mjk5Lmh0bWwKICAtIERvbid0IHJlc3RyaWN0IGJ1aWxkIHRv IEFSQ0hfTVhDCiAgLSBEcm9wIHVudXNlZCBpbmNsdWRlcwogIC0gRHJvcCB1bnJlYWNoYWJsZSBj b2RlIGluIGlteF9ud2xfZHNpX2JyaWRnZV9tb2RlX2ZpeHVwKCkKICAtIERyb3AgcmVtYWluaW5n IGNhbGxzIG9mIGRldl9lcnIoKSBhbmQgdXNlIERSTV9ERVZfRVJSKCkKICAgIGNvbnNpc3RlbnRs eS4KICAtIFVzZSBkZXZtX3BsYXRmb3JtX2lvcmVtYXBfcmVzb3VyY2UoKQogIC0gRHJvcCBkZXZt X2ZyZWVfaXJxKCkgaW4gcHJvYmUoKSBlcnJvciBwYXRoCiAgLSBVc2Ugc2luZ2xlIGxpbmUgY29t bWVudHMgd2hlcmUgc3VmZmljaWVudAogIC0gVXNlIDxsaW51eC90aW1lNjQuaD4gaW5zdGVhZCBv ZiBkZWZpbmluZyBVU0VDX1BFUl9TRUMKICAtIE1ha2UgaW5wdXQgc291cmNlIHNlbGVjdCBpbXg4 IHNwZWNpZmljCiAgLSBEcm9wIDxhc20vdW5hbGlnbmVkLmg+IGluY2x1c2lvbiAoYWZ0ZXIgcmVt b3ZhbCBvZiBnZXRfdW5hbGlnbmVkX2xlMzIpCiAgLSBEcm9wIGFsbCBFWFBPUlRfU1lNQk9MX0dQ TCgpIGZvciBmdW5jdGlvbnMgdXNlZCBpbiB0aGUgc2FtZSBtb2R1bGUKICAgIGJ1dCBkaWZmZXJl bnQgc291cmNlIGZpbGVzLgogIC0gRHJvcCBud2xfZHNpX2VuYWJsZV97cngsdHh9X2Nsb2NrKCkg YnkgaW52b2tpbmcgY2xrX3ByZXBhcmVfZW5hYmxlKCkKICAgIGRpcmVjdGx5CiAgLSBSZW1vdmUg cG9pbnRsZXNzIGNvbW1lbnQKLSBMYXVyZW50IFBpbmNoYXJ0CiAgaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvYXJjaGl2ZXMvZHJpLWRldmVsLzIwMTktSnVseS8yMjgzMTMuaHRtbAogIGh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL2RyaS1kZXZlbC8yMDE5LUp1bHkv MjI4MzA4Lmh0bWwKICAtIERyb3AgKG9uIGlNWDhNUSkgdW51c2VkIGNzciByZWdtYXAKICAtIFVz ZSBOV0xfTUFYX1BMQVRGT1JNX0NMT0NLUyBldmVyeXdoZXJlCiAgLSBEcm9wIGdldF91bmFsaWdu ZWRfbGUzMigpIHVzYWdlCiAgLSByZW1vdmUgZHVwbGljYXRlICdmb3IgdGhlJyBpbiBiaW5kaW5n IGRvY3MKICAtIERvbid0IGluY2x1ZGUgdW51c2VkIDxsaW51eC9jbGstcHJvdmlkZXIuaD4KICAt IERvbid0IGluY2x1ZGUgdW51c2VkIDxsaW51eC9jb21wb25lbnQuaD4KICAtIERyb3AgZHBtc19t b2RlIGZvciB0cmFja2luZyBzdGF0ZSwgdHJ1c3QgdGhlIGRybSBsYXllciBvbiB0aGF0CiAgLSBV c2UgcG1fcnVudGltZV9wdXQoKSBpbnN0ZWFkIG9mIHBtX3J1bnRpbWVfcHV0X3N5bmMoKQogIC0g RG9uJ3Qgb3ZlcndyaXRlIGVuY29kZXIgdHlwZQogIC0gTWFrZSBpbXhfbndsX3BsYXRmb3JtX2Rh dGEgY29uc3QKICAtIFVzZSB0aGUgcmVzZXQgY29udHJvbGxlciBBUEkgaW5zdGVhZCBvZiBvcGVu IGNvZGluZyB0aGF0IHBsYXRmb3JtIHNwZWNpZmljCiAgICBwYXJ0CiAgLSBVc2UgPGxpbnV4L2Jp dGZpZWxkLmg+IGludGVhZCBvZiBtYWtpbmcgdXAgb3VyIG93biBkZWZpbmVzCiAgLSBuYW1lIG1p cGlfZHNpX3RyYW5zZmVyIGxlc3MgZ2VuZXJpYzogbndsX2RzaV90cmFuc2ZlcgogIC0gZW5zdXJl IGNsZWFuIGluIC5yZW1vdmUgYnkgY2FsbGluZyBtaXBpX2RzaV9ob3N0X3VucmVnaXN0ZXIuCiAg LSBwcmVmaXggY29uc3RhbnRzIGJ5IE5XTF9EU0lfCiAgLSBwcm9wZXJseSBmb3JtYXQgdHJhbnNm ZXJfZGlyZWN0aW9uIGVudW0KICAtIHNpbXBsaWZ5IHBsYXRmb3JtIGNsb2NrIGhhbmRsaW5nCiAg LSBEb24ndCBtb2RpZnkgc3RhdGUgaW4gbW9kZV9maXh1cCgpIGFuZCB1c2UgbW9kZV9zZXQoKSBp bnN0ZWFkCiAgLSBEcm9wIGJyaWRnZSBkZXRhY2goKSwgYWxyZWFkeSBoYW5kbGUgYnkgbndsX2Rz aV9ob3N0X2RldGFjaCgpCiAgLSBEcm9wIFVTRV8qX1FVSVJLKCkgbWFjcm9zCi0gRHJvcCAoZm9y IG5vdykgdW51c2VkIGNsb2NrIGRlZm5pdGlvbnMuICdwaXhlbCcgYW5kICdieXBhc3MnIGNsb2Nr IHdpbGwgYmUKICB1c2VkIGZvciBpLk1YOCBTb0NzIGJ1dCBzaW5jZSB0aGV5J3JlIHVudXNlZCBh dG0gZHJvcCB0aGUgZGVmaW5pdGlvbnMgLSBidXQKICBrZWVwIHRoZSBsb2dpYyB0byBlbmFibGUv ZGlzYWJsZSBzZXZlcmFsIGNsb2NrcyBpbiBwbGFjZSBzaW5jZSB3ZSBrbm93IHdlJ2xsCiAgbmVl ZCBpdCBpbiB0aGUgZnV0dXJlLgoKQ2hhbmdlcyBmcm9tIHYwOgotIEFkZCBxdWlyayBmb3IgSU1R OE1RIHNpbGljb24gQjAgcmV2aXNpb24gdG8gbm90IG1lc3Mgd2l0aCB0aGUKICBzeXN0ZW0gcmVz ZXQgY29udHJvbGxlciBvbiBwb3dlciBkb3duIHNpbmNlIGVuYWJsZSgpIHdvbid0IHdvcmsKICBv dGhlcndpc2UuCi0gRHJvcCBkZXZtX2ZyZWVfaXJxKCkgaGFuZGxlZCBieSB0aGUgZGV2aWNlIGRy aXZlciBjb3JlCi0gRGlzYWJsZSB0eCBlc2MgY2xvY2sgYWZ0ZXIgdGhlIHBoeSBwb3dlciBkb3du IHRvIHVuYnJlYWsKICBkaXNhYmxlL2VuYWJsZSAodW5ibGFuay9ibGFuaykKLSBBZGQgcG9ydHMg dG8gZHQgYmluZGluZyBkb2NzCi0gU2VsZWN0IEdFTkVSSUNfUEhZX01JUElfRFBIWSBpbnN0ZWFk IG9mIEdFTkVSSUNfUEhZIGZvcgogIHBoeV9taXBpX2RwaHlfZ2V0X2RlZmF1bHRfY29uZmlnCi0g U2VsZWN0IERSTV9NSVBJX0RTSQotIEluY2x1ZGUgZHJtX3ByaW50LmggdG8gZml4IGJ1aWxkIG9u IG5leHQtMjAxOTA0MDgKLSBEcm9wIHNvbWUgZGVidWdnaW5nIG1lc3NhZ2VzCi0gTmV3bGluZSB0 ZXJtaW5hdGUgYWxsIERSTV8gcHJpbnRvdXRzCi0gVHVybiBjb21wb25lbnQgZHJpdmVyIGludG8g YSBkcm0gYnJpZGdlCgpbMF06IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVz L2RyaS1kZXZlbC8yMDE5LU1heS8yMTk0ODQuaHRtbApbMV06IGh0dHBzOi8vcGF0Y2h3b3JrLmZy ZWVkZXNrdG9wLm9yZy9zZXJpZXMvNjI4MjIvCgpUbzogRGF2aWQgQWlybGllIDxhaXJsaWVkQGxp bnV4LmllPiwgRGFuaWVsIFZldHRlciA8ZGFuaWVsQGZmd2xsLmNoPiwgUm9iIEhlcnJpbmcgPHJv YmgrZHRAa2VybmVsLm9yZz4sIE1hcmsgUnV0bGFuZCA8bWFyay5ydXRsYW5kQGFybS5jb20+LCBT aGF3biBHdW8gPHNoYXduZ3VvQGtlcm5lbC5vcmc+LCBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVu Z3V0cm9uaXguZGU+LCBQZW5ndXRyb25peCBLZXJuZWwgVGVhbSA8a2VybmVsQHBlbmd1dHJvbml4 LmRlPiwgRmFiaW8gRXN0ZXZhbSA8ZmVzdGV2YW1AZ21haWwuY29tPiwgTlhQIExpbnV4IFRlYW0g PGxpbnV4LWlteEBueHAuY29tPiwgQW5kcnplaiBIYWpkYSA8YS5oYWpkYUBzYW1zdW5nLmNvbT4s IE5laWwgQXJtc3Ryb25nIDxuYXJtc3Ryb25nQGJheWxpYnJlLmNvbT4sIExhdXJlbnQgUGluY2hh cnQgPExhdXJlbnQucGluY2hhcnRAaWRlYXNvbmJvYXJkLmNvbT4sIEpvbmFzIEthcmxtYW4gPGpv bmFzQGt3aWJvby5zZT4sIEplcm5laiBTa3JhYmVjIDxqZXJuZWouc2tyYWJlY0BzaW9sLm5ldD4s IExlZSBKb25lcyA8bGVlLmpvbmVzQGxpbmFyby5vcmc+LCBHdWlkbyBHw7xudGhlciA8YWd4QHNp Z3hjcHUub3JnPiwgZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZywgZGV2aWNldHJlZUB2 Z2VyLmtlcm5lbC5vcmcsIGxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZywgbGlu dXgta2VybmVsQHZnZXIua2VybmVsLm9yZywgUm9iZXJ0IENoaXJhcyA8cm9iZXJ0LmNoaXJhc0Bu eHAuY29tPiwgU2FtIFJhdm5ib3JnIDxzYW1AcmF2bmJvcmcub3JnPiwgRmFiaW8gRXN0ZXZhbSA8 ZmVzdGV2YW1AZ21haWwuY29tPiwgQXJuZCBCZXJnbWFubiA8YXJuZEBhcm5kYi5kZT4sIEFuZHJ6 ZWogSGFqZGEgPGEuaGFqZGFAc2Ftc3VuZy5jb20+CgoKR3VpZG8gR8O8bnRoZXIgKDIpOgogIGR0 LWJpbmRpbmdzOiBkaXNwbGF5L2JyaWRnZTogQWRkIGJpbmRpbmcgZm9yIE5XTCBtaXBpIGRzaSBo b3N0CiAgICBjb250cm9sbGVyCiAgZHJtL2JyaWRnZTogQWRkIE5XTCBNSVBJIERTSSBob3N0IGNv bnRyb2xsZXIgc3VwcG9ydAoKIC4uLi9iaW5kaW5ncy9kaXNwbGF5L2JyaWRnZS9ud2wtZHNpLnlh bWwgICAgICB8ICAxNzYgKysrCiBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL0tjb25maWcgICAgICAg ICAgICAgICAgfCAgIDE2ICsKIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2UvTWFrZWZpbGUgICAgICAg ICAgICAgICB8ICAgIDMgKwogZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9ud2wtZHNpLmMgICAgICAg ICAgICAgIHwgMTE4MCArKysrKysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9u d2wtZHNpLmggICAgICAgICAgICAgIHwgIDE0NCArKwogNSBmaWxlcyBjaGFuZ2VkLCAxNTE5IGlu c2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBEb2N1bWVudGF0aW9uL2RldmljZXRyZWUv YmluZGluZ3MvZGlzcGxheS9icmlkZ2UvbndsLWRzaS55YW1sCiBjcmVhdGUgbW9kZSAxMDA2NDQg ZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9ud2wtZHNpLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2 ZXJzL2dwdS9kcm0vYnJpZGdlL253bC1kc2kuaAoKLS0gCjIuMjMuMC5yYzEKCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1h aWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xp c3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Guido=20G=C3=BCnther?= Subject: [PATCH v6 0/2] drm: bridge: Add NWL MIPI DSI host controller support Date: Sun, 22 Sep 2019 09:47:10 -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 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/ 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 , Guido Günther , dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Robert Chiras , Sam Ravnborg , Fabio Estevam , Arnd Bergmann , Andrzej Hajda 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 | 16 + drivers/gpu/drm/bridge/Makefile | 3 + drivers/gpu/drm/bridge/nwl-dsi.c | 1180 +++++++++++++++++ drivers/gpu/drm/bridge/nwl-dsi.h | 144 ++ 5 files changed, 1519 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 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.7 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 F2DB3C3A5A2 for ; Sun, 22 Sep 2019 16:47:23 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id BEE1120882 for ; Sun, 22 Sep 2019 16:47:23 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388095AbfIVQrX (ORCPT ); Sun, 22 Sep 2019 12:47:23 -0400 Received: from honk.sigxcpu.org ([24.134.29.49]:42420 "EHLO honk.sigxcpu.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2387583AbfIVQrW (ORCPT ); Sun, 22 Sep 2019 12:47:22 -0400 Received: from localhost (localhost [127.0.0.1]) by honk.sigxcpu.org (Postfix) with ESMTP id 6F537FB03; Sun, 22 Sep 2019 18:47:19 +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 Td5ZANlq7Bxv; Sun, 22 Sep 2019 18:47:15 +0200 (CEST) Received: by bogon.sigxcpu.org (Postfix, from userid 1000) id 22C934012D; Sun, 22 Sep 2019 09:47:12 -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 v6 0/2] drm: bridge: Add NWL MIPI DSI host controller support Date: Sun, 22 Sep 2019 09:47:10 -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 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/ 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 , Guido Günther , dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Robert Chiras , Sam Ravnborg , Fabio Estevam , Arnd Bergmann , Andrzej Hajda 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 | 16 + drivers/gpu/drm/bridge/Makefile | 3 + drivers/gpu/drm/bridge/nwl-dsi.c | 1180 +++++++++++++++++ drivers/gpu/drm/bridge/nwl-dsi.h | 144 ++ 5 files changed, 1519 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