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.1 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_PASS, URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 11021C43219 for ; Tue, 30 Apr 2019 14:40:40 +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 D2CB02147A for ; Tue, 30 Apr 2019 14:40:39 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="gH4SBNdr" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D2CB02147A 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=hbRk++8AoRBmU2DMQsXsxm42x2DbvtriMlHC9ZCAghU=; b=gH4SBNdrwPEBhi kACgEpwX9DRSXgumVSOvz6qyYgEJLKlu7IfdOlaHbwwbvqaX5oS6qZPhBWsDeaifGvkkiUtPR17PP zREN7DxiCOqrrX0YFv7nQbmi9cH6+eOMcn+ufHruVDPto43qB9VUfES6T/yHz6+F5ahxwvYfstQkq 2WoCB1+Wy2mTxPiRZvQiP6qSI260Yozi5F4Bs0LCWpDb1UVtQrS3aPGD/6mjgjZgQ5RAs56loPV2P YnQangKAGJzv8+CGUDpjytRuGwWvRqBMyKCF6hNRfUlvBhJv5E61CNcoNVL7gg5ejAeYpH6rVVVaS 6yRFsvqRGY3yGa1JvCpg==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1hLTvu-0004kU-4U; Tue, 30 Apr 2019 14:40:34 +0000 Received: from honk.sigxcpu.org ([24.134.29.49]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1hLTve-0004Vh-CK for linux-arm-kernel@lists.infradead.org; Tue, 30 Apr 2019 14:40:20 +0000 Received: from localhost (localhost [127.0.0.1]) by honk.sigxcpu.org (Postfix) with ESMTP id D653FFB03; Tue, 30 Apr 2019 16:40:15 +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 ZxhPMDPfx7vw; Tue, 30 Apr 2019 16:40:12 +0200 (CEST) Received: by bogon.sigxcpu.org (Postfix, from userid 1000) id 5A6FE4027E; Tue, 30 Apr 2019 16:40:11 +0200 (CEST) From: =?UTF-8?q?Guido=20G=C3=BCnther?= To: Kishon Vijay Abraham I , Rob Herring , Mark Rutland , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , Thierry Reding , =?UTF-8?q?Andreas=20F=C3=A4rber?= , Martin Blumenstingl , Heiko Stuebner , Johan Hovold , Lucas Stach , Abel Vesa , Li Jun , linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, dri-devel@lists.freedesktop.org, Robert Chiras , Sam Ravnborg , Maxime Ripard Subject: [PATCH v9 0/2] Mixel MIPI DPHY support for NXPs i.MX8 SOCs Date: Tue, 30 Apr 2019 16:40:09 +0200 Message-Id: X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190430_074018_731036_C48A96FE X-CRM114-Status: GOOD ( 14.03 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 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 VGhpcyBpcyBiYXNpY2FsbHkgYSByZXNlbmQgb2Ygdjggd2l0aCBvbmUgbWlub3IgZGVidWcgcHJp bnRrIGZpeGVkIGFuZApSb2IncyBSZXZpZXdlZC1ieSBmb3IgYmluZGluZyBkb2NzIGNvbGx0ZXRl ZC4gVGhhbmtzIFJvYiEKClRoaXMgYWRkcyBpbml0aWFsIHN1cHBvcnQgZm9yIHRoZSBNaXhlbCBJ UCBiYXNlZCBtaXBpIGRwaHkgYXMgZm91bmQgb24gaS5NWDgKcHJvY2Vzc29ycy4gIEl0IGhhcyBz dXBwb3J0IGZvciB0aGUgaS5NWDhNUSwgc3VwcG9ydCBmb3Igb3RoZXIgdmFyaWFudHMgY2FuIGJl CmFkZGVkIC0gb25jZSB0aGUgcGxhdGZvcm0gc3BlY2lmaWMgcGFydHMgYXJlIGluIC0gdmlhIHRo ZSBwcm92aWRlZCBkZXZkYXRhLgpUaGUgZHJpdmVyIGlzIHNvbWV3aGF0IGJhc2VkIG9uIHdoYXQn cyBmb3VuZCBpbiBOWFBzIEJTUC4KClB1YmxpYyBkb2N1bWVudGF0aW9uIG9uIHRoZSBEUEhZJ3Mg cmVnaXN0ZXJzIGlzIGN1cnJlbnRseSB0aGluIGluIHRoZSBpLk1YOApyZWZlcmVuY2UgbWFudWFs cyAoZXZlbiBvbiB0aGUgaS5NWDhRWFAgZm9ybSAxMS8xOCkgc28gbW9zdCBvZiB0aGUgdmFsdWVz IHdlcmUKdGFrZW4gZnJvbSBleGlzdGluZyBkcml2ZXJzLiBOZXdlciBOWFAgZHJpdmVycyBoYXZl IGEgYml0IG1vcmUgZGV0YWlscyBzbyB3aGVyZQpwb3NzaWJsZSB0aGUgdGltaW5ncyBhcmUgY2Fs Y3VsYXRlZCBhbmQgdmFsaWRhdGVkLgoKVGhpcyB3YXMgdGVzdGVkIHdpdGggYW4gaW5pdGlhbCB2 ZXJzaW9uIG9mIGEgTldMIE1JUEkgRFNJIGhvc3QKY29udHJvbGxlciBkcml2ZXIKCiAgICBodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9hcmNoaXZlcy9kcmktZGV2ZWwvMjAxOS1NYXJjaC8y MDk2ODUuaHRtbAoKYW5kIGEgZm9yd2FyZCBwb3J0ZWQgRENTUyBkcml2ZXIgb24gbGludXgtbmV4 dCAyMDE5MDQwOC4KClJvYmVydCBDaGlyYXMgKHRoZSBhdXRob3Igb2YgdGhlIGNvcnJlc3BvbmRp bmcgZHJpdmVyIGluIE5YUHMgdmVuZG9yCnRyZWUpIGdvdCB0aGlzIGRyaXZlciB0byB3b3JrIGlu IGhpcyB0cmVlIGFzIHdlbGwgdXNpbmcgbXhzZmI6CgogICAgaHR0cHM6Ly93d3cuc3Bpbmljcy5u ZXQvbGlzdHMvYXJtLWtlcm5lbC9tc2c3MTE5NTAuaHRtbAoKQ2hhbmdlcyBmcm9tIHY4CiogQ29s bGVjdCBSZXZpZXdlZC1ieSBmcm9tIFJvYiBIZXJyaW5nCiogRml4IHtocyxjbGt9X3ByZXBhcmUg dnMge2hzLGNsa31femVybyBkZWJ1ZyBwcmludCBvdXQKCkNoYW5nZXMgZnJvbSB2NwoqIEFzIHBl ciByZXZpZXcgY29tbWVudHMgZnJvbSBSb2IgSGVycmluZwogICogVXNlIGZzbCwgYXMgdmVuZG9y IHByZWZpeAogICogRHJvcCBjaGFuZ2VzIHRvIHZlbmRvci1wcmVmaXhlcy50eHQgZHVlIHRvIHRo YXQKICAqIFNob3J0ZW4gbWl4ZWxfZHBoeSB0byBkcGh5IGluIHRoZSBleGFtcGxlCiogRml4IGFu IGluZGVudGF0aW9uIGVycm9yIG5vdGljZWQgYnkgY2hlY2twYXRjaCB0aGF0IGdvdCBpbnRyb2R1 Y2VkIGluIHY2CiogVXNlIGxvd2VyY2FzZSBsZXR0ZXJzIGluIGhleCBhZGRyZXNzZXMgaW4gRFQg YmluZGluZ3MgZXhhbXBsZQoKQ2hhbmdlcyBmcm9tIHY2CiogRGVwZW5kIG9uIEhBU19JT01FTSAo Zml4ZXMgYSBidWlsZCBwcm9ibGVtIG9uIFVNIHNwb3R0ZWQgYnkga2J1aWxkKQoKQ2hhbmdlcyBm cm9tIHY1CiogRml4IGJ1aWxkIHByb2JsZW1zIG9uIG1pcHMgKHNwb3R0ZWQgYnkgdGhlIGtidWls ZCB0ZXN0IHJvYm90KSBieSB1c2luZyB1MzIKICBjb25zaXN0ZW50bHkgYW5kIGxvbmcgbG9uZyBm b3IgbHBfdC4KCkNoYW5nZXMgZnJvbSB2NAoqIEJ1aWxkIGJ5IGRlZmF1bHQgb24gQVJDSF9NWEMg JiYgQVJNNjQKCkNoYW5nZXMgZm9ybSB2MwoqIENoZWNrIGNvcnJlY3QgdmFyaWFibGUgYWZ0ZXIg ZGV2bV9pb3JlbWFwX3Jlc291cmNlCiogQWRkIFJvYmVydCBDaGlyYXMgYXMgQ28tYXV0aG9yZWQt Ynkgc2luY2UgaGUncyB0aGUgYXV0aG9yCiAgb2YgdGhlIGRyaXZlciBpbiBOWFBzIEJTUC4KCkNo YW5nZXMgZnJvbSB2MgoqIEFzIHBlciByZXZpZXcgY29tbWVudHMgZnJvbSBGYWJpbyBFc3RldmFt CiAgKiBLQ29uZmlnOiBzZWxlY3QgUkVHTUFQX01NSU8KICAqIERyb3AgcGh5X3JlYWQKICAqIERv bid0IG1ha2UgcGh5X3dyaXRlIGlubGluZQogICogUmVtb3ZlIGR1cGxpY2F0ZSBkZWJ1Z2dpbmcg b3V0cHV0CiAgKiBDb21tZW50IHN0eWxlIGFuZCB0eXBvIGZpeGVzCiAgKiBBZGQgI2RlZmluZXMn cyBmb3IgUExMIGxvY2sgdGltaW5nIHZhbHVlcwogICogUmV0dXJuIGNvcnJlY3QgZXJyb3IgdmFs dWUgd2hlbiBQTEwgZmFpbHMgdG8gbG9jawogICogQ2hlY2sgZXJyb3Igd2hlbiBlbmFibGluZyBj bG9jawogICogVXNlIGRldm1faW9yZW1hcF9yZXNvdXJjZQoqIEFzIHBlciByZXZpZXcgY29tbWVu dHMgZnJvbSBSb2JlcnQgQ2hpcmFzCiAgKiBEZWFzc2VydCBQRF9EUEhZIGFmdGVyIFBMTCBsb2Nr IChhcyBwZXIgbWl4ZWwgcmVmIG1hbnVhbCkKICAqIEFzc2VydCBQRF97RFBIWSxQTEx9IGJlZm9y ZSBwb3dlciBvbiAoYXMgcGVyIG1peGVsIHJlZiBtYW51YWwpbWFudWFsCiogQWRkIGV4aXQgcGh5 X29wIHRvIHJlc2V0IENOL0NNL0NPCgpDaGFuZ2VzIGZyb20gdjEKKiBBcyBwZXIgcmV2aWV3IGNv bW1lbnRzIGZyb20gRmFiaW8gRXN0ZXZhbQogICogS2NvbmZpZzogdHJpc3RhdGUgbWl4ZWwgZHBo eSBzdXBwb3J0LgogICogRHJvcCB1bnVzZWQgJ3JldCcgaW4gbWl4ZWxfZHBoeV9yZWZfcG93ZXJf b2ZmLgogICogTWF0Y2ggdmFsdWVzIG9mIERQSFlfUlhMe1BSUCxEUlB9IHRvIHRob3NlIG9mCiAg ICBodHRwczovL3NvdXJjZS5jb2RlYXVyb3JhLm9yZy9leHRlcm5hbC9pbXgvbGludXgtaW14L2xv Zy8/aD1pbXhfNC4xNC43OF8xLjAuMF9nYQogICAgVGhlIHByZXZpb3VzIHZhbHVlcyB3ZXJlIGJh c2VkIG9uIDQuOS4KICAqIFVzZSByZXNvdXJjZSBzaXplIG9uIGRldm1faW9yZW1hcCwgd2UgaGF2 ZSB0aGF0IGluIGR0IGFscmVhZHkuCiAgKiBVc2UgcmVnbWFwIHNvIGl0J3Mgc2ltcGxlIHRvIGR1 bXAgdGhlIHJlZ2lzdGVycy4KICAqIFVzZSByZWdtYXBfcmVhZF9wb2xsX3RpbWVvdXQgaW5zdGVh ZCBvZiBvcGVuIGNvZGVkIGxvb3AuCiAgKiBBZGQgdW5kb2N1bWVudGVkIHJ4aHNfc2V0dGxlIHJl Z2lzdGVyCiogQXMgcGVyIHJldmlldyBjb21tZW50cyBmcm9tIFNhbSBSYXZuYm9yZwogICogTW92 ZSBkcml2ZXIgdG8gZC9waHkvZnJlZXNjYWxlLwogICogTW92ZSBTUERYLUxpY2Vuc2UtSWRlbnRp ZmllciB0byB0b3Agb2YgZmlsZS4KICAqIERyb3AgJy8qICNkZWZpbmUgREVCVUcgMSAqLycuCiAg KiBVc2UgR1BMLTIuMCsgc2luY2UgdGhlIHZlbmRvciBkcml2ZXIgdXNlcyB0aGF0IGFzIHdlbGwu CiAgKiBEcm9wIHRoZSBtdXRleCwgcmVnaXN0ZXIgYWNjZXNzIGlzIG5vdyBwcm90ZWN0ZWQgYnkg cmVnbWFwLgogICogRml4IHZhcmlvdXMgc3R5bGUgLyBpbmRlbnRhdGlvbiBpc3N1ZXMuCiogQ2hl Y2sgZm9yIHJlZ2lzdGVyIHJlYWQsIHdyaXRlIGFuZCBpb3JlbWFwIGVycm9ycwoqIEltcHJvdmUg cGh5IHRpbWluZyBjYWxjdWxhdGlvbnMKICAqIFVzZSBMUCBjbG9jayByYXRlIHdoZXJlIHNlbnNp YmxlLCBjaGVjayBmb3IgZXJyb3JzCiAgKiBVc2UgYWQgaG9jIGZvcnVtdWxhcyBmb3IgdGltaW5n cyBpbnZvbHZpbmcgaHMgY2xvY2sKKiBTd2l0Y2ggZnJvbSBkcGh5X29wcyB0byBkZXZkYXRhLiBP dGhlciBpLk1YOCB2YXJpYW50cwogIGRpZmZlciBpbiByZWdpc3RlciBsYXlvdXQgdG9vCiogQWRk IE1peGVsIEluYyB0byB2ZW5kb3ItcHJlZml4ZXMudHh0CgpUbzogS2lzaG9uIFZpamF5IEFicmFo YW0gSSA8a2lzaG9uQHRpLmNvbT4sUm9iIEhlcnJpbmcgPHJvYmgrZHRAa2VybmVsLm9yZz4sTWFy ayBSdXRsYW5kIDxtYXJrLnJ1dGxhbmRAYXJtLmNvbT4sU2hhd24gR3VvIDxzaGF3bmd1b0BrZXJu ZWwub3JnPixTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LFBlbmd1dHJvbml4 IEtlcm5lbCBUZWFtIDxrZXJuZWxAcGVuZ3V0cm9uaXguZGU+LEZhYmlvIEVzdGV2YW0gPGZlc3Rl dmFtQGdtYWlsLmNvbT4sTlhQIExpbnV4IFRlYW0gPGxpbnV4LWlteEBueHAuY29tPixUaGllcnJ5 IFJlZGluZyA8dHJlZGluZ0BudmlkaWEuY29tPiwiQW5kcmVhcyBGw6RyYmVyIiA8YWZhZXJiZXJA c3VzZS5kZT4sTWFydGluIEJsdW1lbnN0aW5nbCA8bWFydGluLmJsdW1lbnN0aW5nbEBnb29nbGVt YWlsLmNvbT4sSGVpa28gU3R1ZWJuZXIgPGhlaWtvQHNudGVjaC5kZT4sSm9oYW4gSG92b2xkIDxq b2hhbkBrZXJuZWwub3JnPixMdWNhcyBTdGFjaCA8bC5zdGFjaEBwZW5ndXRyb25peC5kZT4sQWJl bCBWZXNhIDxhYmVsLnZlc2FAbnhwLmNvbT4sTGkgSnVuIDxqdW4ubGlAbnhwLmNvbT4sbGludXgt a2VybmVsQHZnZXIua2VybmVsLm9yZyxkZXZpY2V0cmVlQHZnZXIua2VybmVsLm9yZyxsaW51eC1h cm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcsZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9w Lm9yZyxSb2JlcnQgQ2hpcmFzIDxyb2JlcnQuY2hpcmFzQG54cC5jb20+LFNhbSBSYXZuYm9yZyA8 c2FtQHJhdm5ib3JnLm9yZz4sTWF4aW1lIFJpcGFyZCA8bWF4aW1lLnJpcGFyZEBib290bGluLmNv bT4KCgpHdWlkbyBHw7xudGhlciAoMik6CiAgZHQtYmluZGluZ3M6IHBoeTogQWRkIGRvY3VtZW50 YXRpb24gZm9yIG1peGVsIGRwaHkKICBwaHk6IEFkZCBkcml2ZXIgZm9yIG1peGVsIG1pcGkgZHBo eSBmb3VuZCBvbiBOWFAncyBpLk1YOCBTb0NzCgogLi4uL2JpbmRpbmdzL3BoeS9taXhlbCxtaXBp LWRzaS1waHkudHh0ICAgICAgIHwgIDI5ICsKIGRyaXZlcnMvcGh5L2ZyZWVzY2FsZS9LY29uZmln ICAgICAgICAgICAgICAgICB8ICAxMSArCiBkcml2ZXJzL3BoeS9mcmVlc2NhbGUvTWFrZWZpbGUg ICAgICAgICAgICAgICAgfCAgIDEgKwogLi4uL3BoeS9mcmVlc2NhbGUvcGh5LWZzbC1pbXg4LW1p cGktZHBoeS5jICAgIHwgNTA2ICsrKysrKysrKysrKysrKysrKwogNCBmaWxlcyBjaGFuZ2VkLCA1 NDcgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IERvY3VtZW50YXRpb24vZGV2aWNl dHJlZS9iaW5kaW5ncy9waHkvbWl4ZWwsbWlwaS1kc2ktcGh5LnR4dAogY3JlYXRlIG1vZGUgMTAw NjQ0IGRyaXZlcnMvcGh5L2ZyZWVzY2FsZS9waHktZnNsLWlteDgtbWlwaS1kcGh5LmMKCi0tIAoy LjIwLjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwps aW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJh ZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51 eC1hcm0ta2VybmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Guido=20G=C3=BCnther?= Subject: [PATCH v9 0/2] Mixel MIPI DPHY support for NXPs i.MX8 SOCs Date: Tue, 30 Apr 2019 16:40:09 +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: Kishon Vijay Abraham I , Rob Herring , Mark Rutland , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , Thierry Reding , =?UTF-8?q?Andreas=20F=C3=A4rber?= , Martin Blumenstingl , Heiko Stuebner , Johan Hovold , Lucas Stach , Abel Vesa , Li Jun , linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, dri-devel@lists.freedesktop.org, Robert List-Id: devicetree@vger.kernel.org This is basically a resend of v8 with one minor debug printk fixed and Rob's Reviewed-by for binding docs collteted. Thanks Rob! This adds initial support for the Mixel IP based mipi dphy as found on i.MX8 processors. It has support for the i.MX8MQ, support for other variants can be added - once the platform specific parts are in - via the provided devdata. The driver is somewhat based on what's found in NXPs BSP. Public documentation on the DPHY's registers is currently thin in the i.MX8 reference manuals (even on the i.MX8QXP form 11/18) so most of the values were taken from existing drivers. Newer NXP drivers have a bit more details so where possible the timings are calculated and validated. This was tested with an initial version of a NWL MIPI DSI host controller driver https://lists.freedesktop.org/archives/dri-devel/2019-March/209685.html and a forward ported DCSS driver on linux-next 20190408. Robert Chiras (the author of the corresponding driver in NXPs vendor tree) got this driver to work in his tree as well using mxsfb: https://www.spinics.net/lists/arm-kernel/msg711950.html Changes from v8 * Collect Reviewed-by from Rob Herring * Fix {hs,clk}_prepare vs {hs,clk}_zero debug print out Changes from v7 * As per review comments from Rob Herring * Use fsl, as vendor prefix * Drop changes to vendor-prefixes.txt due to that * Shorten mixel_dphy to dphy in the example * Fix an indentation error noticed by checkpatch that got introduced in v6 * Use lowercase letters in hex addresses in DT bindings example Changes from v6 * Depend on HAS_IOMEM (fixes a build problem on UM spotted by kbuild) Changes from v5 * Fix build problems on mips (spotted by the kbuild test robot) by using u32 consistently and long long for lp_t. Changes from v4 * Build by default on ARCH_MXC && ARM64 Changes form v3 * Check correct variable after devm_ioremap_resource * Add Robert Chiras as Co-authored-by since he's the author of the driver in NXPs BSP. Changes from v2 * As per review comments from Fabio Estevam * KConfig: select REGMAP_MMIO * Drop phy_read * Don't make phy_write inline * Remove duplicate debugging output * Comment style and typo fixes * Add #defines's for PLL lock timing values * Return correct error value when PLL fails to lock * Check error when enabling clock * Use devm_ioremap_resource * As per review comments from Robert Chiras * Deassert PD_DPHY after PLL lock (as per mixel ref manual) * Assert PD_{DPHY,PLL} before power on (as per mixel ref manual)manual * Add exit phy_op to reset CN/CM/CO Changes from v1 * As per review comments from Fabio Estevam * Kconfig: tristate mixel dphy support. * Drop unused 'ret' in mixel_dphy_ref_power_off. * Match values of DPHY_RXL{PRP,DRP} to those of https://source.codeaurora.org/external/imx/linux-imx/log/?h=imx_4.14.78_1.0.0_ga The previous values were based on 4.9. * Use resource size on devm_ioremap, we have that in dt already. * Use regmap so it's simple to dump the registers. * Use regmap_read_poll_timeout instead of open coded loop. * Add undocumented rxhs_settle register * As per review comments from Sam Ravnborg * Move driver to d/phy/freescale/ * Move SPDX-License-Identifier to top of file. * Drop '/* #define DEBUG 1 */'. * Use GPL-2.0+ since the vendor driver uses that as well. * Drop the mutex, register access is now protected by regmap. * Fix various style / indentation issues. * Check for register read, write and ioremap errors * Improve phy timing calculations * Use LP clock rate where sensible, check for errors * Use ad hoc forumulas for timings involving hs clock * Switch from dphy_ops to devdata. Other i.MX8 variants differ in register layout too * Add Mixel Inc to vendor-prefixes.txt To: Kishon Vijay Abraham I ,Rob Herring ,Mark Rutland ,Shawn Guo ,Sascha Hauer ,Pengutronix Kernel Team ,Fabio Estevam ,NXP Linux Team ,Thierry Reding ,"Andreas Färber" ,Martin Blumenstingl ,Heiko Stuebner ,Johan Hovold ,Lucas Stach ,Abel Vesa ,Li Jun ,linux-kernel@vger.kernel.org,devicetree@vger.kernel.org,linux-arm-kernel@lists.infradead.org,dri-devel@lists.freedesktop.org,Robert Chiras ,Sam Ravnborg ,Maxime Ripard Guido Günther (2): dt-bindings: phy: Add documentation for mixel dphy phy: Add driver for mixel mipi dphy found on NXP's i.MX8 SoCs .../bindings/phy/mixel,mipi-dsi-phy.txt | 29 + drivers/phy/freescale/Kconfig | 11 + drivers/phy/freescale/Makefile | 1 + .../phy/freescale/phy-fsl-imx8-mipi-dphy.c | 506 ++++++++++++++++++ 4 files changed, 547 insertions(+) create mode 100644 Documentation/devicetree/bindings/phy/mixel,mipi-dsi-phy.txt create mode 100644 drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c -- 2.20.1 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.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 93859C46470 for ; Tue, 30 Apr 2019 14:40:24 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 5F10521734 for ; Tue, 30 Apr 2019 14:40:24 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727936AbfD3OkX (ORCPT ); Tue, 30 Apr 2019 10:40:23 -0400 Received: from honk.sigxcpu.org ([24.134.29.49]:46698 "EHLO honk.sigxcpu.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727107AbfD3OkU (ORCPT ); Tue, 30 Apr 2019 10:40:20 -0400 Received: from localhost (localhost [127.0.0.1]) by honk.sigxcpu.org (Postfix) with ESMTP id D653FFB03; Tue, 30 Apr 2019 16:40:15 +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 ZxhPMDPfx7vw; Tue, 30 Apr 2019 16:40:12 +0200 (CEST) Received: by bogon.sigxcpu.org (Postfix, from userid 1000) id 5A6FE4027E; Tue, 30 Apr 2019 16:40:11 +0200 (CEST) From: =?UTF-8?q?Guido=20G=C3=BCnther?= To: Kishon Vijay Abraham I , Rob Herring , Mark Rutland , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , Thierry Reding , =?UTF-8?q?Andreas=20F=C3=A4rber?= , Martin Blumenstingl , Heiko Stuebner , Johan Hovold , Lucas Stach , Abel Vesa , Li Jun , linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, dri-devel@lists.freedesktop.org, Robert Chiras , Sam Ravnborg , Maxime Ripard Subject: [PATCH v9 0/2] Mixel MIPI DPHY support for NXPs i.MX8 SOCs Date: Tue, 30 Apr 2019 16:40:09 +0200 Message-Id: X-Mailer: git-send-email 2.20.1 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 is basically a resend of v8 with one minor debug printk fixed and Rob's Reviewed-by for binding docs collteted. Thanks Rob! This adds initial support for the Mixel IP based mipi dphy as found on i.MX8 processors. It has support for the i.MX8MQ, support for other variants can be added - once the platform specific parts are in - via the provided devdata. The driver is somewhat based on what's found in NXPs BSP. Public documentation on the DPHY's registers is currently thin in the i.MX8 reference manuals (even on the i.MX8QXP form 11/18) so most of the values were taken from existing drivers. Newer NXP drivers have a bit more details so where possible the timings are calculated and validated. This was tested with an initial version of a NWL MIPI DSI host controller driver https://lists.freedesktop.org/archives/dri-devel/2019-March/209685.html and a forward ported DCSS driver on linux-next 20190408. Robert Chiras (the author of the corresponding driver in NXPs vendor tree) got this driver to work in his tree as well using mxsfb: https://www.spinics.net/lists/arm-kernel/msg711950.html Changes from v8 * Collect Reviewed-by from Rob Herring * Fix {hs,clk}_prepare vs {hs,clk}_zero debug print out Changes from v7 * As per review comments from Rob Herring * Use fsl, as vendor prefix * Drop changes to vendor-prefixes.txt due to that * Shorten mixel_dphy to dphy in the example * Fix an indentation error noticed by checkpatch that got introduced in v6 * Use lowercase letters in hex addresses in DT bindings example Changes from v6 * Depend on HAS_IOMEM (fixes a build problem on UM spotted by kbuild) Changes from v5 * Fix build problems on mips (spotted by the kbuild test robot) by using u32 consistently and long long for lp_t. Changes from v4 * Build by default on ARCH_MXC && ARM64 Changes form v3 * Check correct variable after devm_ioremap_resource * Add Robert Chiras as Co-authored-by since he's the author of the driver in NXPs BSP. Changes from v2 * As per review comments from Fabio Estevam * KConfig: select REGMAP_MMIO * Drop phy_read * Don't make phy_write inline * Remove duplicate debugging output * Comment style and typo fixes * Add #defines's for PLL lock timing values * Return correct error value when PLL fails to lock * Check error when enabling clock * Use devm_ioremap_resource * As per review comments from Robert Chiras * Deassert PD_DPHY after PLL lock (as per mixel ref manual) * Assert PD_{DPHY,PLL} before power on (as per mixel ref manual)manual * Add exit phy_op to reset CN/CM/CO Changes from v1 * As per review comments from Fabio Estevam * Kconfig: tristate mixel dphy support. * Drop unused 'ret' in mixel_dphy_ref_power_off. * Match values of DPHY_RXL{PRP,DRP} to those of https://source.codeaurora.org/external/imx/linux-imx/log/?h=imx_4.14.78_1.0.0_ga The previous values were based on 4.9. * Use resource size on devm_ioremap, we have that in dt already. * Use regmap so it's simple to dump the registers. * Use regmap_read_poll_timeout instead of open coded loop. * Add undocumented rxhs_settle register * As per review comments from Sam Ravnborg * Move driver to d/phy/freescale/ * Move SPDX-License-Identifier to top of file. * Drop '/* #define DEBUG 1 */'. * Use GPL-2.0+ since the vendor driver uses that as well. * Drop the mutex, register access is now protected by regmap. * Fix various style / indentation issues. * Check for register read, write and ioremap errors * Improve phy timing calculations * Use LP clock rate where sensible, check for errors * Use ad hoc forumulas for timings involving hs clock * Switch from dphy_ops to devdata. Other i.MX8 variants differ in register layout too * Add Mixel Inc to vendor-prefixes.txt To: Kishon Vijay Abraham I ,Rob Herring ,Mark Rutland ,Shawn Guo ,Sascha Hauer ,Pengutronix Kernel Team ,Fabio Estevam ,NXP Linux Team ,Thierry Reding ,"Andreas Färber" ,Martin Blumenstingl ,Heiko Stuebner ,Johan Hovold ,Lucas Stach ,Abel Vesa ,Li Jun ,linux-kernel@vger.kernel.org,devicetree@vger.kernel.org,linux-arm-kernel@lists.infradead.org,dri-devel@lists.freedesktop.org,Robert Chiras ,Sam Ravnborg ,Maxime Ripard Guido Günther (2): dt-bindings: phy: Add documentation for mixel dphy phy: Add driver for mixel mipi dphy found on NXP's i.MX8 SoCs .../bindings/phy/mixel,mipi-dsi-phy.txt | 29 + drivers/phy/freescale/Kconfig | 11 + drivers/phy/freescale/Makefile | 1 + .../phy/freescale/phy-fsl-imx8-mipi-dphy.c | 506 ++++++++++++++++++ 4 files changed, 547 insertions(+) create mode 100644 Documentation/devicetree/bindings/phy/mixel,mipi-dsi-phy.txt create mode 100644 drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c -- 2.20.1