From patchwork Thu Jul 16 15:38:57 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sumit Semwal X-Patchwork-Id: 11667805 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 2A7BA913 for ; Thu, 16 Jul 2020 15:39:23 +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 07B8B2076A for ; Thu, 16 Jul 2020 15:39:22 +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="FnTEaAYt" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 07B8B2076A 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 298696EC7D; Thu, 16 Jul 2020 15:39:21 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mail-pj1-x1043.google.com (mail-pj1-x1043.google.com [IPv6:2607:f8b0:4864:20::1043]) by gabe.freedesktop.org (Postfix) with ESMTPS id C1E766EC7D for ; Thu, 16 Jul 2020 15:39:19 +0000 (UTC) Received: by mail-pj1-x1043.google.com with SMTP id k71so5009404pje.0 for ; Thu, 16 Jul 2020 08:39:19 -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=9ZAKSAh34vTXMTUWEjv2hN2YsXCAZIAQFEsdbfwVoDU=; b=FnTEaAYt0y6BvQOFPCsBRFnTthf3sONoeLwowi4ONN/7NOSqNe/7Guc9c5CyDpPbl5 UWt9WLPB6kjrzLv2tFFfUbhmNO7xyu7G32cNI2I7WGJ1FBqo1IMpocIoejL3/DyWMLcr juFpoZdNbRRZ1prAfjrmKmXrc+lFm2w7bQTqxP9k+uUjTZSd1RizMYBdM6yw3oEGnShN GuhUQCcQ7ydXBCXGZ7hJ2JfOig0aOuZC0H7lF+r3+Gw+EV2Zj1TU1Z2wqNVZrlU1/tpp LQ10NfyB3EziTrY0Wci0FvwaPeYi7/Kwart4MXJXgXVKUZHknlGtDh7ml9kb3o4oHneE CWTw== 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=9ZAKSAh34vTXMTUWEjv2hN2YsXCAZIAQFEsdbfwVoDU=; b=hboroNzYs8Qi1WI4N1gTP1fw/eyWa7Mz8AwGkqSCe+YTLkGAYAJvRAwYwu2Absmy6k f7ZJG/PLBKfCx0qSTa38r7IPW9ZtruNVUKu1J1FqGiXaELxiOWDI4S1R+DqwF/5tiHbi u8cvXmfmBqGmqfujOURe4UsGrj+80zIGx+umkh78anyp+tUJv6SzRztbow6UXr9DC+62 ouJ9TTHXP948jceINpjol+E5Yoim5nBcSs5TOLY6ow+mz+FPgvRN4hawwffj8d4fj5KE xF2Xxe5zGRGp+VzYxRaUAcj56oLiANq0bQqHhj6oyrauEQZNxZaQXjhRZY7Gg76ihsWU Ro1w== X-Gm-Message-State: AOAM531WV6Lbqx9zFBmZoXIfrCssPQXw11m9fQbWEKrZIw2E9b8pWyZu sE4li/gVcCqfhpgSzoe5BzWgxw== X-Google-Smtp-Source: ABdhPJzqE6oeEFFqme3rNP4ESry/Nvs1h8rm0US3SV0eP4I21Fv1cOF9PvgFvbXn5mcqhBlJZUVx9w== X-Received: by 2002:a17:90a:ea83:: with SMTP id h3mr5772276pjz.176.1594913959344; Thu, 16 Jul 2020 08:39:19 -0700 (PDT) Received: from nagraj.local ([49.206.21.239]) by smtp.gmail.com with ESMTPSA id f14sm417056pjq.36.2020.07.16.08.39.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 16 Jul 2020 08:39:18 -0700 (PDT) From: Sumit Semwal To: Thierry Reding , Sam Ravnborg , Rob Herring Subject: [PATCH 1/2] dt-bindings: display: panel: Add bindings for Tianma nt36672a panel Date: Thu, 16 Jul 2020 21:08:57 +0530 Message-Id: <20200716153858.526-2-sumit.semwal@linaro.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200716153858.526-1-sumit.semwal@linaro.org> References: <20200716153858.526-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, 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 --- .../display/panel/tianma,nt36672a.yaml | 110 ++++++++++++++++++ 1 file changed, 110 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..3c583ca926ee --- /dev/null +++ b/Documentation/devicetree/bindings/display/panel/tianma,nt36672a.yaml @@ -0,0 +1,110 @@ +# 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 + + ports: + type: object + properties: + 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 + - ports + +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>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + tianma_nt36672a_in_0: endpoint { + remote-endpoint = <&dsi0_out>; + }; + }; + }; + }; + }; + +... From patchwork Thu Jul 16 15:38:58 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sumit Semwal X-Patchwork-Id: 11667807 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 DB32513B4 for ; Thu, 16 Jul 2020 15:39:26 +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 B55D32076A for ; Thu, 16 Jul 2020 15:39:26 +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="fQFehsID" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B55D32076A 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 2151A6EC81; Thu, 16 Jul 2020 15:39:25 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mail-pg1-x544.google.com (mail-pg1-x544.google.com [IPv6:2607:f8b0:4864:20::544]) by gabe.freedesktop.org (Postfix) with ESMTPS id 448C66EC80 for ; Thu, 16 Jul 2020 15:39:24 +0000 (UTC) Received: by mail-pg1-x544.google.com with SMTP id k27so5041979pgm.2 for ; Thu, 16 Jul 2020 08:39:24 -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=Yi1s8hLCI0RCiUfWmTLRQoY8wYRpDqwOFsfkKAMjhUw=; b=fQFehsIDo3cficVA6PISFARJwXN1tXHdBf7GQz/8cYREUZLtYfIJAauEhIJUj6ctHI zNlE4ehdseT8kUU14w3SRqmomFGqt0BWSSW9DVR0Oi78CvuL3T058Yl4OLgm4phsfx3j CNQ280cHQmZgaHk7KULfs1I/FWRE6StcT2HLvU6XzRRi7DLUe9pPJ/b1qHc6zIgV9sbs LLkYR2G9XZMK2CvUZQ4vZ2r6YQujjUBY5K71HFHTIbVukhhqAvkDtbBGF0wZUU51yLhj tvN9FiaFhNqpK1KmCl34qLUKPxbcpVCagZphw2pEBKTAQaed1RMa3iTPm7aSBNKjXuTI GWyg== 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=Yi1s8hLCI0RCiUfWmTLRQoY8wYRpDqwOFsfkKAMjhUw=; b=P4rkdinbp1fZa1pTpGcl0dewfAU23eD+UKwLkY0pzgOmQLnIulNmP6UhDEtX/CcEtl pei22YiNYs25FQtxbw4ONOwSxVhYYmYM3DY+OslVR4cCIIlsNBqRoJskNyijiWA0DjQB gcB6cuauceMSPHrsL4jmwdMg9Ps1OL1bKZDLmrhyrxz0WNh5TfCQCMiQxiADgdznFTxo qnZUVxjBqMVgWcN7iOK5jd1jye1N4eH9btfUAUY+xbljpeEWYyItBKzroM2zQ71l5Hew fY5Aftko18rUzI8y7b/G97GKnBY41eTzNKyNP55IPxMMmhm3394p2ZAnZ+ZT5bghWz+T 9pSw== X-Gm-Message-State: AOAM533jrFZCQ7LEPpB8nEtTm+XX5WJJTZ0ruiqcLtJE2hMYeeBSVfSV 3anMzx1mEGy1yLd9kO7Rkcb7ug== X-Google-Smtp-Source: ABdhPJybhffN3T48hqaV8obnExLi92YkFHiv4mvyPtccSztW49ZcRboQdT17d1OWfESzjnIOpYnifQ== X-Received: by 2002:a62:6285:: with SMTP id w127mr4088130pfb.12.1594913963378; Thu, 16 Jul 2020 08:39:23 -0700 (PDT) Received: from nagraj.local ([49.206.21.239]) by smtp.gmail.com with ESMTPSA id f14sm417056pjq.36.2020.07.16.08.39.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 16 Jul 2020 08:39:22 -0700 (PDT) From: Sumit Semwal To: Thierry Reding , Sam Ravnborg , Rob Herring Subject: [PATCH 2/2] drm: panel: Add tianma nt36672a panel driver Date: Thu, 16 Jul 2020 21:08:58 +0530 Message-Id: <20200716153858.526-3-sumit.semwal@linaro.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200716153858.526-1-sumit.semwal@linaro.org> References: <20200716153858.526-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, 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. Cc: Benni Steini Signed-off-by: Sumit Semwal --- 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..166773612ad2 --- /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