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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id EB8CAC43458 for ; Sun, 5 Jul 2026 15:37:12 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 5846410E1D9; Sun, 5 Jul 2026 15:37:12 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="BneGiib8"; dkim-atps=neutral Received: from mail-pf1-f175.google.com (mail-pf1-f175.google.com [209.85.210.175]) by gabe.freedesktop.org (Postfix) with ESMTPS id CA01410E1D9 for ; Sun, 5 Jul 2026 15:37:10 +0000 (UTC) Received: by mail-pf1-f175.google.com with SMTP id d2e1a72fcca58-845ea8924a2so2094348b3a.1 for ; Sun, 05 Jul 2026 08:37:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1783265830; x=1783870630; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=E16aKncDlgqK//n3THHMr+Ksk3AK4IYgzNSvqhuEsEs=; b=BneGiib8fCqcZAtOTrbd7fGT5rhRlgeAK157i0Z4kZ/jAhAJHL+4yhkgowH479zaX6 d0idFSc1NMuEnxGcIUmvYWHsPTeO8sAZxD5zIwJXUD33QnnDBKzMvn5VYDPsH4rUrTLB ksZaAxvh5pGWEDEy2CHqkq8Xorxdr0NEBKN6uGuTSQilEKcipWHsmdQFfBNHDyalZfhD Q0qdK/LupKaK9vwGJvwITDDdrD+4tmtowIymkw9YAiuylR5mUCD9Wsw2rqn5f6zpqEBV qMZ+7foyJIJL5QYxgqM3CmUKigAQW4ms5ACcAlqcTpkrIHHlgOvjGsxcI/6wLOnPhbZc CPzA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783265830; x=1783870630; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=E16aKncDlgqK//n3THHMr+Ksk3AK4IYgzNSvqhuEsEs=; b=rmxvF9H898Op14j81yovtxKx+aFQAiaq7JBojk87nQ1c7rOoiB3k9UpMOxNXHknIWo hTd3D6HsVLXpTNKdhwz5gEFYsH/6Pyd+jMJHtiQ48rt5CtighT3Qy10M+NIoZ9yA2+LD AZlOykxvlcb4D3hVWINctLtHC609PfVpVFAwsZ0hclEPefnxXFZ0Kz+tA6+coXrUjHF6 etjJ1VeiWQzc1aFe9mVYLmdvEELM6lDp7FOH9JfpHeAcdI+gFSjbhrifcR7sok/pPdLs YbhB90QxJrBcu9xD1jWJYuZejg/eFRgy4uOf1u3LZwTPaLDp2gUaTPMp7mBdQR5EKQw+ D2jA== X-Gm-Message-State: AOJu0YwtLw+XOzfMh9V1F5Z04B8euqyy10Xd9WDcxGoIIS/kOrUJT5p8 rrHXAgWCKAIZF+OkxA2W06OCbLQxNm4Z38xiCN8iBca1PfcRhpFKSmUh X-Gm-Gg: AfdE7cmBhef1h2ygu8+37vn/OcxKhhFi+LKqsx0A3oF7N+IU5fGQgtcTfVlovZTFFqG PfCGHUey0azMHvWIGTFgVxcxIFO9fe5OADNSHU35IRS1H5dvx8a4Lf3xWw1kSGXfYxquFA0vVkf cLZlurNzYURUc3YdaTb6U/Wp3omSQlFRnl1qyCpRKdZN4twgce+47BgLCYhqf+JlAkv5JduR/5R qxGNsG0vr9NkQ2SCiYJGQU7ucnLjw7SmtJNhkg+ENuy22k0PabW1I/xaluHMiZ0oALl0Q8oWDmV lRiNcyN4RD9T78+TP4Y5yqfAHxSJn/NZZcmgRZfCdL00JfZI6JnFW9OGGyqQgN3JwM/AxuWDfug LJgCrsXgvOX90IzNU5Eqdlk/BSnrc7jIX3HvlyWrCcR+6X1vashffOU2w3GLN1zZ1uEcBKO9429 jlgThPoHzWnwYffRIrRoX9C5Lt5MAk+Jop0EWLvJzQfnJiqjAERA== X-Received: by 2002:a05:6a00:b8a:b0:846:7fb0:4c9f with SMTP id d2e1a72fcca58-847f6d5f702mr6409616b3a.2.1783265830078; Sun, 05 Jul 2026 08:37:10 -0700 (PDT) Received: from nuvole ([144.202.86.13]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-847f6db29d1sm2402076b3a.53.2026.07.05.08.37.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 05 Jul 2026 08:37:09 -0700 (PDT) From: Pengyu Luo To: Neil Armstrong , Jessica Zhang , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Pengyu Luo Subject: [PATCH v2 2/2] drm/panel: Add Novatek NT36536 panel driver Date: Sun, 5 Jul 2026 23:35:15 +0800 Message-ID: <20260705153515.46147-3-mitltlatltl@gmail.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260705153515.46147-1-mitltlatltl@gmail.com> References: <20260705153515.46147-1-mitltlatltl@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Add a driver for panels using the Novatek NT36536 Display Driver IC, including support for the CSOT PP8807HB1-1, a dual-link 10-bit panel found in LENOVO Legion Y700 Gen4. Reviewed-by: Neil Armstrong Signed-off-by: Pengyu Luo --- v2: - Collect tags - Use devm_drm_panel_add() (Neil) --- drivers/gpu/drm/panel/Kconfig | 11 + drivers/gpu/drm/panel/Makefile | 1 + drivers/gpu/drm/panel/panel-novatek-nt36536.c | 488 ++++++++++++++++++ 3 files changed, 500 insertions(+) create mode 100644 drivers/gpu/drm/panel/panel-novatek-nt36536.c diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig index cfbfb371bc67..53c0b95c26ca 100644 --- a/drivers/gpu/drm/panel/Kconfig +++ b/drivers/gpu/drm/panel/Kconfig @@ -662,6 +662,17 @@ config DRM_PANEL_NOVATEK_NT36523 around the Novatek NT36523 display controller, such as some Boe panels used in Xiaomi Mi Pad 5 and 5 Pro tablets. +config DRM_PANEL_NOVATEK_NT36536 + tristate "Novatek NT36536 panel driver" + depends on OF + depends on DRM_MIPI_DSI + depends on BACKLIGHT_CLASS_DEVICE + select DRM_KMS_HELPER + help + Say Y here if you want to enable support for Novatek NT36536-based + display panels, such as the one found in the LENOVO Legion Y700 + Gen4. + config DRM_PANEL_NOVATEK_NT36672A tristate "Novatek NT36672A DSI panel" depends on GPIOLIB diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile index 0f29f22f589e..3b523cf37833 100644 --- a/drivers/gpu/drm/panel/Makefile +++ b/drivers/gpu/drm/panel/Makefile @@ -64,6 +64,7 @@ obj-$(CONFIG_DRM_PANEL_NOVATEK_NT35532) += panel-novatek-nt35532.o obj-$(CONFIG_DRM_PANEL_NOVATEK_NT35560) += panel-novatek-nt35560.o obj-$(CONFIG_DRM_PANEL_NOVATEK_NT35950) += panel-novatek-nt35950.o obj-$(CONFIG_DRM_PANEL_NOVATEK_NT36523) += panel-novatek-nt36523.o +obj-$(CONFIG_DRM_PANEL_NOVATEK_NT36536) += panel-novatek-nt36536.o obj-$(CONFIG_DRM_PANEL_NOVATEK_NT36672A) += panel-novatek-nt36672a.o obj-$(CONFIG_DRM_PANEL_NOVATEK_NT36672E) += panel-novatek-nt36672e.o obj-$(CONFIG_DRM_PANEL_NOVATEK_NT37700F) += panel-novatek-nt37700f.o diff --git a/drivers/gpu/drm/panel/panel-novatek-nt36536.c b/drivers/gpu/drm/panel/panel-novatek-nt36536.c new file mode 100644 index 000000000000..961bfc605b1a --- /dev/null +++ b/drivers/gpu/drm/panel/panel-novatek-nt36536.c @@ -0,0 +1,488 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Novatek NT36536 DriverIC panels driver + * Copyright (c) 2026 Pengyu Luo + * + * Based on the sample code which is generated with + * linux-mdss-dsi-panel-driver-generator + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +#include