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=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 331FDC4360F for ; Wed, 27 Mar 2019 08:20:25 +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 EC8582075D for ; Wed, 27 Mar 2019 08:20:24 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="AvlgtiQl" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org EC8582075D 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=pQ1tFQ6V4/qe4M7HEimIjutF0vc/qfVgM7ATkAdEv1Q=; b=AvlgtiQlDkxEHP zhrpc+zFlxr3EUbv21tXm2o0wpktGgrP75CgvF47BQX259DfsKRqLnfZNfgyPSoD0e+RPcHfqfd1O LOXYwJXE153Jbjoz3WHg/fH6x8elRlyivUL5hMg58HXZC6+rr4pjyGXImyVwcw8pEdhvrkiMKiEbs nyMSSlZWR0pXHDLdQRGYq4JZQvrTTvSWAHfrEOMdBii7Mtk3IJmFW7+TV55JywB6WoUuGSHvZDIWt n4bHT9F32F5pBQsdJ34977MyjwPLJ2cQDS8CgLcJAF3MBlBv1Zu2mG4u70m4kFzUfbsk14ijDuKBL K5DFL8Lz6c61gfa0kU9A==; 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 1h93nI-0000SO-Iv; Wed, 27 Mar 2019 08:20:20 +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 1h93n8-0000IQ-J6 for linux-arm-kernel@lists.infradead.org; Wed, 27 Mar 2019 08:20:12 +0000 Received: from localhost (localhost [127.0.0.1]) by honk.sigxcpu.org (Postfix) with ESMTP id E6CC4FB03; Wed, 27 Mar 2019 09:20:06 +0100 (CET) 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 7-Og7V_EOKu8; Wed, 27 Mar 2019 09:20:02 +0100 (CET) Received: by bogon.sigxcpu.org (Postfix, from userid 1000) id DBDD042B0F; Wed, 27 Mar 2019 09:20:01 +0100 (CET) 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 RESEND v7 0/3] Mixel DPHY support for i.MX8 Date: Wed, 27 Mar 2019 09:19:58 +0100 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-20190327_012010_946436_00AB6AE5 X-CRM114-Status: GOOD ( 13.82 ) 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 Um9iIEhlcnJpbmcgcG9pbnRlZCBvdXQgdGhhdCBJIGhhZCB0aGUgbWFpbGluZyBsaXN0cyB3cm9u Zy4gU28gdGhpcyBpcyBhCnJlc2VuZCBvZiB2NyB3aXRoIHRoZSBmdWxsIGxpc3QgZnJvbSBnZXRf bWFpbnRhaW5lcnMgYWRkZWQuCgpUaGlzIGFkZHMgaW5pdGlhbCBzdXBwb3J0IGZvciB0aGUgTWl4 ZWwgSVAgYmFzZWQgbWlwaSBkcGh5IGFzIGZvdW5kIG9uIGkuTVg4CnByb2Nlc3NvcnMuICBJdCBo YXMgc3VwcG9ydCBmb3IgdGhlIGkuTVg4TVEsIHN1cHBvcnQgZm9yIG90aGVyIHZhcmlhbnRzIGNh biBiZQphZGRlZCAtIG9uY2UgdGhlIHBsYXRmb3JtIHNwZWNpZmljIHBhcnRzIGFyZSBpbiAtIHZp YSB0aGUgcHJvdmlkZWQgZGV2ZGF0YS4KVGhlIGRyaXZlciBpcyBzb21ld2hhdCBiYXNlZCBvbiB3 aGF0J3MgZm91bmQgaW4gTlhQcyBCU1AuCgpQdWJsaWMgZG9jdW1lbnRhdGlvbiBvbiB0aGUgRFBI WSdzIHJlZ2lzdGVycyBpcyBjdXJyZW50bHkgdGhpbiBpbiB0aGUgaS5NWDgKcmVmZXJlbmNlIG1h bnVhbHMgKGV2ZW4gb24gdGhlIGkuTVg4UVhQIGZvcm0gMTEvMTgpIHNvIG1vc3Qgb2YgdGhlIHZh bHVlcyB3ZXJlCnRha2VuIGZyb20gZXhpc3RpbmcgZHJpdmVycy4gTmV3ZXIgTlhQIGRyaXZlcnMg aGF2ZSBhIGJpdCBtb3JlIGRldGFpbHMgc28gd2hlcmUKcG9zc2libGUgdGhlIHRpbWluZ3MgYXJl IGNhbGN1bGF0ZWQgYW5kIHZhbGlkYXRlZC4KCkkndmUgYWxzbyBzZW50IG91dCBhbiBpbml0aWFs IHZlcnNpb24gb2YgYSBOV0wgbWlwaSBkc2kgaG9zdCBjb250cm9sbGVyIGRyaXZlcgp1c2luZyB0 aGlzOgoKICAgIGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL2RyaS1kZXZl bC8yMDE5LU1hcmNoLzIwOTY4NS5odG1sCgpSb2JlcnQgQ2hpcmFzICh0aGUgYXV0aG9yIG9mIHRo ZSBjb3JyZXNwb25kaW5nIGRyaXZlciBpbiBOWFBzIHZlbmRvciB0cmVlKSBnb3QKdGhpcyBkcml2 ZXIgdG8gd29yayBpbiBoaXMgdHJlZSBhcyB3ZWxsOgoKICAgIGh0dHBzOi8vd3d3LnNwaW5pY3Mu bmV0L2xpc3RzL2FybS1rZXJuZWwvbXNnNzExOTUwLmh0bWwKCkNoYWdlcyBmcm9tIHY2CiogRGVw ZW5kIG9uIEhBU19JT01FTSAoZml4ZXMgYSBidWlsZCBwcm9ibGVtIG9uIFVNIHNwb3R0ZWQgYnkg a2J1aWxkKQoKQ2hhZ2VzIGZyb20gdjUKKiBGaXggYnVpbGQgcHJvYmxlbXMgb24gbWlwcyAoc3Bv dHRlZCBieSB0aGUga2J1aWxkIHRlc3Qgcm9ib3QpIGJ5IHVzaW5nIHUzMgogIGNvbnNpc3RlbnRs eSBhbmQgbG9uZyBsb25nIGZvciBscF90LgoKQ2hhbmdlcyBmcm9tIHY0CiogQnVpbGQgYnkgZGVm YXVsdCBvbiBBUkNIX01YQyAmJiBBUk02NAoKQ2hhbmdlcyBmb3JtIHYzCiogQ2hlY2sgY29ycmVj dCB2YXJpYWJsZSBhZnRlciBkZXZtX2lvcmVtYXBfcmVzb3VyY2UKKiBBZGQgUm9iZXJ0IENoaXJh cyBhcyBDby1hdXRob3JlZC1ieSBzaW5jZSBoZSdzIHRoZSBhdXRob3IKICBvZiB0aGUgZHJpdmVy IGluIE5YUHMgQlNQLgoKQ2hhbmdlcyBmcm9tIHYyCiogQXMgcGVyIHJldmlldyBjb21tZW50cyBm cm9tIEZhYmlvIEVzdGV2YW0KICAqIEtDb25maWc6IHNlbGVjdCBSRUdNQVBfTU1JTwogICogRHJv cCBwaHlfcmVhZAogICogRG9uJ3QgbWFrZSBwaHlfd3JpdGUgaW5saW5lCiAgKiBSZW1vdmUgZHVw bGljYXRlIGRlYnVnZ2luZyBvdXRwdXQKICAqIENvbW1lbnQgc3R5bGUgYW5kIHR5cG8gZml4ZXMK ICAqIEFkZCAjZGVmaW5lcydzIGZvciBQTEwgbG9jayB0aW1pbmcgdmFsdWVzCiAgKiBSZXR1cm4g Y29ycmVjdCBlcnJvciB2YWx1ZSB3aGVuIFBMTCBmYWlscyB0byBsb2NrCiAgKiBDaGVjayBlcnJv ciB3aGVuIGVuYWJsaW5nIGNsb2NrCiAgKiBVc2UgZGV2bV9pb3JlbWFwX3Jlc291cmNlCiogQXMg cGVyIHJldmlldyBjb21tZW50cyBmcm9tIFJvYmVydCBDaGlyYXMKICAqIERlYXNzZXJ0IFBEX0RQ SFkgYWZ0ZXIgUExMIGxvY2sgKGFzIHBlciBtaXhlbCByZWYgbWFudWFsKQogICogQXNzZXJ0IFBE X3tEUEhZLFBMTH0gYmVmb3JlIHBvd2VyIG9uIChhcyBwZXIgbWl4ZWwgcmVmIG1hbnVhbCltYW51 YWwKKiBBZGQgZXhpdCBwaHlfb3AgdG8gcmVzZXQgQ04vQ00vQ08KCkNoYW5nZXMgZnJvbSB2MQoq IEFzIHBlciByZXZpZXcgY29tbWVudHMgZnJvbSBGYWJpbyBFc3RldmFtCiAgKiBLY29uZmlnOiB0 cmlzdGF0ZSBtaXhlbCBkcGh5IHN1cHBvcnQuCiAgKiBEcm9wIHVudXNlZCAncmV0JyBpbiBtaXhl bF9kcGh5X3JlZl9wb3dlcl9vZmYuCiAgKiBNYXRjaCB2YWx1ZXMgb2YgRFBIWV9SWEx7UFJQLERS UH0gdG8gdGhvc2Ugb2YKICAgIGh0dHBzOi8vc291cmNlLmNvZGVhdXJvcmEub3JnL2V4dGVybmFs L2lteC9saW51eC1pbXgvbG9nLz9oPWlteF80LjE0Ljc4XzEuMC4wX2dhCiAgICBUaGUgcHJldmlv dXMgdmFsdWVzIHdlcmUgYmFzZWQgb24gNC45LgogICogVXNlIHJlc291cmNlIHNpemUgb24gZGV2 bV9pb3JlbWFwLCB3ZSBoYXZlIHRoYXQgaW4gZHQgYWxyZWFkeS4KICAqIFVzZSByZWdtYXAgc28g aXQncyBzaW1wbGUgdG8gZHVtcCB0aGUgcmVnaXN0ZXJzLgogICogVXNlIHJlZ21hcF9yZWFkX3Bv bGxfdGltZW91dCBpbnN0ZWFkIG9mIG9wZW4gY29kZWQgbG9vcC4KICAqIEFkZCB1bmRvY3VtZW50 ZWQgcnhoc19zZXR0bGUgcmVnaXN0ZXIKKiBBcyBwZXIgcmV2aWV3IGNvbW1lbnRzIGZyb20gU2Ft IFJhdm5ib3JnCiAgKiBNb3ZlIGRyaXZlciB0byBkL3BoeS9mcmVlc2NhbGUvCiAgKiBNb3ZlIFNQ RFgtTGljZW5zZS1JZGVudGlmaWVyIHRvIHRvcCBvZiBmaWxlLgogICogRHJvcCAnLyogI2RlZmlu ZSBERUJVRyAxICovJy4KICAqIFVzZSBHUEwtMi4wKyBzaW5jZSB0aGUgdmVuZG9yIGRyaXZlciB1 c2VzIHRoYXQgYXMgd2VsbC4KICAqIERyb3AgdGhlIG11dGV4LCByZWdpc3RlciBhY2Nlc3MgaXMg bm93IHByb3RlY3RlZCBieSByZWdtYXAuCiAgKiBGaXggdmFyaW91cyBzdHlsZSAvIGluZGVudGF0 aW9uIGlzc3Vlcy4KKiBDaGVjayBmb3IgcmVnaXN0ZXIgcmVhZCwgd3JpdGUgYW5kIGlvcmVtYXAg ZXJyb3JzCiogSW1wcm92ZSBwaHkgdGltaW5nIGNhbGN1bGF0aW9ucwogICogVXNlIExQIGNsb2Nr IHJhdGUgd2hlcmUgc2Vuc2libGUsIGNoZWNrIGZvciBlcnJvcnMKICAqIFVzZSBhZCBob2MgZm9y dW11bGFzIGZvciB0aW1pbmdzIGludm9sdmluZyBocyBjbG9jawoqIFN3aXRjaCBmcm9tIGRwaHlf b3BzIHRvIGRldmRhdGEuIE90aGVyIGkuTVg4IHZhcmlhbnRzCiAgZGlmZmVyIGluIHJlZ2lzdGVy IGxheW91dCB0b28KKiBBZGQgTWl4ZWwgSW5jIHRvIHZlbmRvci1wcmVmaXhlcy50eHQKClRvOiBL aXNob24gVmlqYXkgQWJyYWhhbSBJIDxraXNob25AdGkuY29tPixSb2IgSGVycmluZyA8cm9iaCtk dEBrZXJuZWwub3JnPixNYXJrIFJ1dGxhbmQgPG1hcmsucnV0bGFuZEBhcm0uY29tPixTaGF3biBH dW8gPHNoYXduZ3VvQGtlcm5lbC5vcmc+LFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25p eC5kZT4sUGVuZ3V0cm9uaXggS2VybmVsIFRlYW0gPGtlcm5lbEBwZW5ndXRyb25peC5kZT4sRmFi aW8gRXN0ZXZhbSA8ZmVzdGV2YW1AZ21haWwuY29tPixOWFAgTGludXggVGVhbSA8bGludXgtaW14 QG54cC5jb20+LFRoaWVycnkgUmVkaW5nIDx0cmVkaW5nQG52aWRpYS5jb20+LCJBbmRyZWFzIEbD pHJiZXIiIDxhZmFlcmJlckBzdXNlLmRlPixNYXJ0aW4gQmx1bWVuc3RpbmdsIDxtYXJ0aW4uYmx1 bWVuc3RpbmdsQGdvb2dsZW1haWwuY29tPixIZWlrbyBTdHVlYm5lciA8aGVpa29Ac250ZWNoLmRl PixKb2hhbiBIb3ZvbGQgPGpvaGFuQGtlcm5lbC5vcmc+LEx1Y2FzIFN0YWNoIDxsLnN0YWNoQHBl bmd1dHJvbml4LmRlPixBYmVsIFZlc2EgPGFiZWwudmVzYUBueHAuY29tPixMaSBKdW4gPGp1bi5s aUBueHAuY29tPixsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnLGRldmljZXRyZWVAdmdlci5r ZXJuZWwub3JnLGxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZyxkcmktZGV2ZWxA bGlzdHMuZnJlZWRlc2t0b3Aub3JnLFJvYmVydCBDaGlyYXMgPHJvYmVydC5jaGlyYXNAbnhwLmNv bT4sU2FtIFJhdm5ib3JnIDxzYW1AcmF2bmJvcmcub3JnPixNYXhpbWUgUmlwYXJkIDxtYXhpbWUu cmlwYXJkQGJvb3RsaW4uY29tPgoKCkd1aWRvIEfDvG50aGVyICgzKToKICBkdC1iaW5kaW5nczog QWRkIHZlbmRvciBwcmVmaXggZm9yIE1peGVsIEluYwogIGR0LWJpbmRpbmdzOiBwaHk6IEFkZCBk b2N1bWVudGF0aW9uIGZvciBtaXhlbCBkcGh5CiAgcGh5OiBBZGQgZHJpdmVyIGZvciBtaXhlbCBk cGh5IGZvdW5kIG9uIGlteDgKCiAuLi4vYmluZGluZ3MvcGh5L21peGVsLG1pcGktZHNpLXBoeS50 eHQgICAgICAgfCAgMjkgKwogLi4uL2RldmljZXRyZWUvYmluZGluZ3MvdmVuZG9yLXByZWZpeGVz LnR4dCAgIHwgICAxICsKIGRyaXZlcnMvcGh5L2ZyZWVzY2FsZS9LY29uZmlnICAgICAgICAgICAg ICAgICB8ICAxMSArCiBkcml2ZXJzL3BoeS9mcmVlc2NhbGUvTWFrZWZpbGUgICAgICAgICAgICAg ICAgfCAgIDEgKwogLi4uL3BoeS9mcmVlc2NhbGUvcGh5LWZzbC1pbXg4LW1pcGktZHBoeS5jICAg IHwgNTA2ICsrKysrKysrKysrKysrKysrKwogNSBmaWxlcyBjaGFuZ2VkLCA1NDggaW5zZXJ0aW9u cygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5n cy9waHkvbWl4ZWwsbWlwaS1kc2ktcGh5LnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMv cGh5L2ZyZWVzY2FsZS9waHktZnNsLWlteDgtbWlwaS1kcGh5LmMKCi0tIAoyLjIwLjEKCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2Vy bmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0 cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVs Cg== From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Guido=20G=C3=BCnther?= Subject: [PATCH RESEND v7 0/3] Mixel DPHY support for i.MX8 Date: Wed, 27 Mar 2019 09:19:58 +0100 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 Rob Herring pointed out that I had the mailing lists wrong. So this is a resend of v7 with the full list from get_maintainers added. 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. I've also sent out an initial version of a NWL mipi dsi host controller driver using this: https://lists.freedesktop.org/archives/dri-devel/2019-March/209685.html Robert Chiras (the author of the corresponding driver in NXPs vendor tree) got this driver to work in his tree as well: https://www.spinics.net/lists/arm-kernel/msg711950.html Chages from v6 * Depend on HAS_IOMEM (fixes a build problem on UM spotted by kbuild) Chages 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 (3): dt-bindings: Add vendor prefix for Mixel Inc dt-bindings: phy: Add documentation for mixel dphy phy: Add driver for mixel dphy found on imx8 .../bindings/phy/mixel,mipi-dsi-phy.txt | 29 + .../devicetree/bindings/vendor-prefixes.txt | 1 + drivers/phy/freescale/Kconfig | 11 + drivers/phy/freescale/Makefile | 1 + .../phy/freescale/phy-fsl-imx8-mipi-dphy.c | 506 ++++++++++++++++++ 5 files changed, 548 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,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 AB0B3C10F00 for ; Wed, 27 Mar 2019 08:20:12 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 846FF2075D for ; Wed, 27 Mar 2019 08:20:12 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732157AbfC0IUL (ORCPT ); Wed, 27 Mar 2019 04:20:11 -0400 Received: from honk.sigxcpu.org ([24.134.29.49]:51146 "EHLO honk.sigxcpu.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725805AbfC0IUK (ORCPT ); Wed, 27 Mar 2019 04:20:10 -0400 Received: from localhost (localhost [127.0.0.1]) by honk.sigxcpu.org (Postfix) with ESMTP id E6CC4FB03; Wed, 27 Mar 2019 09:20:06 +0100 (CET) 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 7-Og7V_EOKu8; Wed, 27 Mar 2019 09:20:02 +0100 (CET) Received: by bogon.sigxcpu.org (Postfix, from userid 1000) id DBDD042B0F; Wed, 27 Mar 2019 09:20:01 +0100 (CET) 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 RESEND v7 0/3] Mixel DPHY support for i.MX8 Date: Wed, 27 Mar 2019 09:19:58 +0100 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 Rob Herring pointed out that I had the mailing lists wrong. So this is a resend of v7 with the full list from get_maintainers added. 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. I've also sent out an initial version of a NWL mipi dsi host controller driver using this: https://lists.freedesktop.org/archives/dri-devel/2019-March/209685.html Robert Chiras (the author of the corresponding driver in NXPs vendor tree) got this driver to work in his tree as well: https://www.spinics.net/lists/arm-kernel/msg711950.html Chages from v6 * Depend on HAS_IOMEM (fixes a build problem on UM spotted by kbuild) Chages 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 (3): dt-bindings: Add vendor prefix for Mixel Inc dt-bindings: phy: Add documentation for mixel dphy phy: Add driver for mixel dphy found on imx8 .../bindings/phy/mixel,mipi-dsi-phy.txt | 29 + .../devicetree/bindings/vendor-prefixes.txt | 1 + drivers/phy/freescale/Kconfig | 11 + drivers/phy/freescale/Makefile | 1 + .../phy/freescale/phy-fsl-imx8-mipi-dphy.c | 506 ++++++++++++++++++ 5 files changed, 548 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