From 26c50378395d7d929e5523dc08f263793a793ee4 Mon Sep 17 00:00:00 2001 From: Andrei Radulescu Date: Sun, 23 Aug 2026 17:45:24 +0300 Subject: [PATCH 1/3] kernel: update Samsung EA8074 panel driver Co-authored-by: David Heidelberg --- ...msung-EA8074-DSI-command-mode-panel-.patch | 502 +++++++++++++----- 1 file changed, 364 insertions(+), 138 deletions(-) diff --git a/kernel/patches/0003-drm-panel-add-Samsung-EA8074-DSI-command-mode-panel-.patch b/kernel/patches/0003-drm-panel-add-Samsung-EA8074-DSI-command-mode-panel-.patch index 566bdda7..32a8bbb9 100644 --- a/kernel/patches/0003-drm-panel-add-Samsung-EA8074-DSI-command-mode-panel-.patch +++ b/kernel/patches/0003-drm-panel-add-Samsung-EA8074-DSI-command-mode-panel-.patch @@ -1,26 +1,121 @@ -From 3a17e6b748137cce7b0d6ed41b16cfa0d2e92397 Mon Sep 17 00:00:00 2001 -From: Robin Reckmann -Date: Sat, 21 Mar 2026 21:36:54 -0700 -Subject: drm/panel: add Samsung EA8074 DSI command mode panel - driver +From 42980fe282cb09ee2259b200f290bf239090647f Mon Sep 17 00:00:00 2001 +From: David Heidelberg +Date: Mon, 1 Jun 2026 00:20:07 +0500 +Subject: [PATCH] drm/panel: samsung: Add driver for Samsung EA8074 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit -Add support for the Samsung EA8074 1080x2160 AMOLED DSI command mode -panel found on the comma.ai comma 3 and comma 3X devices. Uses DSI -command mode matching the vendor kernel configuration. +Add a DRM panel driver for the Samsung EA8074 display driver IC. +This DDIC and asscoaited panel is found in: + - Comma.AI box + - Xiaomi Mi 8 + +Based on work of: + - Eralp Çelebi + - Max Furman + +Signed-off-by: David Heidelberg --- - drivers/gpu/drm/panel/Kconfig | 10 + - drivers/gpu/drm/panel/Makefile | 1 + - drivers/gpu/drm/panel/panel-samsung-ea8074.c | 293 +++++++++++++++++++ - 3 files changed, 304 insertions(+) + .../display/panel/samsung,ea8074.yaml | 78 ++++ + drivers/gpu/drm/panel/Kconfig | 15 + + drivers/gpu/drm/panel/Makefile | 1 + + drivers/gpu/drm/panel/panel-samsung-ea8074.c | 422 ++++++++++++++++++ + 4 files changed, 516 insertions(+) + create mode 100644 Documentation/devicetree/bindings/display/panel/samsung,ea8074.yaml create mode 100644 drivers/gpu/drm/panel/panel-samsung-ea8074.c +diff --git a/Documentation/devicetree/bindings/display/panel/samsung,ea8074.yaml b/Documentation/devicetree/bindings/display/panel/samsung,ea8074.yaml +new file mode 100644 +index 000000000000..c2e8c246bd95 +--- /dev/null ++++ b/Documentation/devicetree/bindings/display/panel/samsung,ea8074.yaml +@@ -0,0 +1,78 @@ ++# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) ++%YAML 1.2 ++--- ++$id: http://devicetree.org/schemas/display/panel/samsung,ea8074.yaml# ++$schema: http://devicetree.org/meta-schemas/core.yaml# ++ ++title: Samsung EA8074 AMOLED DDIC ++ ++maintainers: ++ - FIXME ++ ++description: | ++ The Samsung EA8074 is display driver IC with connect panel. ++ ++allOf: ++ - $ref: panel-common.yaml# ++ ++properties: ++ compatible: ++ items: ++ - enum: ++ # Samsung 6.01 inch, 1080x2160 pixels ++ - samsung,ea8074-ams601nt01 ++ # Samsung 6.21 inch, 1080x2248 pixels ++ - samsung,ea8074-ams621rc ++ # Samsung 5.9 inch, 1080x2160 pixels ++ - samsung,ea8074-l590nt06 ++ - const: samsung,ea8074 ++ ++ reg: ++ maxItems: 1 ++ ++ elvdd-supply: ++ description: EL driving positive voltage supply ++ ++ elvss-supply: ++ description: EL driving negative voltage supply ++ ++ vddio-supply: ++ description: I/O voltage supply ++ ++required: ++ - compatible ++ - reg ++ - reset-gpios ++ - elvdd-supply ++ - elvss-supply ++ - vddio-supply ++ ++additionalProperties: false ++ ++examples: ++ - | ++ #include ++ ++ dsi { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ panel@0 { ++ compatible = "samsung,ea8074-ams621rc", "samsung,ea8074"; ++ reg = <0>; ++ ++ reset-gpios = <&tlmm 6 GPIO_ACTIVE_LOW>; ++ ++ vddio-supply = <&vreg_l14a_1p8>; ++ elvdd-supply = <&lab>; ++ elvss-supply = <&ibb>; ++ ++ port { ++ panel_in: endpoint { ++ remote-endpoint = <&dsi0_out>; ++ }; ++ }; ++ }; ++ }; ++ ++... diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig -index 407c5f6a2..82e5fd1f2 100644 +index 407c5f6a268b..386406c2df81 100644 --- a/drivers/gpu/drm/panel/Kconfig +++ b/drivers/gpu/drm/panel/Kconfig -@@ -752,6 +752,16 @@ config DRM_PANEL_SAMSUNG_ATNA33XC20 - be handled by the DRM_PANEL_SIMPLE driver because its power - sequencing is non-standard. +@@ -762,6 +762,21 @@ config DRM_PANEL_SAMSUNG_DB7430 + DB7430 DPI display controller used in such devices as the + LMS397KF04 480x800 DPI panel. +config DRM_PANEL_SAMSUNG_EA8074 + tristate "Samsung EA8074 DSI command mode panel" @@ -28,15 +123,20 @@ index 407c5f6a2..82e5fd1f2 100644 + 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 -+ EA8074 1080x2160 AMOLED DSI command mode panel, as found on -+ the comma.ai comma 3 and comma 3X devices. ++ Say Y or M here if you want to enable support for the ++ Samsung EA8074 display driver IC and connected panel. ++ ++ Currently supported panels: + - config DRM_PANEL_SAMSUNG_DB7430 - tristate "Samsung DB7430-based DPI panels" - depends on OF && SPI && GPIOLIB ++ Samsung AMS601NT01 (found in the Huawei Mate 10 Pro) ++ Samsung AMS621RC (found in the Xiaomi Mi 8 smartphone) ++ Samsung L590NT06 (found in the Comma three) ++ + config DRM_PANEL_SAMSUNG_LD9040 + tristate "Samsung LD9040 RGB/SPI panel" + depends on OF && SPI diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile -index 3615a761b..9989a96f8 100644 +index 3615a761b44f..9989a96f8dea 100644 --- a/drivers/gpu/drm/panel/Makefile +++ b/drivers/gpu/drm/panel/Makefile @@ -74,6 +74,7 @@ obj-$(CONFIG_DRM_PANEL_SAMSUNG_AMS581VF01) += panel-samsung-ams581vf01.o @@ -49,38 +149,70 @@ index 3615a761b..9989a96f8 100644 obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6D27A1) += panel-samsung-s6d27a1.o diff --git a/drivers/gpu/drm/panel/panel-samsung-ea8074.c b/drivers/gpu/drm/panel/panel-samsung-ea8074.c new file mode 100644 -index 000000000..3c024dc27 +index 000000000000..192642332bda --- /dev/null +++ b/drivers/gpu/drm/panel/panel-samsung-ea8074.c -@@ -0,0 +1,293 @@ +@@ -0,0 +1,422 @@ +// SPDX-License-Identifier: GPL-2.0-only -+// Copyright (c) 2023 -+// Generated with linux-mdss-dsi-panel-driver-generator from vendor device tree: -+// Copyright (c) 2013, The Linux Foundation. All rights reserved. ++/* ++ * DRM driver for the Samsung EA8074 display driver IC and associated panel. ++ * ++ * Copyright 2022 Eralp Çelebi ++ * Copyright 2026 Max Furman ++ * Copyright 2026 David Heidelberg ++ */ + +#include +#include +#include +#include +#include ++#include + +#include