From nobody Tue Feb 10 20:49:07 2026 Received: from relay03.th.seeweb.it (relay03.th.seeweb.it [5.144.164.164]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A12352868A7 for ; Sun, 21 Dec 2025 23:32:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=5.144.164.164 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766359951; cv=none; b=IAap1A44uf11f3vku7981bW0eKgnk5rJWsGr7/8+3JcFWi8/BVC8PjXTiMZAypDRKqI1ZuGA6mRUYBssGGBKERcTV6xIyP4s93ewcOTNlCNeRSlQMFYH8PNT6JnkwhJ4upWh3soUoyWez7VekN08QjUo6ioxd7C6N+3OL0GT7Fc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766359951; c=relaxed/simple; bh=MoTvtDR5OLqdv3Xf0lrnPYulOnh4TDvo2jKiD8fpc00=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=qgX8CW9HmU18iKsRnDcfnEy8YNWCuzbxtWtf3oW9nFHhGEXJnLQgYbYpI2hdwx5DrtGO5MflNfrmaM6aWb/Z7WJWASje+d5egGHvFaesZKcGu90acQ3ovdS6+mYk9r39IikYRnNyMt8BtZxTmhoDKVdiDFs0Mx2BV6gbIMY0r0g= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=somainline.org; spf=pass smtp.mailfrom=somainline.org; arc=none smtp.client-ip=5.144.164.164 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=somainline.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=somainline.org Received: from Marijn-Arch-PC.localdomain (94-211-6-86.cable.dynamic.v4.ziggo.nl [94.211.6.86]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by m-r1.th.seeweb.it (Postfix) with ESMTPSA id 056CB1F8F4; Mon, 22 Dec 2025 00:32:20 +0100 (CET) From: Marijn Suijten Date: Mon, 22 Dec 2025 00:32:13 +0100 Subject: [PATCH v2 07/11] drm/panel: Add panel driver for Samsung SOFEF03-M DDIC Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251222-drm-panels-sony-v2-7-82a87465d163@somainline.org> References: <20251222-drm-panels-sony-v2-0-82a87465d163@somainline.org> In-Reply-To: <20251222-drm-panels-sony-v2-0-82a87465d163@somainline.org> To: Neil Armstrong , Sam Ravnborg , David Airlie , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Andy Gross , Bjorn Andersson , Jessica Zhang , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Simona Vetter , Casey Connolly , Rob Herring , Krzysztof Kozlowski , Simona Vetter Cc: ~postmarketos/upstreaming@lists.sr.ht, AngeloGioacchino Del Regno , Martin Botka , Jami Kettunen , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-msm@vger.kernel.org, Abhinav Kumar , Kuogee Hsieh , Jessica Zhang , AngeloGioacchino Del Regno , Konrad Dybcio , Marijn Suijten , Konrad Dybcio , Dmitry Baryshkov , Konrad Dybcio X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=15612; i=marijn.suijten@somainline.org; h=from:subject:message-id; bh=MoTvtDR5OLqdv3Xf0lrnPYulOnh4TDvo2jKiD8fpc00=; b=owEBbQKS/ZANAwAKAfFi0jHH5IZ2AcsmYgBpSIN7rwmDYyhNKFNFbMTxMBe+twniHpYaDu6HC Zn9+uf7GSGJAjMEAAEKAB0WIQROiwG5pb6la1/WZxbxYtIxx+SGdgUCaUiDewAKCRDxYtIxx+SG dsFlD/9QFC8HNHOxyZN/oYztQixd6hAREE3UW7PQx5BAnBC8a2UjDm4MRR4SI5H5I0OdSpFz277 R3x67bSnj4lE0GDxFhfV8IMiN+bUFphfIOsWxYe9uq1Ls/dhHvyGrq6L5HbkQuJkhlQmqMeNoef wUx2g41uRA0MRVSK0nXqfQj5hXVd0/jGbZyPOMjConXXejqVGWi6aku41bwKn18303YYJwesV9Y e1JZUwDthyFMJms+sJO8aP9KqyPCx/TgxS1g7qtc7v/3jtnKPleluJHqZvHAveCAk2MEMthana8 2CN32kjKWY/z5Vo4jAv+NkJTQP6aykyyENsF2TR69xoiqaJJTEs3AD4O6W5A7h7tIdU91bmAb4g 8m1nredGuxdVxwy5WmU0qtc+R8hK1D3Nf5+TzzKC31PiRN1SxvHZ4a+OI4WuHzs909pOKERjSvB zTHS3Ldk/kqFOey6VlLqJ0j4KIO9JB5KluQIB1+SbybSAJjclO6httwAj3AY1O5wAWfQiqIl5a1 /AJwU83/HxloBHVNvr08pZoITZmI4XRgBYb5ioTXbdQXndLTI3DxkYsEPMjb7Bs9vrfJ4Uy7HK7 WDpoF4heI2LL4URfvP+VmGtgm/FL4DssvJmHE+TooqFkJgmVGOuev0acWK7p4zE0ZVj2iyu7WOK f0cPf2YSFQgH9yA== X-Developer-Key: i=marijn.suijten@somainline.org; a=openpgp; fpr=4E8B01B9A5BEA56B5FD66716F162D231C7E48676 The SOFEF03-M Display-Driver-IC is paired with a amb609vp01 panel on the Sony Xperia 5 II and amb609vp04 panel on the Sony Xperia 5 III. It requires Display Stream Compression 1.1 which allows the panels to run at 120Hz, even though a 60Hz mode is available too. Downstream porch values are retained; despite not being used in command-mode they are useful to artificially bump the clock values to account for "transfer overhead" while that calculation is still missing from the MSM DSI host driver. Co-developed-by: Konrad Dybcio Signed-off-by: Konrad Dybcio Signed-off-by: Marijn Suijten --- MAINTAINERS | 1 + drivers/gpu/drm/panel/Kconfig | 16 ++ drivers/gpu/drm/panel/Makefile | 1 + drivers/gpu/drm/panel/panel-samsung-sofef03.c | 373 ++++++++++++++++++++++= ++++ 4 files changed, 391 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index e48dd7f5a115..28135743ca0c 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -8204,6 +8204,7 @@ DRM DRIVER FOR SAMSUNG SOFEF03 DDIC M: Marijn Suijten S: Maintained F: Documentation/devicetree/bindings/display/panel/samsung,sofef03-m.yaml +F: drivers/gpu/drm/panel/panel-samsung-sofef03.c =20 DRM DRIVER FOR SHARP MEMORY LCD M: Alex Lanzano diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig index 2f06b48dfb89..1f148bc5b068 100644 --- a/drivers/gpu/drm/panel/Kconfig +++ b/drivers/gpu/drm/panel/Kconfig @@ -953,6 +953,22 @@ config DRM_PANEL_SAMSUNG_SOFEF01 =20 This Display-IC features a fixed 1080x2520@60 mode. =20 +config DRM_PANEL_SAMSUNG_SOFEF03 + tristate "Samsung SOFEF03-M DSI cmd mode panels" + depends on GPIOLIB + depends on OF + depends on DRM_MIPI_DSI + depends on BACKLIGHT_CLASS_DEVICE + select DRM_DISPLAY_DSC_HELPER + select DRM_DISPLAY_HELPER + help + Say Y or M here if you want to enable support for the Samsung 6.1" AMOL= ED + DSI command mode panel found in the Sony Xperia 5 II and Sony Xperia 5 = III + smartphones (both amb609vp01 panel). + + This Display-IC uses Display Stream Compression 1.1 and features a + 1080x2520@60 and 1080x2520@120 mode. + config DRM_PANEL_SEIKO_43WVF1G tristate "Seiko 43WVF1G panel" depends on OF diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile index cbd9ef23b8d8..a9636f5f433a 100644 --- a/drivers/gpu/drm/panel/Makefile +++ b/drivers/gpu/drm/panel/Makefile @@ -95,6 +95,7 @@ obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0) +=3D panel-samsun= g-s6e8aa0.o obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6E8AA5X01_AMS561RA01) +=3D panel-samsung-s= 6e8aa5x01-ams561ra01.o obj-$(CONFIG_DRM_PANEL_SAMSUNG_SOFEF00) +=3D panel-samsung-sofef00.o obj-$(CONFIG_DRM_PANEL_SAMSUNG_SOFEF01) +=3D panel-samsung-sofef01.o +obj-$(CONFIG_DRM_PANEL_SAMSUNG_SOFEF03) +=3D panel-samsung-sofef03.o obj-$(CONFIG_DRM_PANEL_SEIKO_43WVF1G) +=3D panel-seiko-43wvf1g.o obj-$(CONFIG_DRM_PANEL_SHARP_LQ079L1SX01) +=3D panel-sharp-lq079l1sx01.o obj-$(CONFIG_DRM_PANEL_SHARP_LQ101R1SX01) +=3D panel-sharp-lq101r1sx01.o diff --git a/drivers/gpu/drm/panel/panel-samsung-sofef03.c b/drivers/gpu/dr= m/panel/panel-samsung-sofef03.c new file mode 100644 index 000000000000..f9399aab0623 --- /dev/null +++ b/drivers/gpu/drm/panel/panel-samsung-sofef03.c @@ -0,0 +1,373 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Copyright (c) 2022 Konrad Dybcio + * Copyright (c) 2023 Marijn Suijten + * + * Based on the following Sony downstream DTS command sequences: + * - Xperia 5 II (edo pdx206): https://github.com/sonyxperiadev/kernel-cop= yleft-dts/blob/58.2.A.10.xxx/somc/dsi-panel-sofef03_m-fhd_plus.dtsi + * - Xperia 5 III (sagami pdx214): https://github.com/sonyxperiadev/kerne= l-copyleft-dts/blob/61.2.A.0.xxx/somc/dsi-panel-sofef03_m-amb609vp01-fhd_pl= us.dtsi + */ + +#include +#include +#include +#include +#include +#include + +#include