From patchwork Tue Feb 25 21:14:31 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luca Weiss X-Patchwork-Id: 13990990 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 2138BC021B2 for ; Tue, 25 Feb 2025 21:15:04 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 9086010E061; Tue, 25 Feb 2025 21:15:03 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (1024-bit key; unprotected) header.d=lucaweiss.eu header.i=@lucaweiss.eu header.b="8Ak4m8kf"; dkim-atps=neutral Received: from ahti.lucaweiss.eu (ahti.lucaweiss.eu [128.199.32.197]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7541210E7F1 for ; Tue, 25 Feb 2025 21:15:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=lucaweiss.eu; s=s1; t=1740518094; bh=LzC72GBUUK82fAL3bxvfOpXyG/ep/Ha3xaemd2OmV8s=; h=From:Date:Subject:References:In-Reply-To:To:Cc; b=8Ak4m8kffugv8vGfr4vrnYPQTX4+o0pcRngviI9URza//jy+jRX0R1naCKU/qPbAL Zem8RiFhmEw4dJVOG8aFVlD2rE+MESExgzZtQ92IpRIyUo44SSHeVoOoza6ZcKKti3 Ru7W3Qqbs8/m9916Msr3S8EJ85ACnVUoxOU3mC8I= From: Luca Weiss Date: Tue, 25 Feb 2025 22:14:31 +0100 Subject: [PATCH v2 3/4] drm/panel: Add driver for DJN HX83112B LCD panel MIME-Version: 1.0 Message-Id: <20250225-fp3-display-v2-3-0b1f05915fae@lucaweiss.eu> References: <20250225-fp3-display-v2-0-0b1f05915fae@lucaweiss.eu> In-Reply-To: <20250225-fp3-display-v2-0-0b1f05915fae@lucaweiss.eu> To: ~postmarketos/upstreaming@lists.sr.ht, phone-devel@vger.kernel.org, Neil Armstrong , Jessica Zhang , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Luca Weiss X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=18946; i=luca@lucaweiss.eu; h=from:subject:message-id; bh=LzC72GBUUK82fAL3bxvfOpXyG/ep/Ha3xaemd2OmV8s=; b=owEBbQKS/ZANAwAIAXLYQ7idTddWAcsmYgBnvjLKZM9fkBzWEgq3sGqZ9TdS8APhr88w+fv/d 72rKACNdpSJAjMEAAEIAB0WIQQ5utIvCCzakboVj/py2EO4nU3XVgUCZ74yygAKCRBy2EO4nU3X VkhTD/9A6tF123kduryqei8FojeBZYjh872qEEfKg2Az1FfawnRMoFEDpwuOhUaYGu/mfT2qSp9 +bWJ8JZjTbEYrRFWnV/7H8l0EehE4xEEJWToeLI8NaQLFyUYzvaD9FGzSxe1m+hBQfacqVGCPL6 EcbhhR9jgs/lgbhr799W7fNKxpXDTTAM2iRHGiO5V4+RV6BsCwdt51VhJK4yYfsyK7Q0+hHlUjI ooAKqm3peFfVYHLRuRISSzFfOC8IlNpok2mO5oatm8/rfqdzhS7pgK1Kuu9Pg64QoqMwoCZeAYt z3gAOC/bTfcW9nAINkfRJnhIhd1VI8o/EhNyG4w7/6si0rsKS9aYW+JUeRoMV7pemf0xthlPEu/ 7EPpPOlucqG0JzW8YEJOid+TTakZd5FrIXviawHxx+394ZJDg1X72AQpZQtxyHy1s81vE4VepGW fOIl3B33PWwxbls/wApkIUJOgyiSvZu9dJGSZ9AjRIUuYCpPlBl8zAaubDsjWIgwNaBW9+Y4KYJ o2++NUOVpi9U1v6Ax9BBYRXnuqB8uig1HBfPo+P6+5W+6CRrdhRC+rn/VLMwi733IqoOpkIwTjK 9V4x2IA/NXVKCFdf+lVgyBpf/qIZBFiQbKGCG6Ae5SxQmoOh2g22qwt34FgW/IUDVqiydzpcZwi ZnpUPDP1mbLhWHQ== X-Developer-Key: i=luca@lucaweiss.eu; a=openpgp; fpr=BD04DA24C971B8D587B2B8D7FAF69CF6CD2D02CD X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Add support for the 2160x1080 LCD panel from DJN (98-03057-6598B-I) bundled with a HX83112B driver IC, as found on the Fairphone 3 smartphone. Signed-off-by: Luca Weiss Reviewed-by: Dmitry Baryshkov --- drivers/gpu/drm/panel/Kconfig | 10 + drivers/gpu/drm/panel/Makefile | 1 + drivers/gpu/drm/panel/panel-himax-hx83112b.c | 430 +++++++++++++++++++++++++++ 3 files changed, 441 insertions(+) diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig index d7469c565d1db8b8e974dd6c45d03d9352d99d63..b32e300c563a3fd94134d61140f66cad18b4ebb6 100644 --- a/drivers/gpu/drm/panel/Kconfig +++ b/drivers/gpu/drm/panel/Kconfig @@ -173,6 +173,16 @@ config DRM_PANEL_HIMAX_HX83112A Say Y here if you want to enable support for Himax HX83112A-based display panels, such as the one found in the Fairphone 4 smartphone. +config DRM_PANEL_HIMAX_HX83112B + tristate "Himax HX83112B-based DSI panel" + depends on OF + depends on DRM_MIPI_DSI + depends on BACKLIGHT_CLASS_DEVICE + select DRM_KMS_HELPER + help + Say Y here if you want to enable support for Himax HX83112B-based + display panels, such as the one found in the Fairphone 3 smartphone. + config DRM_PANEL_HIMAX_HX8394 tristate "HIMAX HX8394 MIPI-DSI LCD panels" depends on OF diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile index 7dcf72646cacff11bab90c78e3b8b1f357e5f14a..6257c3cd48b57b808c95c2e535f5624fd0e06efa 100644 --- a/drivers/gpu/drm/panel/Makefile +++ b/drivers/gpu/drm/panel/Makefile @@ -18,6 +18,7 @@ obj-$(CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02) += panel-feixin-k101-im2ba02.o obj-$(CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D) += panel-feiyang-fy07024di26a30d.o obj-$(CONFIG_DRM_PANEL_HIMAX_HX83102) += panel-himax-hx83102.o obj-$(CONFIG_DRM_PANEL_HIMAX_HX83112A) += panel-himax-hx83112a.o +obj-$(CONFIG_DRM_PANEL_HIMAX_HX83112B) += panel-himax-hx83112b.o obj-$(CONFIG_DRM_PANEL_HIMAX_HX8394) += panel-himax-hx8394.o obj-$(CONFIG_DRM_PANEL_ILITEK_IL9322) += panel-ilitek-ili9322.o obj-$(CONFIG_DRM_PANEL_ILITEK_ILI9341) += panel-ilitek-ili9341.o diff --git a/drivers/gpu/drm/panel/panel-himax-hx83112b.c b/drivers/gpu/drm/panel/panel-himax-hx83112b.c new file mode 100644 index 0000000000000000000000000000000000000000..d9b37416a30a221fd956c7754e00108166f364ab --- /dev/null +++ b/drivers/gpu/drm/panel/panel-himax-hx83112b.c @@ -0,0 +1,430 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Generated with linux-mdss-dsi-panel-driver-generator from vendor device tree. + * Copyright (c) 2025 Luca Weiss + */ + +#include +#include +#include +#include +#include +#include + +#include