From patchwork Wed Sep 2 06:44:06 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sumit Semwal X-Patchwork-Id: 248957 Delivered-To: patch@linaro.org Received: by 2002:a92:5b9c:0:0:0:0:0 with SMTP id c28csp170081ilg; Tue, 1 Sep 2020 23:44:24 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxdqQiB+Koy5CfFfcxcr1Gkd6RDA0ys7GAxMZuDnPHl7dTGfifgbPGQt3U5Z6ZVE4z4Hpgf X-Received: by 2002:aa7:83cf:: with SMTP id j15mr1861241pfn.251.1599029064121; Tue, 01 Sep 2020 23:44:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1599029064; cv=none; d=google.com; s=arc-20160816; b=wX6y6rqKQrDWjVw8FC0E9ISpha1ukwj3GY1C1a6P7lo9fN3rbVRrmWiE+OxFoQSCC1 mSQCm6P+QtJfneYIuPNsyn9uQ+z1miMkVA8WqYjRTttr/5Ggo+yFRYp1SgAxtB2yKAea jNH8EJGvQiA3sC0PYsZDOX9A2zAQUUd5tqj/lPSHKRs1nEKVGHfQXV4HFlvOAtuZe4wq QiQ0e5rxh+NmC9PEygh04lO3DkT1IsHWewA8G42DPX3esxuBj9IpsNCE6biNoj6H4DNr +Uwz/b4UKJi7FiPOJKqLb0Xog5tznKaoA0J5KUgO6wVnmLbW/Bi70N5pryGfe6TK3Wua ui3Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:mime-version:references:in-reply-to:message-id:date :subject:to:from:dkim-signature:delivered-to; bh=JvWedRKAfLMsMHIWgxZI+BZTRZ3h0EvDf0yfNjWJJew=; b=phdgNj/VOmWWNL5+B6AXmLga43UZUNRn/cutap5Ek99iB6ZiK/mo1PKIkwdvCV+xJx 0BvVLiQSa9bVCGPFempDsjBEW6GM49IuNx/C831OXU2S+/a98vdLy7b2lhYMt2igAjC2 Y8mFqZMgsIQHre+MISPq9172HlWh9Qq/5Q3QVrOjvh+FjN7HPj9kpRVT4LUh56xwcFQZ bhvGgfVbE0vJDRHZy0igSOUgqhyzhI9tGIZIVlwLOOJO4Z6lOmY/IsPjPtdEIiUoXXuv z54775+sZ5XGZcpdX3v0l2ziZJPkdq+RGh0A9Zt6gIK2cdfAzFUa3gSYv76BqjYlahDG EqDA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org header.s=google header.b=VbxSowKn; spf=pass (google.com: best guess record for domain of dri-devel-bounces@lists.freedesktop.org designates 2610:10:20:722:a800:ff:fe36:1795 as permitted sender) smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from gabe.freedesktop.org (gabe.freedesktop.org. [2610:10:20:722:a800:ff:fe36:1795]) by mx.google.com with ESMTPS id o18si3220180pll.49.2020.09.01.23.44.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 01 Sep 2020 23:44:24 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of dri-devel-bounces@lists.freedesktop.org designates 2610:10:20:722:a800:ff:fe36:1795 as permitted sender) client-ip=2610:10:20:722:a800:ff:fe36:1795; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org header.s=google header.b=VbxSowKn; spf=pass (google.com: best guess record for domain of dri-devel-bounces@lists.freedesktop.org designates 2610:10:20:722:a800:ff:fe36:1795 as permitted sender) smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 605456E121; Wed, 2 Sep 2020 06:44:21 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mail-pj1-x1041.google.com (mail-pj1-x1041.google.com [IPv6:2607:f8b0:4864:20::1041]) by gabe.freedesktop.org (Postfix) with ESMTPS id D0EDE6E121 for ; Wed, 2 Sep 2020 06:44:20 +0000 (UTC) Received: by mail-pj1-x1041.google.com with SMTP id b16so1686768pjp.0 for ; Tue, 01 Sep 2020 23:44:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=PKVQa7mFyShxE7bXpbdQpBbN4ieHP/7X9mNZXJlFeWE=; b=VbxSowKnbuXn0pQhBT1Y5EFmaJmyFwdlHnKCpLHH+X/6hgc0H7kAoQdQFPm9ULcAY4 76f4E8AVEzmUxHXqr1D+pRDYDzYtiF6El2nppqCBtlcli6Iv6FQkxV49Zsqn+3E6zeLs 5HYbeNbH+B3wt1mvNZEsU9RE2qmvvbcLEfUmj81HSiROe7gqrSpnN+dfrXD6tfCVqw2P LatCFjshi2BJ06h/atlv+F3vVjljZB0cCCO4OrimAnH0QKgpg88EE393jU/bm7Cv/uP6 SMzp8ugfPM8mTQXVyj1JJd7LwZaOEEdr4+GYI0Y9uDCQH4nw0abiZM2OO1zJOePm/t5z 9hjA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=PKVQa7mFyShxE7bXpbdQpBbN4ieHP/7X9mNZXJlFeWE=; b=FfQMfxthZM3A2+jdd/1sxCHAuo8r8kL1tUs+CBF6hxqiotSLQctHh6PYwW2DDCwOCD kajClhOpbztmrmN5hfvq+kvsh6D6kI7JD4NHO+LxxXTbSZ6ecDzcC8Ood3AzUyN+2nZL pzaGRDgE2eIeUuIOVc2OphgEaSriv1m0PDRzT0GOYAqKPiSKsuXSqOQkRriR9Kiq8W4m OP4hQkmPXA9bSwEgCocx6Jp2CpWuia/hzz1Gaj0rjJJlP9qLPm6ghpClrAX2HgDxM/E9 YRt8mEDdbWqAYn8iLEHzO+lPRofUN/+icWG1Q2nRHuVKEwfyfA0EP546cm82RRwQgS1G vfEA== X-Gm-Message-State: AOAM530Ohs54FaVjDcBOAzFf0LM076H6H8QZjJCb81TuMwYdZaLfOkep zGdaWs1lYN08ThTcgIXt04Y3hA== X-Received: by 2002:a17:90a:d106:: with SMTP id l6mr948438pju.169.1599029060327; Tue, 01 Sep 2020 23:44:20 -0700 (PDT) Received: from nagraj.local ([49.206.21.239]) by smtp.gmail.com with ESMTPSA id i23sm4317434pfo.207.2020.09.01.23.44.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 01 Sep 2020 23:44:19 -0700 (PDT) From: Sumit Semwal To: Thierry Reding , Sam Ravnborg Subject: [PATCH v7 1/2] dt-bindings: display: panel: Add bindings for Novatek nt36672a Date: Wed, 2 Sep 2020 12:14:06 +0530 Message-Id: <20200902064407.30712-2-sumit.semwal@linaro.org> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20200902064407.30712-1-sumit.semwal@linaro.org> References: <20200902064407.30712-1-sumit.semwal@linaro.org> MIME-Version: 1.0 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, David Airlie , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Bjorn Andersson , Mauro Carvalho Chehab , "David S . Miller" Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Novatek nt36672a is a display driver IC that can drive DSI panel. It is also present in the Tianma video mode panel, which is a FHD+ panel with a resolution of 1080x2246 and 6.18 inches size. It is found in some of the Poco F1 phones. This patch adds the display driver for the IC, with support added for this tianma fhd video mode panel. Signed-off-by: Sumit Semwal Reviewed-by: Rob Herring --- v2: remove ports node, making port@0 directly under panel@0 node. v3: updated to replace port@0 to just 'port'. v5: renamed to novatek,nt36672a, since the binding is for the IC and not the panel. v6: v5 review comments incorporated. - added enum for the compatible part, since it can be extended in future. - few cosmetic updates. --- .../display/panel/novatek,nt36672a.yaml | 87 +++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/panel/novatek,nt36672a.yaml -- 2.28.0 _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel diff --git a/Documentation/devicetree/bindings/display/panel/novatek,nt36672a.yaml b/Documentation/devicetree/bindings/display/panel/novatek,nt36672a.yaml new file mode 100644 index 000000000000..d2170de6b723 --- /dev/null +++ b/Documentation/devicetree/bindings/display/panel/novatek,nt36672a.yaml @@ -0,0 +1,87 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/panel/novatek,nt36672a.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Novatek NT36672A based DSI display Panels + +maintainers: + - Sumit Semwal + +description: | + The nt36672a IC from Novatek is a generic DSI Panel IC used to drive dsi + panels. + Right now, support is added only for a Tianma FHD+ LCD display panel with a + resolution of 1080x2246. It is a video mode DSI panel. + +allOf: + - $ref: panel-common.yaml# + +properties: + compatible: + items: + - enum: + - tianma,fhd-video + - const: novatek,nt36672a + description: This indicates the panel manufacturer of the panel that is + in turn using the NT36672A panel driver. This compatible string + determines how the NT36672A panel driver is configured for the indicated + panel. The novatek,nt36672a compatible shall always be provided as a fallback. + + reset-gpios: + description: phandle of gpio for reset line - This should be 8mA, gpio + can be configured using mux, pinctrl, pinctrl-names (active high) + + vddio-supply: + description: phandle of the regulator that provides the supply voltage + Power IC supply + + vddpos-supply: + description: phandle of the positive boost supply regulator + + vddneg-supply: + description: phandle of the negative boost supply regulator + + reg: true + port: true + +required: + - compatible + - reg + - vddi0-supply + - vddpos-supply + - vddneg-supply + - reset-gpios + - port + +unevaluatedProperties: false + +examples: + - |+ + #include + + dsi0 { + #address-cells = <1>; + #size-cells = <0>; + + panel@0 { + compatible = "tianma,fhd-video", "novatek,nt36672a"; + reg = <0>; + vddi0-supply = <&vreg_l14a_1p88>; + vddpos-supply = <&lab>; + vddneg-supply = <&ibb>; + + reset-gpios = <&tlmm 6 GPIO_ACTIVE_HIGH>; + + #address-cells = <1>; + #size-cells = <0>; + port { + tianma_nt36672a_in_0: endpoint { + remote-endpoint = <&dsi0_out>; + }; + }; + }; + }; + +... From patchwork Wed Sep 2 06:44:07 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sumit Semwal X-Patchwork-Id: 248958 Delivered-To: patch@linaro.org Received: by 2002:a92:5b9c:0:0:0:0:0 with SMTP id c28csp170110ilg; Tue, 1 Sep 2020 23:44:27 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwuvsrMLsGCyw1dKxAWHmq2e+Jo29U5ldY4VDAOkB37BrWRk9mrYMBA2lbeMBtUglXjSxav X-Received: by 2002:a17:90b:4b89:: with SMTP id lr9mr1048736pjb.190.1599029067632; Tue, 01 Sep 2020 23:44:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1599029067; cv=none; d=google.com; s=arc-20160816; b=0w3r2MZ2bB5r3fc3IOHFGBZS/4PFWQVJsMmK6bhZN7qg8Uv5MBLsu/nhYmYtKsBhbS uYet4IHidphVixDCbpWVhv9vtw8jgN2L5BcJ0j2Fp2q9BbeNjJ/MYWHmK5hNj3DSK71c OJYIYNmRZDuIc6ZFzmKyVWqokcAUkLR9/sxJGYkUj0bmbAMXTHdsoJ7BKdtUsI3pd7no t85kMH4SuMFXcx8J/W5xEGFDPAbLlHB4dML7MJNYzzIZ1pplbFK1Rs8q0l5dy8mX49xE TT5w3YAZ3dT3ZTTaRMO+bxyCjA0vlvSFkOfcA5SVLd+U/lluPZnFWvgy0FlbFV47A1cK 5PFw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:mime-version:references:in-reply-to:message-id:date :subject:to:from:dkim-signature:delivered-to; bh=eLlYSeDYb9LStoyMQJKMqfdw9mbgbQpz7lGWMAV/gG8=; b=x2cv9RH0HHFG1xtQC9IUm6ITENgUQqRsolMAoTMHGYTjlphLseaOrisaA3PWNz8TYr IuIEoWyXRiuiBOjRGclgt1pCT5ieW20LAotGt14gzaXgesz6AjuywTX17jChefdDUBTz DfBmveocoNhIBghFMBf4K1I4kQAE6Emnsga7wnQgTMsBsDovw30A0zntWKyzsmdHelGe 3q2abAQQcVoOYOLrngeBfUudu38mMv7O/LupnCFOC9AO2bfFj2y9G8q8Y0V7JlSBf4da 4s7gHjDIV/vTMzLVDicWYj8/V+JINBhF1pVw6ucb/4WSftMHelxd5hIGpBtDpGYrJ5sw B+Gw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org header.s=google header.b="hvm/l+pQ"; spf=pass (google.com: best guess record for domain of dri-devel-bounces@lists.freedesktop.org designates 131.252.210.177 as permitted sender) smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from gabe.freedesktop.org (gabe.freedesktop.org. [131.252.210.177]) by mx.google.com with ESMTPS id l20si3211149plb.426.2020.09.01.23.44.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 01 Sep 2020 23:44:27 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of dri-devel-bounces@lists.freedesktop.org designates 131.252.210.177 as permitted sender) client-ip=131.252.210.177; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org header.s=google header.b="hvm/l+pQ"; spf=pass (google.com: best guess record for domain of dri-devel-bounces@lists.freedesktop.org designates 131.252.210.177 as permitted sender) smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id A3D786E124; Wed, 2 Sep 2020 06:44:26 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mail-pf1-x443.google.com (mail-pf1-x443.google.com [IPv6:2607:f8b0:4864:20::443]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6548A6E124 for ; Wed, 2 Sep 2020 06:44:25 +0000 (UTC) Received: by mail-pf1-x443.google.com with SMTP id c142so2296017pfb.7 for ; Tue, 01 Sep 2020 23:44:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=glSU4ZaH3aMBVnbdfwsUklIig+uauBfubDY6DwFqnA8=; b=hvm/l+pQvFq6kscuhhgYdDWtIYibh8mbWjhcrHofIPaDSYdOTrYVuJFOkEB2EB6u9z FeFe75hkNb3AQFAyUNwRxpVp+3bPP5DMvZanY/aiEmXu1sSi3MQKgAT3bp0eMZ4vft1Q aOdMfW+HJrcpIQjycCAyOa1bOZXaC3m0KbNoxYfZwWXP/X2FwEAivZgKnacda0FYzNuh TceH1C0Ti5JH1LNzGxPhwsIqlGQ014WOekcyZCeMhOd9ox/psE0tACFPy0lArpmnz9dS eBFO8grNhlqazv0X6XvGck79cFS33TjmfsEVcmwvmD52JQSuog1AJ4RUH8jwqKtOnk4Q L1yw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=glSU4ZaH3aMBVnbdfwsUklIig+uauBfubDY6DwFqnA8=; b=RCVQTOEezsLIgm+/AVoAY6223YxKbhS8dSOXO8tMkwEwmQfQDeOj/5wGUS0qOtfD9t Fj6257AC+zNFVi3rRvliOMrDBYV6dttYY2V5otBWhgcrfAjhGOBnM990elyK3rRn/B3D I+C5r/0HBWZEv5Gknub4mdJ3d/n8ums0l3nojVQKAVpvM6pdEu5x8Nt3yYqs1bheKVF0 2xcdDhiDFOLsZx0n4KqcuR8Adht/xUJhGzxdFHIwcuGS9E75ekN91BFT2CBUbOAJu9HU PFMcUnSfqIJ8cS75+uwIO7ZsTp6oUYcdlAcKY6/WNwR4jXB1s92Gtj6pUcISDaH1wXVs K8Cg== X-Gm-Message-State: AOAM532wxukZ6BM/vyZPv3xqnGzir0Xm9DGgiwoBDkTD3DOUCcMHAIoP 0o3kiYlrHA2keswc809JWiIlMQ== X-Received: by 2002:a63:ba49:: with SMTP id l9mr859105pgu.101.1599029064744; Tue, 01 Sep 2020 23:44:24 -0700 (PDT) Received: from nagraj.local ([49.206.21.239]) by smtp.gmail.com with ESMTPSA id i23sm4317434pfo.207.2020.09.01.23.44.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 01 Sep 2020 23:44:23 -0700 (PDT) From: Sumit Semwal To: Thierry Reding , Sam Ravnborg Subject: [PATCH v7 2/2] drm: panel: Add novatek nt36672a panel driver Date: Wed, 2 Sep 2020 12:14:07 +0530 Message-Id: <20200902064407.30712-3-sumit.semwal@linaro.org> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20200902064407.30712-1-sumit.semwal@linaro.org> References: <20200902064407.30712-1-sumit.semwal@linaro.org> MIME-Version: 1.0 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, David Airlie , Benni Steini , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Bjorn Andersson , Mauro Carvalho Chehab , "David S . Miller" Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Novatek NT36672a is a generic DSI IC that drives command and video mode panels. Add the driver for it. Right now adding support for some Poco F1 phones that have an LCD panel from Tianma connected with this IC, with a resolution of 1080x2246 that operates in DSI video mode. During testing, Benni Steini helped us fix the reset sequence timing (from 10ms to 20ms), to get the bootanimation to work on Android. With current AOSP, we need to increase it to 200ms - this seems to be a safe high value to avoid a white screen occasionally. Signed-off-by: Sumit Semwal Cc: Benni Steini --- v2: increase reset sequence timing to a safe 200ms v4: Since "0425662fdf05: drm: Nuke mode->vrefresh", we have to calculate vrefresh on demand. Update for it. v5: Fixed review comments from Sam: - rebased on top of drm-misc-next remove return of drm_panel_add() remove drm_panel_detach() - renamed the panel driver file to reflect that this is a novatek nt36672a display driver and not only for tianma panels. Adjusted some internal names also to reflect the same. - corrected changelog to add info about the generic Novatek DSI IC - corrected compatible string accordingly - removed pinctrl - used drm_panel* API for prepare/unprepare/disable/remove v6: Fixed few review comments on v5 from Sam: - add dev_err_probe() support - move DRM_* error printing to dev_err() - removed a few unnecessary bits v7: Fixed review comments on v6 from Bjorn: - Reworked the send_mipi_commands functionality - removed regulator disable_loads; moved active_load setting to probe time - made function names and struct less generic - updated the reset_gpio working to active_low - update MAINTAINERS for file name changes --- MAINTAINERS | 7 + drivers/gpu/drm/panel/Kconfig | 10 + drivers/gpu/drm/panel/Makefile | 1 + .../gpu/drm/panel/panel-novatek-nt36672a.c | 711 ++++++++++++++++++ 4 files changed, 729 insertions(+) create mode 100644 drivers/gpu/drm/panel/panel-novatek-nt36672a.c -- 2.28.0 _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel Reviewed-by: Sam Ravnborg diff --git a/MAINTAINERS b/MAINTAINERS index 01fb9ee6b951..c6fb966c0959 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -5517,6 +5517,13 @@ T: git git://anongit.freedesktop.org/drm/drm-misc F: Documentation/devicetree/bindings/display/panel/novatek,nt35510.yaml F: drivers/gpu/drm/panel/panel-novatek-nt35510.c +DRM DRIVER FOR NOVATEK NT36672A PANELS +M: Sumit Semwal +S: Maintained +T: git git://anongit.freedesktop.org/drm/drm-misc +F: Documentation/devicetree/bindings/display/panel/novatek,nt36672a.yaml +F: drivers/gpu/drm/panel/panel-novatek-nt36672a.c + DRM DRIVER FOR NVIDIA GEFORCE/QUADRO GPUS M: Ben Skeggs L: dri-devel@lists.freedesktop.org diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig index 8d97d07c5871..51e6cb6c7826 100644 --- a/drivers/gpu/drm/panel/Kconfig +++ b/drivers/gpu/drm/panel/Kconfig @@ -208,6 +208,16 @@ config DRM_PANEL_NOVATEK_NT35510 around the Novatek NT35510 display controller, such as some Hydis panels. +config DRM_PANEL_NOVATEK_NT36672A + tristate "Novatek NT36672A DSI panel" + depends on OF + depends on DRM_MIPI_DSI + depends on BACKLIGHT_CLASS_DEVICE + help + Say Y here if you want to enable support for the panels built + around the Novatek NT36672A display controller, such as some + Tianma panels used in a few Xiaomi Poco F1 mobile phones. + config DRM_PANEL_NOVATEK_NT39016 tristate "Novatek NT39016 RGB/SPI panel" depends on OF && SPI diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile index 15a4e7752951..4a36eb45f670 100644 --- a/drivers/gpu/drm/panel/Makefile +++ b/drivers/gpu/drm/panel/Makefile @@ -19,6 +19,7 @@ obj-$(CONFIG_DRM_PANEL_LG_LB035Q02) += panel-lg-lb035q02.o obj-$(CONFIG_DRM_PANEL_LG_LG4573) += panel-lg-lg4573.o obj-$(CONFIG_DRM_PANEL_NEC_NL8048HL11) += panel-nec-nl8048hl11.o obj-$(CONFIG_DRM_PANEL_NOVATEK_NT35510) += panel-novatek-nt35510.o +obj-$(CONFIG_DRM_PANEL_NOVATEK_NT36672A) += panel-novatek-nt36672a.o obj-$(CONFIG_DRM_PANEL_NOVATEK_NT39016) += panel-novatek-nt39016.o obj-$(CONFIG_DRM_PANEL_MANTIX_MLAF057WE51) += panel-mantix-mlaf057we51.o obj-$(CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO) += panel-olimex-lcd-olinuxino.o diff --git a/drivers/gpu/drm/panel/panel-novatek-nt36672a.c b/drivers/gpu/drm/panel/panel-novatek-nt36672a.c new file mode 100644 index 000000000000..533cd3934b8b --- /dev/null +++ b/drivers/gpu/drm/panel/panel-novatek-nt36672a.c @@ -0,0 +1,711 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2020 Linaro Ltd + * Author: Sumit Semwal + * + * This driver is for the DSI interface to panels using the NT36672A display driver IC + * from Novatek. + * Currently supported are the Tianma FHD+ panels found in some Xiaomi phones, including + * some variants of the Poco F1 phone. + * + * Panels using the Novatek NT37762A IC should add appropriate configuration per-panel and + * use this driver. + */ + +#include +#include +#include +#include +#include + +#include +#include +#include + +#include +#include +#include +#include + +#include