From nobody Tue Sep 29 07:41:36 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 D6F2C2BD11; Tue, 11 Aug 2026 05:52:41 +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=1786427561; cv=none; b=ngI/1RW+6yRs9DDMY4AC0bFMns4HF23n5lkFIn1BgyHKiU7jXwBF/sRgA0JdE9yDJ+d1BEIJd2HHtWK4XhO+s+RUGkGPZcud+4/1xsg7fgyBzeRXIHP8OA1qX333yzib6McstDsfKmuEuR6zbL2NoMoNNoua3MRm+A9ebHH1d6Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786427561; c=relaxed/simple; bh=Dt9L8hiA2v10R3JFtof1MMpzP5ZmgCdM5hVqdr3gZvU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=lGZWgbkYTXQizDdrT8nMlZjuEoUlmd/TBfKhUpFI6/qBfiZqQBt+eBmNu94+9j6+d2ORendvRla90FIkWqGqvMI6SDWZ+Z7QCmR/kSYlTp5VFFbYSuFKFsJ32T68lnPrcPpX0WOd6ZwZqsvJXeYJSTyIiLwi0tSWEky+2vhVPJE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=pIaBocpv; 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="pIaBocpv" Received: by smtp.kernel.org (Postfix) with ESMTPS id 79502C2BCF7; Tue, 11 Aug 2026 05:52:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1786427561; bh=Dt9L8hiA2v10R3JFtof1MMpzP5ZmgCdM5hVqdr3gZvU=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=pIaBocpv5n3f+9Wn4yyrX5t6jXUvanAUzcVk9SLb6y+n5fNy294nYPyVVWtsT9z1M yy4epgj5JLxuS5tYoAyLVPkHqsvdgi38jyrM2zz/z4vYvhW5CyfwI7Nkqz7vV052zl RXRM/blv8wyU5C9Zm4lF7Hb5l/6Jhh3J8ZJfewZpgGFumixd/G748NfxY8yGkjCxw/ PxPBIwkZyeiM533H/mzng7y8PKWTY4d/KZJaOh+dQdgv/zkaXZqeIwlCSsE5kfccPF auzky4du924v4hRx/AhmWkvnvEgdo6JNG75QtEbSjjf+Ff9BroR9DLbRDwnR3kD2FE FaBXdGgO6GAxw== 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 59FF6C5B569; Tue, 11 Aug 2026 05:52:41 +0000 (UTC) From: Esteban Urrutia via B4 Relay Date: Tue, 11 Aug 2026 01:52:33 -0400 Subject: [PATCH 1/2] dt-bindings: display: panel: Add bindings for Novatek NT37703 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: <20260811-nt37703-bup-v1-1-34ad42b064a3@proton.me> References: <20260811-nt37703-bup-v1-0-34ad42b064a3@proton.me> In-Reply-To: <20260811-nt37703-bup-v1-0-34ad42b064a3@proton.me> To: Neil Armstrong , Jessica Zhang , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, phone-devel@vger.kernel.org, Esteban Urrutia X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1786427559; l=2389; i=esteuwu@proton.me; s=20260622; h=from:subject:message-id; bh=wVUFKmF2iBpqMPBKlh1CrckDAlUx+1CZ7rLZO14pU3o=; b=zDgmu5CjSC8v9Ywt8q27e1eyV15gl8TlNQUo7SIpUh/H++AOEjiAbFwAtsanUoFgC9Dgo7eF/ LhFoc8AV6LnD2W6ej0bo7Lt1rx1opy3lzfKBgRfHeVcNA0+zfm7sWfV X-Developer-Key: i=esteuwu@proton.me; a=ed25519; pk=wToFt4mOAWkzbqb15Ye1hrhevI13vK9BcMUFiQ/me1M= X-Endpoint-Received: by B4 Relay for esteuwu@proton.me/20260622 with auth_id=835 X-Original-From: Esteban Urrutia Reply-To: esteuwu@proton.me From: Esteban Urrutia Add bindings for this display driver IC which is used to drive MIPI DSI panels. Signed-off-by: Esteban Urrutia --- .../bindings/display/panel/novatek,nt37703.yaml | 78 ++++++++++++++++++= ++++ 1 file changed, 78 insertions(+) diff --git a/Documentation/devicetree/bindings/display/panel/novatek,nt3770= 3.yaml b/Documentation/devicetree/bindings/display/panel/novatek,nt37703.ya= ml new file mode 100644 index 000000000000..e1aeed5b978e --- /dev/null +++ b/Documentation/devicetree/bindings/display/panel/novatek,nt37703.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/novatek,nt37703.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Novatek NT37703 display driver IC based panels + +maintainers: + - Esteban Urrutia + +properties: + compatible: + items: + - enum: + - motorola,bronco-tianma-v2-nt37703 + - const: novatek,nt37703 + + reg: + maxItems: 1 + + avdd-supply: + description: Analog power supply for panel + + elvdd-supply: + description: Positive electroluminiscent (EL) power supply for panel + + elvss-supply: + description: Negative electroluminiscent (EL) power supply for panel + + vci-supply: + description: Analog power supply for DDIC + + vdd-supply: + description: Digital power supply for DDIC + + vddi-supply: + description: Digital I/O power supply for DDIC + + reset-gpios: + maxItems: 1 + +required: + - compatible + - reg + - reset-gpios + +allOf: + - $ref: panel-common.yaml# + +unevaluatedProperties: false + +examples: + - | + #include + + dsi { + #address-cells =3D <1>; + #size-cells =3D <0>; + + panel@0 { + compatible =3D "motorola,bronco-tianma-v2-nt37703", "novatek,n= t37703"; + reg =3D <0>; + + vci-supply =3D <&vreg_l13c_3p0>; + vdd-supply =3D <&vreg_l1d_1p25>; + vddi-supply =3D <&vreg_l12c_1p8>; + reset-gpios =3D <&tlmm 0 GPIO_ACTIVE_LOW>; + + port { + panel_in: endpoint { + remote-endpoint =3D <&dsi0_out>; + }; + }; + }; + }; + +... --=20 2.55.0 From nobody Tue Sep 29 07:41:36 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 D6F9923BD17; Tue, 11 Aug 2026 05:52:41 +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=1786427561; cv=none; b=qooZvHto1PRtyuCoeWk8/nP9JY3en31LBgiUnHPO5bbkrKl4xP4bRrVakqzkPQzKtkVh4MNu2JePzKQ4w+QxanZDZkhC/evNZnm0Dot6jjDPhfRgJ5g4ImdohG1ks7s0Afuc1RdcgOXKxQzBU04z0WbQOf9ewPaQNatSnM8cYG4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786427561; c=relaxed/simple; bh=5UbfLKx17x5lBhNXBnZzroEBQLItAGCVQAGqoOTvEHk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=oCplBsHtlMqtF8qQupxk50e3Tic4l+LXrVBkLLSwUccuxgo+WOjB6MkMdjJBA2/1rzvc8a6e6DYWhoEHVKfCKUFilE/KuXgbG7lTSFjj9BK2MgqqD2gEeNPXkwKqzbG4rWSG5XEa2zSHX5x/eM3dFMiCs719upjoE+zpYf8DjOQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=gZWF1wDH; 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="gZWF1wDH" Received: by smtp.kernel.org (Postfix) with ESMTPS id 87F27C2BCF5; Tue, 11 Aug 2026 05:52:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1786427561; bh=5UbfLKx17x5lBhNXBnZzroEBQLItAGCVQAGqoOTvEHk=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=gZWF1wDHw60l2EebWc9Phech+ugKFNeaFNoFrABX8gGs/PV2rDpk2Sj5LkdqHsxAJ 8DtCYsrd2eT+0RFsyzpjp8BNGA6R+J44LgF0SiZ9baLTFH4rqWma4hf0+1fz9+i2Lr 2M8jYcQgGflreW14Iwj3l8qD6SidFVS5R1fQFZ2U8soA7eKPtQ+CYZIPsjqgGekcNs uQ1u9uM45abkF3smkINYGj2wE8z0M/scYVE6k41MfdvDFSc059LvCxDYiMFYFTujXI brbmoM96l10W7D/+J4mET43i81OqSIngVIiFJqjTFfrRBkU9WewGv6CMR4sESYeO7e OXC1BEGYLPzuw== 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 69FC0C5AD7B; Tue, 11 Aug 2026 05:52:41 +0000 (UTC) From: Esteban Urrutia via B4 Relay Date: Tue, 11 Aug 2026 01:52:34 -0400 Subject: [PATCH 2/2] drm/panel: Add driver for Novatek NT37703 based panels 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: <20260811-nt37703-bup-v1-2-34ad42b064a3@proton.me> References: <20260811-nt37703-bup-v1-0-34ad42b064a3@proton.me> In-Reply-To: <20260811-nt37703-bup-v1-0-34ad42b064a3@proton.me> To: Neil Armstrong , Jessica Zhang , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, phone-devel@vger.kernel.org, Esteban Urrutia X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1786427559; l=18032; i=esteuwu@proton.me; s=20260622; h=from:subject:message-id; bh=RknlB0e5t9JKugYOQ+96ZHWEznekSBCnbfaEDiJmq6I=; b=Z0wLJDBoHxsYcJ5o/NhB1hNezO7upS1paVoWaBr3PevfddMxb7bDvydzqXdvv8XCVOC50NUri /Z+0+JJ1Z//DkW30p9u/Xiug9r2TLKGAVFByI1S2s8CnK5xSEeq2r0T X-Developer-Key: i=esteuwu@proton.me; a=ed25519; pk=wToFt4mOAWkzbqb15Ye1hrhevI13vK9BcMUFiQ/me1M= X-Endpoint-Received: by B4 Relay for esteuwu@proton.me/20260622 with auth_id=835 X-Original-From: Esteban Urrutia Reply-To: esteuwu@proton.me From: Esteban Urrutia Add driver for panels based on this DDIC. Initial support is added for the Tianma "v2" panel (no panel model) found in the Motorola ThinkPhone by motorola. Signed-off-by: Esteban Urrutia --- MAINTAINERS | 6 + drivers/gpu/drm/panel/Kconfig | 13 + drivers/gpu/drm/panel/Makefile | 1 + drivers/gpu/drm/panel/panel-novatek-nt37703.c | 467 ++++++++++++++++++++++= ++++ 4 files changed, 487 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index da14a58df9e8..e2bb50a8b1af 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -8339,6 +8339,12 @@ T: git https://gitlab.freedesktop.org/drm/misc/kerne= l.git F: Documentation/devicetree/bindings/display/panel/novatek,nt36672a.yaml F: drivers/gpu/drm/panel/panel-novatek-nt36672a.c =20 +DRM DRIVER FOR NOVATEK NT37703 PANELS +M: Esteban Urrutia +S: Maintained +F: Documentation/devicetree/bindings/display/panel/novatek,nt37703.yaml +F: drivers/gpu/drm/panel/panel-novatek-nt37703.c + DRM DRIVER FOR NOVATEK NT37801 PANELS M: Krzysztof Kozlowski S: Maintained diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig index cbdf7b8f7f7a..9cd74ceef44e 100644 --- a/drivers/gpu/drm/panel/Kconfig +++ b/drivers/gpu/drm/panel/Kconfig @@ -706,6 +706,19 @@ 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. =20 +config DRM_PANEL_NOVATEK_NT37703 + tristate "Novatek NT37703 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 or M here if you want to enable support for panels based + on the Novatek NT37703 display driver IC, such as Tianma + panels found in some units of the Motorola ThinkPhone by + motorola. + 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..4a69b2657c5b 100644 --- a/drivers/gpu/drm/panel/Makefile +++ b/drivers/gpu/drm/panel/Makefile @@ -68,6 +68,7 @@ obj-$(CONFIG_DRM_PANEL_NOVATEK_NT36536) +=3D panel-novate= k-nt36536.o obj-$(CONFIG_DRM_PANEL_NOVATEK_NT36672A) +=3D panel-novatek-nt36672a.o obj-$(CONFIG_DRM_PANEL_NOVATEK_NT36672E) +=3D panel-novatek-nt36672e.o obj-$(CONFIG_DRM_PANEL_NOVATEK_NT37700F) +=3D panel-novatek-nt37700f.o +obj-$(CONFIG_DRM_PANEL_NOVATEK_NT37703) +=3D panel-novatek-nt37703.o obj-$(CONFIG_DRM_PANEL_NOVATEK_NT37801) +=3D panel-novatek-nt37801.o obj-$(CONFIG_DRM_PANEL_NOVATEK_NT39016) +=3D panel-novatek-nt39016.o obj-$(CONFIG_DRM_PANEL_MANTIX_MLAF057WE51) +=3D panel-mantix-mlaf057we51.o diff --git a/drivers/gpu/drm/panel/panel-novatek-nt37703.c b/drivers/gpu/dr= m/panel/panel-novatek-nt37703.c new file mode 100644 index 000000000000..5858bf12a310 --- /dev/null +++ b/drivers/gpu/drm/panel/panel-novatek-nt37703.c @@ -0,0 +1,467 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Driver for Novatek NT37703 based MIPI DSI panels + * + * Multiple panel support based on Novatek NT36523 driver + * Per panel DSC support based on Ilitek ILI9882T driver + * + * Copyright (c) 2026 Esteban Urrutia + */ + +#include +#include +#include +#include +#include +#include +#include + +#include