From nobody Tue Feb 10 05:46:42 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 746A128468D; Sun, 21 Dec 2025 23:32:26 +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=NcZOPlHYozkSUee4RLlObC54lH1Nj5QTO4KrGURMoDpPFXfpveOtLXG9scNjdHvZron0drw65XXy7z/1qdCQO8jlJV2Vxu2jgF4UNAAb3DFDO3A1qbqWOvv5BwjxFIfNJe19lazv2NhqaCcz7O5IO6NrxQElS0ZkLMznjhHeNzo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766359951; c=relaxed/simple; bh=z67M9fQe2hX+3M6f4zMrDjrViqpu1n2VQnJYBikiItI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=l97yUKXu0LfLLyzks7wW5a31DGihMU7ANde3AgSq5TGVso2hi08f2I+uqP4NAt20+oQ4ird0eeSGoVyfwoTqo6HLkYv2pRmU07yX5D15HKypoDZxI4iVNj8VxgrqpjrX5MgUNSrRvm2PqmSX5moTF+FanqWneBAEeFpeL2IY+EE= 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 89AA11F8E8; Mon, 22 Dec 2025 00:32:18 +0100 (CET) From: Marijn Suijten Date: Mon, 22 Dec 2025 00:32:11 +0100 Subject: [PATCH v2 05/11] drm/panel: Add panel driver for Samsung SOFEF01 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-5-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 X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=20022; i=marijn.suijten@somainline.org; h=from:subject:message-id; bh=z67M9fQe2hX+3M6f4zMrDjrViqpu1n2VQnJYBikiItI=; b=owEBbQKS/ZANAwAKAfFi0jHH5IZ2AcsmYgBpSIN7k1SlWjAiMZ+9obLKirnV5wKfT0/V8qh6+ lcNVt4tL3uJAjMEAAEKAB0WIQROiwG5pb6la1/WZxbxYtIxx+SGdgUCaUiDewAKCRDxYtIxx+SG dio8D/9eSxGD27gyvjUfpAQlmrS0qixw2cZWkjlP7F3pyqT7F9Z7OorhSBWK/hKKF9XHRK6/yYE ccdMly5b5VtHDqeBBpd9t88VLswrWlxASF6B7JYUx70ie/KQdqmhU0MsMktF/uJ6co+K04XORSy 3L1H4qhf5aarggKtTWQiKhraT8ZBokcoO10BkCxwlI3iqw8BFkoACdWjh1SRVePK4rwRG2ogkUI 6VWK2hcc66Ubjg6mRh94kFYZN3yvD6qDhPCg2Q2KgqlE3ybqoZhJXQYhTN7qKIAnDGrKf/wMqpf kp0nmc2tq+Ya9YUeDl36nPJFiY4Kp5FW/L0BbuDycV0wSc0G5Z7GPS+SkpzGKCIj7H1MEzjxMfn kwusZRd9RaqoSETFTzCrIY0aBaITS/gPXvwFsbzWuVmHGOc/9nOGlHxvJSI/RtXbAaGYHfQQYgf vLCniaOexeAQJKQXcN98L6EBMD7ZGW3niGbTHviqpmk/oqbWgpdKmf2zO7nTzFEF2hfokQZkRIc PMSEDZMlnx2zjoE0/KsCtDPo/YT06M8Ue4XELfVMgYYQ8i8r/STHY71uT8EM2xi8nHUxxy+FwD2 yNeEMWCcc89DPle2zBfJzbNOKG4c3/+mkT8mEwUwTq/N0zins1ZRtzFEbwaTcIRP4BAJCTPFbbP gXzCyGO9kDJsLCQ== X-Developer-Key: i=marijn.suijten@somainline.org; a=openpgp; fpr=4E8B01B9A5BEA56B5FD66716F162D231C7E48676 This Samsung SOFEF01-M Display-Driver-IC is used to drive 1080x2520@60Hz command-mode DSI panels found in many Sony phones: - Sony Xperia 5 (kumano bahamut): amb609tc01 - Sony Xperia 10 II (seine pdx201): ams597ut01 - Sony Xperia 10 III (lena pdx213): ams597ut04 - Sony Xperia 10 IV (murray pdx225): ams597ut05 - Sony Xperia 10 V (zambezi pdx235): ams605dk01 - Sony Xperia 10 VI (columbia pdx246): ams605dk01 The amb609tc01 and ams605dk01 come in slightly larger at 6.1" while the others are 6.0". A "fake" porch calculation is included to artificially bump the clock rate necessary to account for "transfer overhead" (DSI packet headers) since this is missing from the MSM DSI host driver; porches aren't otherwise used on command-mode panels. Signed-off-by: Marijn Suijten --- MAINTAINERS | 1 + drivers/gpu/drm/panel/Kconfig | 18 + drivers/gpu/drm/panel/Makefile | 1 + drivers/gpu/drm/panel/panel-samsung-sofef01.c | 463 ++++++++++++++++++++++= ++++ 4 files changed, 483 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index 93468dde9df2..cd2c924749d3 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -8198,6 +8198,7 @@ DRM DRIVER FOR SAMSUNG SOFEF01 DDIC M: Marijn Suijten S: Maintained F: Documentation/devicetree/bindings/display/panel/samsung,sofef01-m.yaml +F: drivers/gpu/drm/panel/panel-samsung-sofef01.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 10381291707e..2f06b48dfb89 100644 --- a/drivers/gpu/drm/panel/Kconfig +++ b/drivers/gpu/drm/panel/Kconfig @@ -935,6 +935,24 @@ config DRM_PANEL_SAMSUNG_SOFEF00 =20 Samsung AMS628NW01 (found in OnePlus 6, 1080x2280@60Hz) =20 +config DRM_PANEL_SAMSUNG_SOFEF01 + tristate "Samsung SOFEF01-M DSI cmd mode panels" + depends on GPIOLIB + depends on OF + depends on DRM_MIPI_DSI + depends on BACKLIGHT_CLASS_DEVICE + help + Say Y or M here if you want to enable support for the Samsung 6.0"/6.1" + AMOLED DSI command mode panels found in multiple Sony smartphones: + - Sony Xperia 5 (kumano bahamut): amb609tc01 + - Sony Xperia 10 II (seine pdx201): ams597ut01 + - Sony Xperia 10 III (lena pdx213): ams597ut04 + - Sony Xperia 10 IV (murray pdx225): ams597ut05 + - Sony Xperia 10 V (zambezi pdx235): ams605dk01 + - Sony Xperia 10 VI (columbia pdx246): ams605dk01 + + This Display-IC features a fixed 1080x2520@60 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 186eb895af21..cbd9ef23b8d8 100644 --- a/drivers/gpu/drm/panel/Makefile +++ b/drivers/gpu/drm/panel/Makefile @@ -94,6 +94,7 @@ obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01) +=3D p= anel-samsung-s6e88a0-ams4 obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0) +=3D panel-samsung-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_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-sofef01.c b/drivers/gpu/dr= m/panel/panel-samsung-sofef01.c new file mode 100644 index 000000000000..bb1cefd16fe9 --- /dev/null +++ b/drivers/gpu/drm/panel/panel-samsung-sofef01.c @@ -0,0 +1,463 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Copyright (c) 2023 Marijn Suijten + * + * Based on the following Sony downstream DTS command sequences: + * - Xperia 5 (kumano bahamut): https://github.com/sonyxperiadev/kernel-co= pyleft/blob/55.2.A.4.xxx/arch/arm64/boot/dts/somc/dsi-panel-sofef01_m-fhd_p= lus.dtsi + * - Xperia 10 II (seine pdx201): https://github.com/sonyxperiadev/kernel-= copyleft/blob/59.1.A.2.xxx/arch/arm64/boot/dts/somc/dsi-panel-sofef01_m-fhd= _plus.dtsi + * - Xperia 10 III (lena pdx213): https://github.com/sonyxperiadev/kernel-= copyleft-dts/blob/62.1.A.0.xxx/qcom/dsi-panel-pdx213-amoled-fhd-cmd.dtsi + * - Xperia 10 IV (murray pdx225): https://github.com/sonyxperiadev/kernel= -copyleft-dts/blob/65.1.A.4.xxx/qcom/dsi-panel-samsung-amoled-fhd-cmd.dtsi + * - Xperia 10 V (zambezi pdx235): https://github.com/sonyxperiadev/kernel= -copyleft-dts/blob/68.2.A.2.xxx/qcom/dsi-panel-samsung-amoled-fhd-cmd.dtsi + * - Xperia 10 VI (columbia pdx246): https://github.com/sonyxperiadev/kern= el-copyleft-dts/blob/70.0.A.2.xxx/qcom/dsi-panel-samsung-amoled-fhd-cmd.dtsi + */ + +#include +#include +#include +#include +#include +#include + +#include