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 8A5CEC79F99 for ; Tue, 8 Sep 2026 07:09:01 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id B072610EA42; Tue, 8 Sep 2026 07:08:46 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="iIU2YEIZ"; dkim-atps=neutral Received: from mail-wr1-f52.google.com (mail-wr1-f52.google.com [209.85.221.52]) by gabe.freedesktop.org (Postfix) with ESMTPS id B8AE310E7B5 for ; Mon, 7 Sep 2026 11:52:51 +0000 (UTC) Received: by mail-wr1-f52.google.com with SMTP id ffacd0b85a97d-482e4998d28so2724274f8f.2 for ; Mon, 07 Sep 2026 04:52:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788781970; x=1789386770; 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:content-type; bh=D7R3VJcHDlomCHsnFsSOZiYtq/P5zAezYH17tYJWimU=; b=iIU2YEIZcJJE2CK3jpoDtE967KccEPTqESNE4UQ2qAKeajeWrKTfs9U3cq6sDcMAxK HIv1EPUx0nCjBB2g+FrMjTDk7D6tapMwBom6czH4HnOj+JvDO3lCzKb9rSBmw4sU2nCP xDy82NpuFq7wdgi2AN2DWFi/9uA/L54tPOH14aBcbmlBlaQJkcBfNQqKkHQ9npWsgss2 FO8q96u99HJCcOlcehqLnjhkFdwColnS9cMl0JffIVfZLKeIMng30rkc+qVCNfq45FIp DQeQIquilkb+Oyjl6SQ7z+jTzouOchnOH165/R2j1MQhR4euDYCUUWP74Mv7sY3zjKAY FJtg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788781970; x=1789386770; 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:content-type; bh=D7R3VJcHDlomCHsnFsSOZiYtq/P5zAezYH17tYJWimU=; b=Jl9136+4MgsefxdprIJANRBlxVvGI7msjR0hH4DxhZUK8RNAQuuGyv/JyAvkYqjRH3 /K7GYERnjbgW6Slv0pu1H9Gfbwh4XTFLdXu+jR0DKESr127Ro5Zer1BSBYGHIxE2mur5 aEp7bs4BNcRog5BH+9xUreIPHzyObk3siCimpQ9EWCj8hzVlu/k5j4AxVKymFrgD4Nr5 0p0XBIguRpVTopiMzyl09GM4tve86LzkJU90wamX6q3o74PknT70MpV6msvoleNsxaLw z6ntrc4rwPYSb+lrrYVLSuqQLL9y4idB/sk+REWqWbApBvwU2g2oAgVZQrWctoeXEOlr pzXA== X-Forwarded-Encrypted: i=1; AKwUvBygTz5yd2+VwjxLf73lWuaxoYk7bPlzs58hiBZvxkcoaAZF9McJiPTFkAeSLFm1FFNM3ZrR/Z+Zoac=@lists.freedesktop.org X-Gm-Message-State: AFuF++lgBsAPNaWalm+/6TPikPf0CZ6IfzQxtHbzWUFXDl+qttCSZ7ZQ W34NXRNkocVn6Al8u8fA6QvWfPU8qJaoqCLVgnzRCZ2cNekgNa9823iE X-Gm-Gg: AYBFou0xT7vQ9OZa1GCilOcUO/SI9wbtBPB1WX8MYVLm3GAfsWd5p4I6kHKJsQdWWq+ gcU4vyqnVOsDk98O4AJOx8axOt/UCO0ezdV03iOyFDurU6C/B1DSIJDhFAO+ZGmODyC74Bw+tnp Hzw217HJF7uQhTkTVQEuMuKZGGCDMv1LnZD95PKMuBGFe7qKv82C7Zo1hVE9dZOBiZ/m6qy9ARX RRZaWIsZWmq9yQ8HwF79bDfKxQ1dFTtxVGtLxtHJ07woL4EWm2n0q6WnyJHzCnLU3j5fYESYLCR kbthTmzPZsvNTnHt5ubRUd3MB6z1hFECQWk2ur0UxGftyOhh8pPzz+CsI1cQw6MdO9k1G9bH83o wq11/PEror7YTgZeSfZO5QiAvoWAnn0PaBd+Kk5+i4zJzctGLZc6w29gnU+9x7kNGwjmkzO22RS 4o3PNPFD1HE59L6FXde78HEY92oYy9gLrdnJ/YViS1mouN2eC2NvkZFAANwLQvz3CnQyZW7MiUn Sk= X-Received: by 2002:a05:600c:4fc5:b0:49c:fe18:6dd5 with SMTP id 5b1f17b1804b1-49cfe186dfemr187825235e9.29.1788781969872; Mon, 07 Sep 2026 04:52:49 -0700 (PDT) Received: from Empers0n ([193.23.219.104]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4858d2693e8sm26830718f8f.3.2026.09.07.04.52.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Sep 2026 04:52:49 -0700 (PDT) From: Vsevolod Nevorotov To: neil.armstrong@linaro.org, robh@kernel.org, krzk+dt@kernel.org Cc: jesszhan0024@gmail.com, conor+dt@kernel.org, airlied@gmail.com, simona@ffwll.ch, mripard@kernel.org, tzimmermann@suse.de, maarten.lankhorst@linux.intel.com, dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Vsevolod Nevorotov Subject: [PATCH 2/2] drm/panel: Add Samsung AMS662ZS01 panel driver Date: Mon, 7 Sep 2026 18:51:30 +0700 Message-ID: <20260907115130.95394-3-sevanevorotov29@gmail.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260907115130.95394-1-sevanevorotov29@gmail.com> References: <20260907115130.95394-1-sevanevorotov29@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Mailman-Approved-At: Tue, 08 Sep 2026 07:08:43 +0000 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 support for the Samsung AMS662ZS01 AMOLED display panel used in the OnePlus 9RT (martini) smartphone. The panel operates in Command Mode with DSC (Display Stream Compression) enabled at 1080x2400 resolution at 60Hz. Signed-off-by: Vsevolod Nevorotov --- drivers/gpu/drm/panel/Kconfig | 13 + drivers/gpu/drm/panel/Makefile | 1 + .../gpu/drm/panel/panel-samsung-ams662zs01.c | 398 ++++++++++++++++++ 3 files changed, 412 insertions(+) create mode 100644 drivers/gpu/drm/panel/panel-samsung-ams662zs01.c diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig index cbdf7b8f7f7..c94116ca42c 100644 --- a/drivers/gpu/drm/panel/Kconfig +++ b/drivers/gpu/drm/panel/Kconfig @@ -904,6 +904,19 @@ config DRM_PANEL_SAMSUNG_AMS639RQ08 Say Y or M here if you want to enable support for the Samsung AMS639RQ08 FHD Plus (2340x1080@60Hz) CMD mode panel. +config DRM_PANEL_SAMSUNG_AMS662ZS01 + tristate "Samsung AMS662ZS01 panel" + depends on GPIOLIB && OF && REGULATOR + depends on DRM_MIPI_DSI + depends on BACKLIGHT_CLASS_DEVICE + select DRM_DISPLAY_HELPER + select DRM_DISPLAY_DSC_HELPER + help + Say Y or M here if you want to enable support for the + Samsung AMS662ZS01 FHD Plus (1080x2400@60Hz) DSC CMD mode panel. + This panel is connected via MIPI DSI interface and is + primarily found in the OnePlus 9RT smartphone. + config DRM_PANEL_SAMSUNG_S6E88A0_AMS427AP24 tristate "Samsung AMS427AP24 panel with S6E88A0 controller" depends on GPIOLIB && OF && REGULATOR diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile index 3b523cf3783..fc5cfc4dd6b 100644 --- a/drivers/gpu/drm/panel/Makefile +++ b/drivers/gpu/drm/panel/Makefile @@ -88,6 +88,7 @@ obj-$(CONFIG_DRM_PANEL_RENESAS_R69328) += panel-renesas-r69328.o obj-$(CONFIG_DRM_PANEL_RONBO_RB070D30) += panel-ronbo-rb070d30.o obj-$(CONFIG_DRM_PANEL_SAMSUNG_AMS581VF01) += panel-samsung-ams581vf01.o obj-$(CONFIG_DRM_PANEL_SAMSUNG_AMS639RQ08) += panel-samsung-ams639rq08.o +obj-$(CONFIG_DRM_PANEL_SAMSUNG_AMS662ZS01) += panel-samsung-ams662zs01.o obj-$(CONFIG_DRM_PANEL_SAMSUNG_ATNA33XC20) += panel-samsung-atna33xc20.o obj-$(CONFIG_DRM_PANEL_SAMSUNG_DB7430) += panel-samsung-db7430.o obj-$(CONFIG_DRM_PANEL_SAMSUNG_LD9040) += panel-samsung-ld9040.o diff --git a/drivers/gpu/drm/panel/panel-samsung-ams662zs01.c b/drivers/gpu/drm/panel/panel-samsung-ams662zs01.c new file mode 100644 index 00000000000..52e7e75c08b --- /dev/null +++ b/drivers/gpu/drm/panel/panel-samsung-ams662zs01.c @@ -0,0 +1,398 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Samsung AMS662ZS01 6.62" 1080x2400 AMOLED DSI command-mode panel with DSC. + * + * Found on the OnePlus 9RT (oneplus,martini). Both panel revisions the vendor + * tree carries -- "samsung ams662zs01 fhd cmd mode dsc dsi panel" and its + * dvt respin, which the martini bootloader hands off as + * msm_drm.dsi_display0=qcom,mdss_dsi_samsung_ams662zs01_dvt_dsc_cmd -- share + * one initialisation sequence and one set of timings; the revisions differ only + * in the HBM/fingerprint brightness tables, which this driver does not use. + * + * Command sequences and timings transcribed from + * arch/arm64/boot/dts/vendor/qcom/display/dsi-panel-samsung_ams662zs01_dvt_dsc_cmd.dtsi + * in the vendor kernel (timing0, the 60 Hz mode). + */ + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +#include