From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ej2-f12.google.com (mail-ej2-f12.google.com [74.125.228.140]) (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 9C90E456E0B for ; Fri, 18 Sep 2026 14:40:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.228.140 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789742418; cv=none; b=s2EdlFfBm40zvhcFmHt0aMLSUA2UFbbjUqmD7lfiQ8o3lzzzPDDQkDtq/zuBGffiIWtsixXVrgqlRju3uNyU/AhgLSgAvsJJucJ7CxDMtGARNAQbzJIzpGB9zSDZmGN43iXTEX6Zvx+0a7Ewv3CthEx5jjg6qUYrGJ0sBcFIaF0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789742418; c=relaxed/simple; bh=DQJyA5nb82V6M17kyoxQCg3Nzqz+lsekLTT2+vv2vaQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=eMS299xnqyerAzS6FtUpd8ap8z5u5S17e/SWtAcKLc7zulmwhwK9lYbYEWLaDf7b89/cSdLMWGIjZU1e4YBlmbtktJK20XQ4pCdE60y5WXJVT8yqHaGNq2IxMdjN+HezBRzNmmDUNsI93mWXHD8TAVOv5aEK0KUK6AJcEI+rFAQ= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fairphone.com; spf=pass smtp.mailfrom=fairphone.com; dkim=pass (2048-bit key) header.d=fairphone.com header.i=@fairphone.com header.b=tiPW2NKl; arc=none smtp.client-ip=74.125.228.140 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fairphone.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fairphone.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fairphone.com header.i=@fairphone.com header.b="tiPW2NKl" Received: by mail-ej2-f12.google.com with SMTP id a640c23a62f3a-c254f56039dso103647266b.3 for ; Fri, 18 Sep 2026 07:40:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fairphone.com; s=fair; t=1789742410; x=1790347210; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=M83wqLNz7DCOjII4Gg/C318Fp8Xnn7GJslvtzDtRZJQ=; b=tiPW2NKlcl4S4AUs06S3KWl7YyUfvmKFwJ9zEgYXgitNiG61mGlgz8BYNyCclZLP1l zTcZOnwXboO/ZkWrtO7kfu6fPi0X3jtHTQKQIFY649MF4SxrQJYbNNk5WA1eux5y1Mnx zROcZwqivLHbnWggHP3+eXdQ2Hmtj/Rrrq6b5Jdg2XteXjHUS7uljs0rq8O8iLQ7rojM vEeIOxw0BZUv3BqmIURRo6u7OZYYNgeG9udzTlcpEB7Gicrh2ux15heV8p4zM43lZoLS l+z898xVPe/cWHGwD411l63QrNDKXOqoNxvAWxWSRR1gEz2WWAwZfhTBxlDDp1A8k9l/ X/Dw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789742410; x=1790347210; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=M83wqLNz7DCOjII4Gg/C318Fp8Xnn7GJslvtzDtRZJQ=; b=rQ++XigxbKROmSRojemE3OBYqd2R1DDSxYGawhwEGLXiUnvSHTnGC3I0ge3uIoDiF0 rBS71uLEBk6K67hXlCEO551l+9HyP2S74zp9f9Lb8uctpizBwPuu4NGvzeoPfFcCgpB7 14OvKtTGqI4BQ8EZEM50zQV8MnKYMioB3cylIKdO4vHARfpSULFHuYb7RIuRRw8m73G9 /AYoSGLxl6+S4Ng4wBtWqkI/KGSWl6j6DbQNAMVZvjIR7vBMUT3hdsw9dbfEsxvn7cV+ BPEzm88Gv4XVmvgI5oms/m92x44vZz8RyQUgdzfuNp3Pl0ms5Xip3VdqpIez02PFB6uo lqWg== X-Forwarded-Encrypted: i=1; AKwUvBzz/jAk+R0bWyqV5bTQcAhE4yN4dtYB2r6nzhzkn4HvYoZ+nA+5qL89ozuyUW8bklXq4IBsmJoam2tD@vger.kernel.org X-Gm-Message-State: AFuF++k1XBPLb0ocSU8uQ9cf8QrrJ5eBI7IY8B/t1DBf/IR5cmmFhjSh 5Z5sG2QciMRQF1tJ2uXhdpoo1Fsfsf1LcD4BP2i4G136EKEZWIe7vqopZa8lGJVCoVI= X-Gm-Gg: AYBFou3D68k3Gezw8e2pnk0gtuZkAIMCbTZi0G2rxN9gb7w07/czjoipMvOE0rdphdt YUaCPTjSBp3meD5t1gwn9x35TlNvFMLrFfodL0NBLWkRBWNin+xJ5pjdAZ/6mGdeVRBz/OLRBGP yXteL+fW+gCEcBpDBgAQoiyWPkCropJQg5da5z/sEjVz9biAbVVtDtR0pU9edxDV/05wubXSlA9 C7Pb0ngLTMaKdNAICms5bZ51fBMvI9NdqcmKVzBBgBkfNkdF+MIf6o66bjC0KnMnVk9LQ97oxhW tM43cHhXcQJ5xZTainp/u9muFtrTMu5wGeL8XwRBlEQe5WKmxhVyAmEC42lg6AlxC3cHkaQ5ydW gebiGEUbA6nZQfAMlLonRmk+czaaIL4cL4F/9wWSSWdK4A0Xu4A9hJu7OaBOQL/RPfZLD0dqzO/ N2oBgn9f060piO4UeKI5Unzn12AdxPkXKpHwKjpLZyr7rAnMvKQsLS3zfDaGEI/VoC7GDQL9+8w LKR/fst0UyP/bQW0/exQlX5GXyAzlHHioyEm8uFf/S2c44tI6ac X-Received: by 2002:a17:906:6a1c:b0:c25:b620:d676 with SMTP id a640c23a62f3a-c2a157f97e4mr298342266b.15.1789742410294; Fri, 18 Sep 2026 07:40:10 -0700 (PDT) Received: from [172.16.220.101] (144-178-202-138.static.ef-service.nl. [144.178.202.138]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c2a1b7a369esm64244966b.9.2026.09.18.07.40.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Sep 2026 07:40:09 -0700 (PDT) From: Luca Weiss Date: Fri, 18 Sep 2026 16:40:05 +0200 Subject: [PATCH v2 2/4] drm/panel: Add driver for Novatek NT37705 panel Precedence: bulk X-Mailing-List: devicetree@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20260918-fp6-panel-v2-2-6695c4008920@fairphone.com> References: <20260918-fp6-panel-v2-0-6695c4008920@fairphone.com> In-Reply-To: <20260918-fp6-panel-v2-0-6695c4008920@fairphone.com> To: 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: ~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, Luca Weiss X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1789742407; l=16748; i=luca.weiss@fairphone.com; s=20250611; h=from:subject:message-id; bh=DQJyA5nb82V6M17kyoxQCg3Nzqz+lsekLTT2+vv2vaQ=; b=gydufSwZJ0ZlWFVBMK/HRc5GImg6Y5zDI7tB6+SxFsV4o5Y9fGCMODSqU7dxDhRuXO7dXD5po MmEHlXI4kp8APXwgoYIH5313FX9cq5yU77+r3ud1d2vClczNe95PhMZ X-Developer-Key: i=luca.weiss@fairphone.com; a=ed25519; pk=O1aw+AAust5lEmgrNJ1Bs7PTY0fEsJm+mdkjExA69q8= Add support for the 2484x1116 AMOLED panel from BOE (BJ631JHM-T71-D900) bundled with a NT37705 driver IC, as found on the Fairphone (Gen. 6) smartphone. The panel can also be configured in 10-bit (RGB101010) mode, however currently it's configured in 8-bit (RGB888) since there's some issues in the Qualcomm DPU driver when driving this panel in 10-bit. Signed-off-by: Luca Weiss --- drivers/gpu/drm/panel/Kconfig | 12 + drivers/gpu/drm/panel/Makefile | 1 + drivers/gpu/drm/panel/panel-novatek-nt37705.c | 413 ++++++++++++++++++++++++++ 3 files changed, 426 insertions(+) diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig index cbdf7b8f7f7a..be2f812bef76 100644 --- a/drivers/gpu/drm/panel/Kconfig +++ b/drivers/gpu/drm/panel/Kconfig @@ -706,6 +706,18 @@ config DRM_PANEL_NOVATEK_NT37700F Say Y here if you want to enable support for Novatek NT37700F DSI panel module. The panel has a resolution of 1080x2160. +config DRM_PANEL_NOVATEK_NT37705 + tristate "Novatek NT37705-based DSI panel" + depends on OF + depends on DRM_MIPI_DSI + depends on BACKLIGHT_CLASS_DEVICE + select DRM_DISPLAY_DSC_HELPER + select DRM_DISPLAY_HELPER + help + Say Y here if you want to enable support for Novatek NT37705-based + display panels, such as the one found in the Fairphone (Gen. 6) + smartphone. + config DRM_PANEL_NOVATEK_NT37801 tristate "Novatek NT37801/NT37810 AMOLED DSI panel" depends on OF diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile index 3b523cf37833..e1366b5e25fc 100644 --- a/drivers/gpu/drm/panel/Makefile +++ b/drivers/gpu/drm/panel/Makefile @@ -68,6 +68,7 @@ obj-$(CONFIG_DRM_PANEL_NOVATEK_NT36536) += panel-novatek-nt36536.o obj-$(CONFIG_DRM_PANEL_NOVATEK_NT36672A) += panel-novatek-nt36672a.o obj-$(CONFIG_DRM_PANEL_NOVATEK_NT36672E) += panel-novatek-nt36672e.o obj-$(CONFIG_DRM_PANEL_NOVATEK_NT37700F) += panel-novatek-nt37700f.o +obj-$(CONFIG_DRM_PANEL_NOVATEK_NT37705) += panel-novatek-nt37705.o obj-$(CONFIG_DRM_PANEL_NOVATEK_NT37801) += panel-novatek-nt37801.o obj-$(CONFIG_DRM_PANEL_NOVATEK_NT39016) += panel-novatek-nt39016.o obj-$(CONFIG_DRM_PANEL_MANTIX_MLAF057WE51) += panel-mantix-mlaf057we51.o diff --git a/drivers/gpu/drm/panel/panel-novatek-nt37705.c b/drivers/gpu/drm/panel/panel-novatek-nt37705.c new file mode 100644 index 000000000000..27bd8072ccd1 --- /dev/null +++ b/drivers/gpu/drm/panel/panel-novatek-nt37705.c @@ -0,0 +1,413 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Generated with linux-mdss-dsi-panel-driver-generator from vendor device tree. + * Copyright (c) 2026 Luca Weiss + */ + +#include +#include +#include +#include +#include +#include + +#include