From nobody Mon Feb 9 03:58:27 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 3896326E719; Thu, 23 Oct 2025 20:24:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761251070; cv=none; b=YLDuC5M/xFz8jvY/PuEJ6Hr3cFoqU10VTBAkjle1oKyf7lGAmKBN/yqVEMPNdr3eLNWu1hHpoOzKZKHMNbMPeHoUzyua6L4QLbziwpIOAm8UGDPgPxOnR49rb9jsP8x7wJXHThE1mC77xSt7AMYtyMC7sFWBNLnw1dApOCu5qQU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761251070; c=relaxed/simple; bh=hrSoxz9CH1kqDv6Ri64XokVQtRLQxRMmwtpqzsOFQ2Q=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=RIvnXe5UCbtDUUzcyDtixwcoCReZQDij2K8GF+kKKfrOZ/jPovxH9ozCsoJsry0i8YsbjFdgrozbN1f4qs5wA4e/uqKrUNUzEU36jwG2RlXrGTjO8dDQS3d571ERoRdxbdnBuiKtBYLHBSA7/TkwEvFZz98ukuBWIWXyA86Dz8U= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=PmHvhy4Z; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="PmHvhy4Z" Received: by smtp.kernel.org (Postfix) with ESMTPS id 9891CC4CEFF; Thu, 23 Oct 2025 20:24:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1761251069; bh=hrSoxz9CH1kqDv6Ri64XokVQtRLQxRMmwtpqzsOFQ2Q=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=PmHvhy4ZXJUp2Xu476TWgEp5x7jsmvy1yeMdusPH++WTN8fwsXTxL76Iedg+SS6PK FBLx/95tMxAb/9KxiAlJ8yg514sNnAd+uPxDIf1Dx4VLklXDafiBTkr0SE3ZGIbJWO sVnS1tMNd7fOo1Gg931RiVUc65tH6CcjyIQYNww6GE1PFLQ5Vl4TzKNd6+WiUxVOJz +d++BcvBhaiJorhu2JYYywU0r8XMAWzxNkT2TBMmQ3mqTyV0ZVJFDXNfs/dAkFF2AO zaBBtJ1hiFUm4+3NvHvNDTHpcawZKj4/BNoL9tZhh3FQZ+xvRRTl8b4lTSfkLKVSPo +UAaAZzU5WfBg== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 87308CCD1BF; Thu, 23 Oct 2025 20:24:29 +0000 (UTC) From: David Heidelberg via B4 Relay Date: Thu, 23 Oct 2025 22:24:25 +0200 Subject: [PATCH v5 1/6] dt-bindings: panel: Add Samsung S6E3FC2X01 DDIC with panel 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: <20251023-s6e3fc2x01-v5-1-8f8852e67417@ixit.cz> References: <20251023-s6e3fc2x01-v5-0-8f8852e67417@ixit.cz> In-Reply-To: <20251023-s6e3fc2x01-v5-0-8f8852e67417@ixit.cz> To: Neil Armstrong , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Thierry Reding , Sam Ravnborg , Bjorn Andersson , Konrad Dybcio , Casey Connolly , Jessica Zhang Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, phone-devel@vger.kernel.org, David Heidelberg X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=4403; i=david@ixit.cz; h=from:subject:message-id; bh=kqa+wQ3/DjHfL2kOwlvKST0xezyy2KSPY0tFwprPaRs=; b=owEBbQKS/ZANAwAIAWACP8TTSSByAcsmYgBo+o77zml2ozlxbZtplQ7KuU1DF4M5F1lokxsh1 WqYPxB9u5yJAjMEAAEIAB0WIQTXegnP7twrvVOnBHRgAj/E00kgcgUCaPqO+wAKCRBgAj/E00kg ciZKD/kBB+PKuluUUI4inB3vv85zAsu095I/BCBaBm0XwIYbs1dKPdpS8zcqjvVtEJHmCV6+3kJ QytoGMRoQF7TQlwWe0wePZs1Y6+rgyM+tzBN+0TJHXjBS4Ycwi0oNEKehncvn5WVdq9hFbrsHdm xKjhPJXZZW3aRgdY+rpSxn39biDilQuxqUtYfJIkusa1qv5wPVc/VkD2qbeXK5JESKKqaK8aBvB mMaZfHrdf1Q9i+rILRJEpUrnu/v9JkHn2tP9AwwDkGW6UMtzFIVCDO/RpTxOvH2hoowqgjkICP5 EX3SelH43uraZ4aKV79Sf0pFyFsJ5VzFH60PVnwsaAi0H0hbXQkN2o/5TzkZCPrBLEjz04nFxRp bVeyPlEN3JtPFsEwXaK2u+JtUCSLcOSWVlaRi0y2gBqAVeT27Uya25DJuWIvnYIMCAfqsyIaMw/ Hl0Dlt5je69Pz5b4ONIahN8sjN5xUnZYxNiqt5Hx1FC+hEIDn/A240dFfo+MCDAHjCpTSWpWLKM 4O4Ek9b5owQAFby9cK3Z2lRlobMt8lfsWiuEbMbDmgPHw6gWHG//eyRitvMMsjDsqS2LW88FXe3 D65BuMMvNSxeZfWQqmOn/03eI5p0fc/pwEP6k9w/K9hHOslaWnN940zUtNqpAy0OwgSz0gCeBIE nShUbDcLUtr4wLA== X-Developer-Key: i=david@ixit.cz; a=openpgp; fpr=D77A09CFEEDC2BBD53A7047460023FC4D3492072 X-Endpoint-Received: by B4 Relay for david@ixit.cz/default with auth_id=355 X-Original-From: David Heidelberg Reply-To: david@ixit.cz From: David Heidelberg Basic description for S6E3FC2X01 DDIC with attached panel AMS641RW. Samsung AMS641RW is 6.41 inch, 1080x2340 pixels, 19.5:9 ratio panel This panel has three supplies, while panel-simple-dsi is limited to one. There is no user of this compatible, nor the compatible make sense. Remove it from simple DSI panel definitions. Signed-off-by: David Heidelberg Reviewed-by: Rob Herring (Arm) --- .../bindings/display/panel/panel-simple-dsi.yaml | 3 - .../bindings/display/panel/samsung,s6e3fc2x01.yaml | 81 ++++++++++++++++++= ++++ MAINTAINERS | 5 ++ 3 files changed, 86 insertions(+), 3 deletions(-) diff --git a/Documentation/devicetree/bindings/display/panel/panel-simple-d= si.yaml b/Documentation/devicetree/bindings/display/panel/panel-simple-dsi.= yaml index 9b92a05791ccf..ac2db8cf5eb76 100644 --- a/Documentation/devicetree/bindings/display/panel/panel-simple-dsi.yaml +++ b/Documentation/devicetree/bindings/display/panel/panel-simple-dsi.yaml @@ -56,8 +56,6 @@ properties: - panasonic,vvx10f034n00 # Samsung s6e3fa7 1080x2220 based AMS559NK06 AMOLED panel - samsung,s6e3fa7-ams559nk06 - # Samsung s6e3fc2x01 1080x2340 AMOLED panel - - samsung,s6e3fc2x01 # Samsung sofef00 1080x2280 AMOLED panel - samsung,sofef00 # Shangai Top Display Optoelectronics 7" TL070WSH30 1024x600 TFT L= CD panel @@ -80,7 +78,6 @@ allOf: properties: compatible: enum: - - samsung,s6e3fc2x01 - samsung,sofef00 then: properties: diff --git a/Documentation/devicetree/bindings/display/panel/samsung,s6e3fc= 2x01.yaml b/Documentation/devicetree/bindings/display/panel/samsung,s6e3fc2= x01.yaml new file mode 100644 index 0000000000000..d48354fb52ea0 --- /dev/null +++ b/Documentation/devicetree/bindings/display/panel/samsung,s6e3fc2x01.ya= ml @@ -0,0 +1,81 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/panel/samsung,s6e3fc2x01.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Samsung S6E3FC2X01 AMOLED DDIC + +description: The S6E3FC2X01 is display driver IC with connected panel. + +maintainers: + - David Heidelberg + +allOf: + - $ref: panel-common.yaml# + +properties: + compatible: + items: + - enum: + # Samsung 6.41 inch, 1080x2340 pixels, 19.5:9 ratio + - samsung,s6e3fc2x01-ams641rw + - const: samsung,s6e3fc2x01 + + reg: + maxItems: 1 + + reset-gpios: true + + port: true + + vddio-supply: + description: VDD regulator + + vci-supply: + description: VCI regulator + + poc-supply: + description: POC regulator + +required: + - compatible + - reset-gpios + - vddio-supply + - vci-supply + - poc-supply + +unevaluatedProperties: false + +examples: + - | + #include + + dsi { + #address-cells =3D <1>; + #size-cells =3D <0>; + + panel@0 { + compatible =3D "samsung,s6e3fc2x01-ams641rw", "samsung,s6e3fc2= x01"; + reg =3D <0>; + + vddio-supply =3D <&vreg_l14a_1p88>; + vci-supply =3D <&s2dos05_buck1>; + poc-supply =3D <&s2dos05_ldo1>; + + te-gpios =3D <&tlmm 10 GPIO_ACTIVE_HIGH>; + reset-gpios =3D <&tlmm 6 GPIO_ACTIVE_HIGH>; + + pinctrl-0 =3D <&sde_dsi_active &sde_te_active_sleep>; + pinctrl-1 =3D <&sde_dsi_suspend &sde_te_active_sleep>; + pinctrl-names =3D "default", "sleep"; + + port { + panel_in: endpoint { + remote-endpoint =3D <&mdss_dsi0_out>; + }; + }; + }; + }; + +... diff --git a/MAINTAINERS b/MAINTAINERS index be1861bd6f4e3..42be36b42c29b 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -8061,6 +8061,11 @@ S: Maintained F: Documentation/devicetree/bindings/display/panel/samsung,s6d7aa0.yaml F: drivers/gpu/drm/panel/panel-samsung-s6d7aa0.c =20 +DRM DRIVER FOR SAMSUNG S6E3FC2X01 DDIC +M: David Heidelberg +S: Maintained +F: Documentation/devicetree/bindings/display/panel/samsung,s6e3fc2x01.yaml + DRM DRIVER FOR SAMSUNG S6E3HA8 PANELS M: Dzmitry Sankouski S: Maintained --=20 2.51.0 From nobody Mon Feb 9 03:58:27 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 3888E72629; Thu, 23 Oct 2025 20:24:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761251070; cv=none; b=mcyjVmQJAHcNgUfS1RvaO+BHEEB4osfS7wsDcEhaei819/VP+jSsUcXzo7PcVlyv7vSFqcyjkePg/wsWKAMKqP7x9ScMw93bEVBmXlyW+aYHjEqb9iVszjpz4ejUY2jdugQmyrGoEAlzWv0psHDF4ZgqUkUaeRsX+YhAhSwp4mk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761251070; c=relaxed/simple; bh=v5D7nE1ZWhuJ6MDMTzwFDQBR/WaGOhAInmMJsBFluxg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=b0tZ0Fnyv1R7BxHE+p/Ba57CLnvIW9k/YFaBeIwofvMbJ/FMETwKDl2TQtNBIbjKcBTot1DUJHB509u6TwCl5VloSwQKQKyf8yDk4GR1rt1xgDLB2/yQbQPMiC1KG346EHmBTUOWUrtJXB2umhgKkjS3UYuv8NJsNviqTlv5kiI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=inPZ54lm; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="inPZ54lm" Received: by smtp.kernel.org (Postfix) with ESMTPS id A65FFC4CEFD; Thu, 23 Oct 2025 20:24:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1761251069; bh=v5D7nE1ZWhuJ6MDMTzwFDQBR/WaGOhAInmMJsBFluxg=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=inPZ54lmnwGA25upiLFsxSLPykradeDcvm6mWEpm3iOMmzB+SB659bsStXbfkdkyA WUGmqCDf8NjY+nraIHcYL6waBGoxGNT48ZO6UNH3otGFNZ90g8ksbWcUB5gqPdbO+T kuAHwappteUXxwoIQW9H9f8WWV1+MgcMLVHWk9ZDnSAT+WLyPYHtLzaC8AxXStAglb /e/XYNah6NaQFgU019AgVdy0jeLJFIPlJmfG5ZmbO94y0VpynERChpApZBkx5tNvNR 8Q+nq12LNpZ0krCsV700eDbh00w/UTHWwEyjyt8JdTTX1Q7B3NVaxGPNBO+noZlVuk JjkSH2kwziH6g== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 95FC3CCF9E6; Thu, 23 Oct 2025 20:24:29 +0000 (UTC) From: David Heidelberg via B4 Relay Date: Thu, 23 Oct 2025 22:24:26 +0200 Subject: [PATCH v5 2/6] drm/panel: Add Samsung S6E3FC2X01 DDIC with AMS641RW panel 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: <20251023-s6e3fc2x01-v5-2-8f8852e67417@ixit.cz> References: <20251023-s6e3fc2x01-v5-0-8f8852e67417@ixit.cz> In-Reply-To: <20251023-s6e3fc2x01-v5-0-8f8852e67417@ixit.cz> To: Neil Armstrong , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Thierry Reding , Sam Ravnborg , Bjorn Andersson , Konrad Dybcio , Casey Connolly , Jessica Zhang Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, phone-devel@vger.kernel.org, David Heidelberg X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=15295; i=david@ixit.cz; h=from:subject:message-id; bh=9MgG9IyU3Z2P4zB5yh+ZZym8fZkFc1R+kwdqnFGHYec=; b=owEBbQKS/ZANAwAIAWACP8TTSSByAcsmYgBo+o77ryb6Q7LBffct51XnUqOmgqlX6RzoHAsui OTSq8w9SvyJAjMEAAEIAB0WIQTXegnP7twrvVOnBHRgAj/E00kgcgUCaPqO+wAKCRBgAj/E00kg cpzQD/9OZc5gSvoMoEGaN3EhAqhPNwde/GasZws1j8h7TGgjmoHuGujLrwac8ygPaTTkhzKgE/8 qYYYHypt0F9BM34zLVbggD7CXZSdcMjFXvE0yqIGt4/rY72hVcRqa703jYs3wvpv/En0tI8FRwO inRJ8udXDGp1uu9pJbPbfXdzXnY7wEd05FHidTnGA6/eIA92m0SkR1gp8cPH/2b9L+8ZEI2eYix 13GcDemuJPsVOcNRi5B2UlFSPSmAncmYQorMzTvvEFYVVwujfK/FyWGl6HLY04sc9cE0W+pc6OM /ZaLrS0ykkwOY9rLUCBFPIxajcmUwD9K5/KaUN/UehQa7YyPTYr3if4nhB7kJDYJG+CflYgTUrZ asxLdwF37+fp/Zr171XsuP2UzLnOLKMVhrtnl5+mMQbXEqy3Xo7lKQqfLK6ijp1xCnWD80khYl4 b0pV1gTncso8RgVE5d5yLty7exM8WdtnWSjaHyLLmDtw2T/y6AF+KEjOuKrvyJ/gFsBkdkhFZ9Q XXzou79fPtDS0pnpalQ/PYmCxWZimdPjJtbFFlzX3LWNJLGuPRP4SJYnZruYmFbcYzd69I6XCbM +hajRa3uqBnHLDkixueH1uQHON1xugIyh/DGZ26KXsDfjmpINBhIm1XyY+7nUGtiU4izVZKRh61 7dthTuXig91CFJA== X-Developer-Key: i=david@ixit.cz; a=openpgp; fpr=D77A09CFEEDC2BBD53A7047460023FC4D3492072 X-Endpoint-Received: by B4 Relay for david@ixit.cz/default with auth_id=355 X-Original-From: David Heidelberg Reply-To: david@ixit.cz From: David Heidelberg Add panel driver used in the OnePlus 6T. No datasheet, based mostly on EDK2 init sequence and the downstream driver. Note: This driver doesn't use previously mentioned "samsung,s6e3fc2x01" by OnePlus 6T device-tree. The reason is because DDIC itself without knowing the panel type used with it will not give the driver enough information about the panel used, as the panel cannot be autodetected. While would be more practical to support the original compatible, I would like to avoid it, to prevent confusing devs upstreaming DDICs. Based on work of: Casey Connolly Joel Selvaraj Nia Espera Signed-off-by: David Heidelberg Reviewed-by: Dmitry Baryshkov Reviewed-by: Jessica Zhang --- MAINTAINERS | 1 + drivers/gpu/drm/panel/Kconfig | 13 + drivers/gpu/drm/panel/Makefile | 1 + drivers/gpu/drm/panel/panel-samsung-s6e3fc2x01.c | 385 +++++++++++++++++++= ++++ 4 files changed, 400 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index 42be36b42c29b..a3296756f5ca3 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -8065,6 +8065,7 @@ DRM DRIVER FOR SAMSUNG S6E3FC2X01 DDIC M: David Heidelberg S: Maintained F: Documentation/devicetree/bindings/display/panel/samsung,s6e3fc2x01.yaml +F: drivers/gpu/drm/panel/panel-samsung-s6e3fc2x01.c =20 DRM DRIVER FOR SAMSUNG S6E3HA8 PANELS M: Dzmitry Sankouski diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig index 045ffb2ccd0f0..fadb7f397837e 100644 --- a/drivers/gpu/drm/panel/Kconfig +++ b/drivers/gpu/drm/panel/Kconfig @@ -801,6 +801,19 @@ config DRM_PANEL_SAMSUNG_S6D7AA0 select DRM_MIPI_DSI select VIDEOMODE_HELPERS =20 +config DRM_PANEL_SAMSUNG_S6E3FC2X01 + tristate "Samsung S6E3FC2X01 DSI panel controller" + depends on OF + depends on DRM_MIPI_DSI + depends on BACKLIGHT_CLASS_DEVICE + select VIDEOMODE_HELPERS + help + Say Y or M here if you want to enable support for the + Samsung S6E3FC2 DDIC and connected MIPI DSI panel. + Currently supported panels: + + Samsung AMS641RW (found in the OnePlus 6T smartphone) + config DRM_PANEL_SAMSUNG_S6E3HA2 tristate "Samsung S6E3HA2 DSI video mode panel" depends on OF diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile index 0356775a443ad..ae56f64982cfb 100644 --- a/drivers/gpu/drm/panel/Makefile +++ b/drivers/gpu/drm/panel/Makefile @@ -79,6 +79,7 @@ obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6D16D0) +=3D panel-samsun= g-s6d16d0.o obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6D27A1) +=3D panel-samsung-s6d27a1.o obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6D7AA0) +=3D panel-samsung-s6d7aa0.o obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6E3FA7) +=3D panel-samsung-s6e3fa7.o +obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6E3FC2X01) +=3D panel-samsung-s6e3fc2x01.o obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2) +=3D panel-samsung-s6e3ha2.o obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6E3HA8) +=3D panel-samsung-s6e3ha8.o obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03) +=3D panel-samsung-s6e63j0x03.o diff --git a/drivers/gpu/drm/panel/panel-samsung-s6e3fc2x01.c b/drivers/gpu= /drm/panel/panel-samsung-s6e3fc2x01.c new file mode 100644 index 0000000000000..e63080204af77 --- /dev/null +++ b/drivers/gpu/drm/panel/panel-samsung-s6e3fc2x01.c @@ -0,0 +1,385 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Copyright (c) 2022 Nia Espera + * Copyright (c) 2025 David Heidelberg + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include