From patchwork Wed Jul 22 05:58:15 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sumit Semwal X-Patchwork-Id: 11677311 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 4A13F13A4 for ; Wed, 22 Jul 2020 05:58:34 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 26EB320771 for ; Wed, 22 Jul 2020 05:58:34 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="guVuNrx2" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 26EB320771 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 601AA89998; Wed, 22 Jul 2020 05:58:31 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mail-pj1-x1044.google.com (mail-pj1-x1044.google.com [IPv6:2607:f8b0:4864:20::1044]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9F15589998 for ; Wed, 22 Jul 2020 05:58:30 +0000 (UTC) Received: by mail-pj1-x1044.google.com with SMTP id cv18so2403047pjb.1 for ; Tue, 21 Jul 2020 22:58:30 -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=dTm4mWhvKAmIc2Rf3uwqpSL+kAsziisrGlZO4B+85K8=; b=guVuNrx2ZWLOp4fNmvGs/LfJYvYVXWStXsqNLTMHKJIZAV/XgbdQm12D7Ftqp67bIP Ojv6OaXH4wfdhdGo2uaSJEY2mNxzfWgXvQEAcVvr4IhBJPOmDeaimWxQySSEcfXnbIj+ j5KgliOrjkHxKKf/CoiroWN75Usd09WLyc58/m7bi9CLgk2JLfz+ApA5VMV4FJued4Yu lV+FwRXcQlbdhzifR2pyGCPE4QLkdQPCHdqEJasdDsuKzV4DpaY34VeVUTACzED7VCIb oFXY+Ssx1ko+J3e/kasBhiR17y+QxrXn3ClI3vY8Wt2TJtpa2NjenDct7nnD+B9AWC3T so1g== 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=dTm4mWhvKAmIc2Rf3uwqpSL+kAsziisrGlZO4B+85K8=; b=ocBthx4V4sSiWmq0QPbA7P0Bk2354uyEChOQHz7nPypupe0p8a8QL+sn0GiAmkezmR yLaZQf+VZL/eQCMgV1sP/8IqQrQ4/Och4k4BysHE5E0o9HrSJcQXDVBKV3M35CeajnU1 6p7hsUQxF108kZDmU+JwtnxMGDG8BnSge3t5vLIDsOZG2LuH8AaF7krc8JNKGvkuPOkc HgZ3EKBQzbQ3xlFSy6nJjGT0tEqsPT9tKxW06+hFQ+QyUeMneoGt3knkmUDOcTzbesA2 OATuWJjygHVubR84dWtHiRlq8TaMphAuQt6w2CQEDoA0dE4cFH+DUK6S48eOrVG8+jha X3+w== X-Gm-Message-State: AOAM532tZwKbmnxFtBcyMwpH8SPewG0zHvwPuJDn33EKBnfOIe4W8Mn9 i2tAq2GZ2+7g8CDmEyDGwJlerg== X-Google-Smtp-Source: ABdhPJxNgX46VHUtwjAEqfNC1oD0Z6BdM604ZtHA8C7mdc+55PewhMuFojFaYwfykV1A/TwKENDtHw== X-Received: by 2002:a17:90b:8d7:: with SMTP id ds23mr8547210pjb.148.1595397510192; Tue, 21 Jul 2020 22:58:30 -0700 (PDT) Received: from nagraj.local ([49.206.21.239]) by smtp.gmail.com with ESMTPSA id e191sm22144010pfh.42.2020.07.21.22.58.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2020 22:58:29 -0700 (PDT) From: Sumit Semwal To: Thierry Reding , Sam Ravnborg , Rob Herring Subject: [PATCH v2 1/2] dt-bindings: display: panel: Add bindings for Tianma nt36672a panel Date: Wed, 22 Jul 2020 11:28:15 +0530 Message-Id: <20200722055816.20768-2-sumit.semwal@linaro.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200722055816.20768-1-sumit.semwal@linaro.org> References: <20200722055816.20768-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" The nt36672a panel from Tianma is a FHD+ panel with a resolution of 1080x2246 and 6.18 inches size. It is found in some of the Poco F1 phones. Signed-off-by: Sumit Semwal Change-Id: I401dfbfe23ff2d806c956002f45e349cb9688c16 --- v2: remove ports node, making port@0 directly under panel@0 node. --- .../display/panel/tianma,nt36672a.yaml | 104 ++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/panel/tianma,nt36672a.yaml diff --git a/Documentation/devicetree/bindings/display/panel/tianma,nt36672a.yaml b/Documentation/devicetree/bindings/display/panel/tianma,nt36672a.yaml new file mode 100644 index 000000000000..cb1799fbbd32 --- /dev/null +++ b/Documentation/devicetree/bindings/display/panel/tianma,nt36672a.yaml @@ -0,0 +1,104 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/panel/tianma,nt36672a.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Tianma model NT36672A DSI Panel display driver + +maintainers: + - Sumit Semwal + +description: | + The nt36672a panel from Tianma is a FHD+ LCD display panel with a resolution + of 1080x2246. It is a video mode DSI panel. + +allOf: + - $ref: panel-common.yaml# + +properties: + compatible: + const: tianma,nt36672a + + reg: + description: DSI virtual channel of the peripheral + + 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 + + pinctrl-names: + description: Pinctrl for panel active and suspend + + pinctrl-0: + description: Active pinctrls + + pinctrl-1: + description: Suspend pinctrls + + port@0: + type: object + description: DSI input port driven by master DSI + properties: + reg: + const: 0 + + required: + - reg + +required: + - compatible + - reg + - vddi0-supply + - vddpos-supply + - vddneg-supply + - reset-gpios + - pinctrl-names + - pinctrl-0 + - pinctrl-1 + - port@0 + +unevaluatedProperties: false + +examples: + - |+ + #include + dsi0 { + #address-cells = <1>; + #size-cells = <0>; + + panel@0 { + compatible = "tianma,nt36672a"; + reg = <0>; + vddi0-supply = <&vreg_l14a_1p88>; + vddpos-supply = <&lab>; + vddneg-supply = <&ibb>; + + reset-gpios = <&tlmm 6 GPIO_ACTIVE_HIGH>; + + pinctrl-names = "panel_active", "panel_suspend"; + pinctrl-0 = <&sde_dsi_active>; + pinctrl-1 = <&sde_dsi_suspend>; + + #address-cells = <1>; + #size-cells = <0>; + port@0 { + reg = <0>; + tianma_nt36672a_in_0: endpoint { + remote-endpoint = <&dsi0_out>; + }; + }; + }; + }; + +... From patchwork Wed Jul 22 05:58:16 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sumit Semwal X-Patchwork-Id: 11677313 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 1165713A4 for ; Wed, 22 Jul 2020 05:58:38 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 DFE4620771 for ; Wed, 22 Jul 2020 05:58:37 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="nVxRHz0Y" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org DFE4620771 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id E66F889B30; Wed, 22 Jul 2020 05:58:36 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mail-pf1-x441.google.com (mail-pf1-x441.google.com [IPv6:2607:f8b0:4864:20::441]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8FEEB89B30 for ; Wed, 22 Jul 2020 05:58:35 +0000 (UTC) Received: by mail-pf1-x441.google.com with SMTP id a14so617800pfi.2 for ; Tue, 21 Jul 2020 22:58:35 -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=aFWJMahmFGP6ghcHwePgHtxNBd4G899f/GVNoXHgHzU=; b=nVxRHz0YeYGTwuoMla2lP2xJRKv5kgsC8Oay+cx+5dRsJ7mzELpda61AMIHTjR1RFn /Ni0FiHKSQP9gS8B9+ypvGz3xbaz1FaUnttRYjgwRgh7md0bvjcq3DM7M5pAUbucjqqI zX9+ef4QU/2JfnJKqeKQ8+oL0Cj1TRdJkj/dxDlsDOFg8ws/kNlHGFkWdA6BG0buyyoX KozyC2B8QGWpC7RnwZ8infnQUSPuQSybziUZcexjPhlAZh8QyHR/sNvFHH3uGCLtPBnb y8JDKO6jQTgaXMEnSNGH35Oz/WSr+Y7KfHxxIzwPpcysHxLWnq5DNgbMHvTyUIIduOLq AcUw== 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=aFWJMahmFGP6ghcHwePgHtxNBd4G899f/GVNoXHgHzU=; b=C0ovxLWKdKrZn/QR2VGtIylXJ5hbXcAkWhIgt+wTzV1YnOhnID5TLkpeG8MDHgNOla WOe2ctqi3Yd4dfiAvxNSFIhrQFF55EwjXQKbsY/ceaFOn214PdYUmtM0554DPIHJluP7 99JqVlftAj4jdBN+ICapuB/IUWGkkdHZeiCbFWYgrNG2QpWaykvUsMYj4ZUCxi7n1vEc xzPIxL4MUqZk92RwmZJbTDT0W9uxvvfKBcgrLCkwEqvrf4/Gv1H0Qq3N/RNONAcg061a +xCdTZ8ZclyPvFbOUkfjfNTaBR9WwsqdZpUqnM9Q5Q/6lvoT5vTyYygEmgoiVkgjlBaL Gh1w== X-Gm-Message-State: AOAM533nab0Y0Ldg3WsomY/wImNKfm4mdlYIQ7QlvIG23g+tqMILUt07 XN2XqdwthnLkgXpIBX8bBaSwDw== X-Google-Smtp-Source: ABdhPJwSZIQn3/XXuSYj1YQlsewOBd8w3N0b4SCFGuSJFF1Tt0+oaY+pP5B6rfS9tzTTPG27i5PL2g== X-Received: by 2002:a62:79cd:: with SMTP id u196mr26442904pfc.152.1595397514829; Tue, 21 Jul 2020 22:58:34 -0700 (PDT) Received: from nagraj.local ([49.206.21.239]) by smtp.gmail.com with ESMTPSA id e191sm22144010pfh.42.2020.07.21.22.58.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2020 22:58:33 -0700 (PDT) From: Sumit Semwal To: Thierry Reding , Sam Ravnborg , Rob Herring Subject: [PATCH v2 2/2] drm: panel: Add tianma nt36672a panel driver Date: Wed, 22 Jul 2020 11:28:16 +0530 Message-Id: <20200722055816.20768-3-sumit.semwal@linaro.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200722055816.20768-1-sumit.semwal@linaro.org> References: <20200722055816.20768-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" Some Poco F1 phones have an LCD panel from Tianma, model nt36672a, with a resolution of 1080x2246 that operates in DSI video mode. Add the drm panel driver for it. 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 occassionally. Signed-off-by: Sumit Semwal Cc: Benni Steini Change-Id: Ib822ef12464abcb50d2e539d11b8983be87c31f2 --- v2: increase reset sequence timing to a safe 200ms --- MAINTAINERS | 7 + drivers/gpu/drm/panel/Kconfig | 11 + drivers/gpu/drm/panel/Makefile | 1 + drivers/gpu/drm/panel/panel-tianma-nt36672a.c | 859 ++++++++++++++++++ 4 files changed, 878 insertions(+) create mode 100644 drivers/gpu/drm/panel/panel-tianma-nt36672a.c diff --git a/MAINTAINERS b/MAINTAINERS index b4a43a9e7fbc..2d384e51353b 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -5544,6 +5544,13 @@ T: git git://anongit.freedesktop.org/drm/drm-misc F: Documentation/devicetree/bindings/display/ste,mcde.txt F: drivers/gpu/drm/mcde/ +DRM DRIVER FOR TIANMA NT36672A PANELS +M: Sumit Semwal +S: Maintained +T: git git://anongit.freedesktop.org/drm/drm-misc +F: Documentation/devicetree/bindings/display/panel/tianma,nt36672a-panel.yaml +F: drivers/gpu/drm/panel/panel-tianma-nt36672a.c + DRM DRIVER FOR TDFX VIDEO CARDS S: Orphan / Obsolete F: drivers/gpu/drm/tdfx/ diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig index 39055c1f0e2f..da9d74c1ec91 100644 --- a/drivers/gpu/drm/panel/Kconfig +++ b/drivers/gpu/drm/panel/Kconfig @@ -437,6 +437,17 @@ config DRM_PANEL_TPO_TD043MTEA1 Say Y here if you want to enable support for TPO TD043MTEA1 800x480 4.3" panel (found on the OMAP3 Pandora board). +config DRM_PANEL_TIANMA_FHD_NT36672A + tristate "TIANMA NT36672A 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 Tianma NT36672A + panel. It is seen mostly in Xiaomi Poco F1 mobile phone. + The panel has a 1080x2246 resolution and uses 24 bit RGB per pixel. + It provides a MIPI DSI interface to the host. + config DRM_PANEL_TPO_TPG110 tristate "TPO TPG 800x400 panel" depends on OF && SPI && GPIOLIB diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile index de74f282c433..303e44eb50fa 100644 --- a/drivers/gpu/drm/panel/Makefile +++ b/drivers/gpu/drm/panel/Makefile @@ -44,6 +44,7 @@ obj-$(CONFIG_DRM_PANEL_SITRONIX_ST7701) += panel-sitronix-st7701.o obj-$(CONFIG_DRM_PANEL_SITRONIX_ST7789V) += panel-sitronix-st7789v.o obj-$(CONFIG_DRM_PANEL_SONY_ACX424AKP) += panel-sony-acx424akp.o obj-$(CONFIG_DRM_PANEL_SONY_ACX565AKM) += panel-sony-acx565akm.o +obj-$(CONFIG_DRM_PANEL_TIANMA_FHD_NT36672A) += panel-tianma-nt36672a.o obj-$(CONFIG_DRM_PANEL_TPO_TD028TTEC1) += panel-tpo-td028ttec1.o obj-$(CONFIG_DRM_PANEL_TPO_TD043MTEA1) += panel-tpo-td043mtea1.o obj-$(CONFIG_DRM_PANEL_TPO_TPG110) += panel-tpo-tpg110.o diff --git a/drivers/gpu/drm/panel/panel-tianma-nt36672a.c b/drivers/gpu/drm/panel/panel-tianma-nt36672a.c new file mode 100644 index 000000000000..0af3a6ff5d55 --- /dev/null +++ b/drivers/gpu/drm/panel/panel-tianma-nt36672a.c @@ -0,0 +1,859 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2020 Linaro Ltd + * Author: Sumit Semwal + */ + +#include +#include +#include +#include +#include + +#include +#include +#include + +#include +#include +#include +#include +#include + +#include