From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wr1-f47.google.com (mail-wr1-f47.google.com [209.85.221.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 35CEB390CB5 for ; Thu, 12 Mar 2026 11:55:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.47 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773316522; cv=none; b=B0bKcSAlr9M7UtvPlO/vnVpNetcQ9B6f/t6fAzv/1RuQSLMDlTNxxHXImUtAFU0FXlCkgGLFJ5qo7Ksi3HPOk9HnzwD54R0dr9uW/gBwJ456ryp3gPTX3pt6vXHxIy67f0HS0/0rqy03XNF6nLgXgVXg5+NrU0Yc+BpPuaJtjz4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773316522; c=relaxed/simple; bh=m4dKAXdAH6DYSmhToOzqTyXzvgKyMUu2UsuHl6U3UaQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=iKquJuKC0NvhZqlcebtdMkSFPS9xY2wqZPUBkfXQSAiB1HgeBBBmCxfyjfyLk/gtrhP7gbfslqGNwjZLqEyDwas5lAkzkS5lrcmLLmfnefH2ZXh5ucEw+JwCSc21qEGMiqVGzd1od9NAf5KH2iFysWl15l+/0/V9jeiHLSB2/vM= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=S+e8gSDi; arc=none smtp.client-ip=209.85.221.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="S+e8gSDi" Received: by mail-wr1-f47.google.com with SMTP id ffacd0b85a97d-439d8df7620so675015f8f.0 for ; Thu, 12 Mar 2026 04:55:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773316518; x=1773921318; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=zJ51pF+yefCyM47+DFkZmWWHtm2Vln7aBCXDpF0opWE=; b=S+e8gSDikjcXFDfXV8fDPtql0EeKiyrLzkVikYdMgeiG2/TnZHgEk/0udwxENs4k+O Md2IryRuQIO4FqrZeFkZihU6WTh1sqVkml5wKXYNWGl+Rs6CxihSXVg5+lTAYuTtRyS7 r2hX0+DAub9uKfVUzt9iH9FlnfnVd0cCpG/rysjngCd7NLWkAlrM3ggXuI47fnvdr1G3 AW9AWZbYT9PqVQcAb/X6n+lVujoEN7rM6wZ/ay2or8zgO8hLInCpaYKk78TigD10eJYV SsBG7J24pBuvLbA46zBegb2Vi+5NYe7LkxaBF3olOl33IJNMLUpp9jn3MhBXeE9y1XOf kAgA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773316518; x=1773921318; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=zJ51pF+yefCyM47+DFkZmWWHtm2Vln7aBCXDpF0opWE=; b=IMND7R5knur1+ikwjaVJ1dvqEG7bw5bjUMIckiDRlbfJzPvauGQRLAXPGPlFqIjWdh PB6rTBddD7C3Ix4PI1ZRIvCzOXb0gYRfhKyqk9KHisKU51pyrkO9XzBi2DjFP5s87KB+ eSI++UxAu3wgbpkVSuQAoyCauPrwCfyO6Q7KcB1t+4HbTpQqaJB0zK7lBGEmZp0lcE5B oxnMg0LbU+XnZTpyai1FGTJQWpUBCC+V6O5xJrSar89PHyjGYUamzgKssoMoJXbtAqgf kiO/6fpXg0a2Y/bZHK1llCM8NCphrrjxaxBVhZJh4UJtpKAoZWHT1CjT0G41DswupDyG osrw== X-Forwarded-Encrypted: i=1; AJvYcCWhWYKT+qL4srIeh7ha3D9KNcItRXt5c5juuYuKaBY/LREkorJknd+wSiLWxzt25XmpsRpLkmN/rLw+RBev@vger.kernel.org X-Gm-Message-State: AOJu0Yz+78xluRKn5TC8YbMfzZPqRrwo6fnE/Z89N+7LuejdoFTVxWbI cmjx7SdO0ADNWQCO0iTZjRV8O2mSYoreKhZgWYPONfn+CIyq789OPLOK X-Gm-Gg: ATEYQzyxf1fKG8KA4zy8LDuoOMM36vO8kHvDD+uyRFrGsMpKfFx/GQKSmi5xJFO5siv f1YxJgqQz9UGoJuKU+tt2Eu7kTO2neynWoLYyXMjc510MCJ3saQS1KQKEmQixu/pfjlahYDeLOS BnGAl+KVd/wFxQ8JB0EkZaLUIsMazpRqlyFj+GznRA+H2du+ZLeFRh47jUFUvsykNWIcQ1eJif3 E+VaEAQF/cjcZs9f0wVXjtz6fuUNaoxzwZzEc3OdmSXx9ZP7sz12RncwQee0jJ8jrKSivPOOyzj uM4qnvm9tD2nvv7V3h8XiAaen+Y2dldkoUYxcxhks66Zg5ZZ/rYq2mAPDHipzwXx6id+4Hnd/kD gAqmZ25+4oBq4uQHtIk1jXhXzr5jcH04BVvEueX/XOXUsKEfPRXQzWfKJjGafEfs1n3pqzzQIim YZC5K1qbjU2nB0PqZBALy9NDvDjfdMMR69lU4UfhdKOmT3TpGlJDiiSc5sTvmwMlhAPLbKZdeEk g== X-Received: by 2002:a05:6000:40de:b0:439:ca7b:f4b with SMTP id ffacd0b85a97d-439f8414530mr11409322f8f.50.1773316517405; Thu, 12 Mar 2026 04:55:17 -0700 (PDT) Received: from [10.100.102.17] (89-139-129-65.bb.netvision.net.il. [89.139.129.65]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439fe22529csm7058657f8f.31.2026.03.12.04.55.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Mar 2026 04:55:16 -0700 (PDT) From: Yedaya Katsman Date: Thu, 12 Mar 2026 13:55:09 +0200 Subject: [PATCH v3 2/3] drm: panel: Add Samsung S6E8FCO DSI controller for M1906F9 panel Precedence: bulk X-Mailing-List: linux-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Message-Id: <20260312-panel-patches-v3-2-6ed8c006d0be@gmail.com> References: <20260312-panel-patches-v3-0-6ed8c006d0be@gmail.com> In-Reply-To: <20260312-panel-patches-v3-0-6ed8c006d0be@gmail.com> To: Neil Armstrong , Jessica Zhang , David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley , =?utf-8?q?Kamil_Go=C5=82da?= , Bjorn Andersson , Konrad Dybcio Cc: ~postmarketos/upstreaming@lists.sr.ht, phone-devel@vger.kernel.org, dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Yedaya Katsman X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1773316510; l=12761; i=yedaya.ka@gmail.com; s=20260113; h=from:subject:message-id; bh=m4dKAXdAH6DYSmhToOzqTyXzvgKyMUu2UsuHl6U3UaQ=; b=rJYnfQSIS0E8j9XCSofc3ODo4LiOjStxPf2kfWQ6KZPAPJoehQ0NFRs+39xmYLPNFHsb1tZc/ gtCm99/Ycn4CZdHvXUHUF28LiougZ0rZs1jF9UknyUKAD+0l/9/kapJ X-Developer-Key: i=yedaya.ka@gmail.com; a=ed25519; pk=CgNmxD3tYSws5dZfpmJfc6re/bV/f47veVijddHLytk= Add driver for Samsung S6E8FCO DSI controller for M1906F9 video mode panel, found in Xiaomi Mi A3 mobile phone. Co-developed-by: Kamil Gołda Signed-off-by: Kamil Gołda Signed-off-by: Yedaya Katsman --- MAINTAINERS | 1 + drivers/gpu/drm/panel/Kconfig | 13 + drivers/gpu/drm/panel/Makefile | 1 + .../gpu/drm/panel/panel-samsung-s6e8fco-m1906f9.c | 302 +++++++++++++++++++++ 4 files changed, 317 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index d7aee8dab903cd42c245fea3cf8971dcd99b2196..d00775a09445a8a1bd626ecfd27903471d08d33a 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -8187,6 +8187,7 @@ DRM DRIVER FOR SAMSUNG S6E8FCO PANELS M: Yedaya Katsman S: Maintained F: Documentation/devicetree/bindings/display/panel/samsung,s6e8fco-m1906f9.yaml +F: drivers/gpu/drm/panel/panel-samsung-s6e8fco-m1906f9.c DRM DRIVER FOR SAMSUNG SOFEF00 DDIC M: David Heidelberg diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig index 7a83804fedca1b688ce6fbe4295ec9009007e693..ee9cc6939f2ac1dc4542563fd73f68ac5f9ee371 100644 --- a/drivers/gpu/drm/panel/Kconfig +++ b/drivers/gpu/drm/panel/Kconfig @@ -893,6 +893,19 @@ config DRM_PANEL_SAMSUNG_S6E8AA5X01_AMS561RA01 ~5.6 inch AMOLED display, and the controller is driven by the MIPI DSI protocol with 4 lanes. +config DRM_PANEL_SAMSUNG_S6E8FCO_M1906F9 + tristate "Samsung M1906F9 panel with S6E8FCO DSI controller" + depends on OF + depends on BACKLIGHT_CLASS_DEVICE + select DRM_MIPI_DSI + select VIDEOMODE_HELPERS + help + Say Y or M here if you want to enable support for the Samsung video + mode panel M1906F9 (M1906F9SH or M1906F9SI), which uses the Samsung + S6E8FCO DSI controller. The panel has a 6.09 inch AMOLED display, + with a resolution of 720x1560. + Found in the Xiaomi Mi A3 smartphone (xiaomi-laurel). + config DRM_PANEL_SAMSUNG_SOFEF00 tristate "Samsung SOFEF00 DSI panel controller" depends on OF diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile index b9562a6fdcb38bfd0dfee9e8c11e16149ada4386..19e1e898dfd4af2d34eafe7a6ded5ad74fc7ee04 100644 --- a/drivers/gpu/drm/panel/Makefile +++ b/drivers/gpu/drm/panel/Makefile @@ -91,6 +91,7 @@ obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS427AP24) += panel-samsung-s6e88a0-ams4 obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01) += panel-samsung-s6e88a0-ams452ef01.o obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0) += panel-samsung-s6e8aa0.o obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6E8AA5X01_AMS561RA01) += panel-samsung-s6e8aa5x01-ams561ra01.o +obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6E8FCO_M1906F9) += panel-samsung-s6e8fco-m1906f9.o obj-$(CONFIG_DRM_PANEL_SAMSUNG_SOFEF00) += panel-samsung-sofef00.o obj-$(CONFIG_DRM_PANEL_SEIKO_43WVF1G) += panel-seiko-43wvf1g.o obj-$(CONFIG_DRM_PANEL_SHARP_LQ079L1SX01) += panel-sharp-lq079l1sx01.o diff --git a/drivers/gpu/drm/panel/panel-samsung-s6e8fco-m1906f9.c b/drivers/gpu/drm/panel/panel-samsung-s6e8fco-m1906f9.c new file mode 100644 index 0000000000000000000000000000000000000000..ccf18da59271dc4926a536f795a38d8eae349e00 --- /dev/null +++ b/drivers/gpu/drm/panel/panel-samsung-s6e8fco-m1906f9.c @@ -0,0 +1,302 @@ +// SPDX-License-Identifier: GPL-2.0-only +// Copyright (c) Kamil Gołda +// Copyright (c) Yedaya Katsman +// Generated with linux-mdss-dsi-panel-driver-generator from vendor device tree: +// Copyright (c) The Linux Foundation. All rights reserved. + +#include +#include +#include +#include +#include +#include + +#include