From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f45.google.com (mail-wm1-f45.google.com [209.85.128.45]) (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 50F3E386C0C for ; Sat, 14 Mar 2026 21:46:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.45 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773524797; cv=none; b=USFmkdrM0tl37uPAweCmrxQ0Q6qFxJyeDptdrV+Ed66vfao5PP46YASdbmdqSKYsorB9GVtIOJDJPP8vKjCqznYxjOUt18+lUTagmbqrf/akSIr73tajEgqOu5bQgYYWlQhTP9IeY419s00wqdYSccEzkcEeG90CAqu42/t2WAQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773524797; c=relaxed/simple; bh=7QWXwQae0M3nfvVtdUe9fsLhIDOP/YC+Hs++mWbyNjU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=TC044IeZDTo5MSZwXDzG9NFQwHDhVdVBertSwf735wSDQMSSomPsvKNaXF92yznXp/e+NWsRGxc+3LnC1jp7xep7N35Pb0k6eyDgef8HK0l/XNq+t0cV5cf+bGMV4I0zS/ltiS4FqCzydFL+ha+GGDZ0IDu5+WR1gBOhnoOpSIs= 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=MIXhabWM; arc=none smtp.client-ip=209.85.128.45 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="MIXhabWM" Received: by mail-wm1-f45.google.com with SMTP id 5b1f17b1804b1-4853e1ce427so37558115e9.3 for ; Sat, 14 Mar 2026 14:46:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773524792; x=1774129592; 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=t4dcDIIqWjuCuDIw/EKfyfSSct6pSLR9IhCmDMZcgFo=; b=MIXhabWMahk7K2SqxTfZ428iUeEwbAmESJui9p41r3DoRvGcodeQqZEw7TuI2R6IHO MFwE56LUXbyjV/7eyl8LU3dPGK+UFRkN0AUq2+aKkOir821+tu85a2cVlcljXZiklJoi WE6XtaYpwirRHJyl3rOWFJM4R5Xl7CCzzAAYNLkStWU+vXUL0RX/wCyIb/QmAUhlL28Q h6PTU/BkMbaGGdcrEGDDUqE0ICwbAJGXITzoxg1vYBcHc0k5b1hNwJ0Gg5xZb8b/IT9z EIxV0qybPFcWI8AUXvV60Qqf0UYbgAy6jV4jENa4K1J5KxmXkptR7UwCHJ5KAkZPsWUa 8F6Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773524792; x=1774129592; 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=t4dcDIIqWjuCuDIw/EKfyfSSct6pSLR9IhCmDMZcgFo=; b=YsdEQ39+G+ehowbkkyxATewx39HYjv1kby1C6a2O3kpjLI+B0fA/o3gcWlrlv+2rmv ZNwI9j6DT5SEQwJmQjZU3moyL2juAe/5irH9F2KxzccfexDgk1aFP9JS3SJ3gssjJP9o RiQ2blG4++GwWSOkTjtQ5njz33ZglxDHNQ8js0S4YF04q5MQgUBU1Xv7eJaDQQFG6H7r 8YVHF8Lz52EJ7/Tl+Z4ag/JYVnXHWs76iQqsFvEncIfaAR0OGPxkpbVCohILj8AcBJaB yspheplp81Zhx+bPzhc375IQHP7Bvpfm2eeF/4A73lX1PFDC0KnBrJEeXsPhIlcmqmAB L31Q== X-Forwarded-Encrypted: i=1; AJvYcCXKOYkhR9vRLUjB9FiNh1I5YUyWldlNCg1aJMtj8BukJt0en+W8SHQF/LlQQ+ka8Y+Gv0nQDFyERD6Ieesf@vger.kernel.org X-Gm-Message-State: AOJu0Yxr0mBjS8VSCb0Wa3jDl2WBPWGLxn7LucQoaJ7kprYVhbn+qJQf zlE7QY4Ed0PjcH35PEyvdDX71UnkgjkAPPXLb5T46m9pGGcCQOrcJMO6 X-Gm-Gg: ATEYQzxSKdV4o5/bswqFE4cPW2LSvHiolscrmzQ12Aa0TkfSFA/ZSa9qVml6YsNCUP9 Sdbm0vckStjZ3qqFTBwJeJjhDWFrMxOWjOJJPzoj1bKEZyt5ir0I1Cz2Btya1dBvY/M7jwGZxJc 2d6cViBd/q304c0NeaLWobTH1NyYe5lKY5LzgINcgm5cQ2/VM8VIEn/othaCV4dTBNTLkaMcMjj LyN6fLguJwq1m/81olHDu1pDt3Lw1DsxJJ+wsUgbv8sTVamezSe5MokzuHsYHHtzv+l+7FkPD1e C3ejV8C+MoegEm+2ohVoG8PdxQV34DFo5P/j0uKl982YjAErxR5ZcMpadW0qMe4CXMI0gf4ZS0o qvVPQQbJHeisk7wO/wc5a6pQAB/jVpn7lrRO+kiTf4we8ckx9lm+/4k4JAUqYMl+90t4UGzF8VT ZQkD3CpCuGEV7D+pDXsA40pwLR13PdUDmvh8JmDj1XQznpWzLo30sW6PZO9T5kWP4= X-Received: by 2002:a05:600c:3552:b0:485:1878:7b8c with SMTP id 5b1f17b1804b1-485567028b2mr128325555e9.18.1773524791465; Sat, 14 Mar 2026 14:46:31 -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-439fe19aec5sm28756221f8f.4.2026.03.14.14.46.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 14 Mar 2026 14:46:31 -0700 (PDT) From: Yedaya Katsman Date: Sat, 14 Mar 2026 23:46:22 +0200 Subject: [PATCH v4 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: <20260314-panel-patches-v4-2-1ecbb2c0c3c8@gmail.com> References: <20260314-panel-patches-v4-0-1ecbb2c0c3c8@gmail.com> In-Reply-To: <20260314-panel-patches-v4-0-1ecbb2c0c3c8@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 , Kaustabh Chakraborty 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=1773524784; l=12581; i=yedaya.ka@gmail.com; s=20260113; h=from:subject:message-id; bh=7QWXwQae0M3nfvVtdUe9fsLhIDOP/YC+Hs++mWbyNjU=; b=NnI0t3ib6ozAfw0oattCqPISiDzJyiVkEB94+5zVdFfiGqlIrYX1jDLcO3QneYa6iFcEbqzY5 h2YTW3rpW5gAQK5FXGxx25Z8lj+wZ8nmJXCORPrM0+POjCjBjM2mKC0 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 --- The downstream dts claims a max brightness of 2047, but seems to ignore the MSB. --- MAINTAINERS | 5 + drivers/gpu/drm/panel/Kconfig | 13 + drivers/gpu/drm/panel/Makefile | 1 + .../gpu/drm/panel/panel-samsung-s6e8fco-m1906f9.c | 301 +++++++++++++++++++++ 4 files changed, 320 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index e087673237636268346979ddc270f8cf0905c722..0c835d432ced8cc1c8494596bc1c2a36eadd6fe8 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -8183,6 +8183,11 @@ S: Maintained F: Documentation/devicetree/bindings/display/panel/samsung,s6e3ha8.yaml F: drivers/gpu/drm/panel/panel-samsung-s6e3ha8.c +DRM DRIVER FOR SAMSUNG S6E8FCO PANELS +M: Yedaya Katsman +S: Maintained +F: drivers/gpu/drm/panel/panel-samsung-s6e8fco-m1906f9.c + DRM DRIVER FOR SAMSUNG SOFEF00 DDIC M: David Heidelberg M: Casey Connolly diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig index 7a83804fedca1b688ce6fbe4295ec9009007e693..47a8a2d2535f3fa46fc4545ae30f7e0b6b3d2e1d 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 + tristate "Samsung S6E8FCO DSI controller" + depends on OF + depends on BACKLIGHT_CLASS_DEVICE + select DRM_MIPI_DSI + help + Say Y or M here if you want to enable support for the Samsung + S6E8FCO DSI controller and connected panel. + Currently supported panels: + + M1906F9 (M1906F9SH or M1906F9SI), 6.09 inch 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..0cf7f0fb4654eb3dc67b2f15294ea46015a9bcdc 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) += 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..7fabfe19b5728612ab2a2518a8a100e7010b1d0c --- /dev/null +++ b/drivers/gpu/drm/panel/panel-samsung-s6e8fco-m1906f9.c @@ -0,0 +1,301 @@ +// 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