From nobody Sun Feb 8 04:52:27 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 714EEC001DE for ; Wed, 19 Jul 2023 15:20:22 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231617AbjGSPUV (ORCPT ); Wed, 19 Jul 2023 11:20:21 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57564 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229974AbjGSPUQ (ORCPT ); Wed, 19 Jul 2023 11:20:16 -0400 Received: from madras.collabora.co.uk (madras.collabora.co.uk [46.235.227.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CAC2CC1; Wed, 19 Jul 2023 08:20:15 -0700 (PDT) Received: from johnny.home (unknown [IPv6:2a01:e0a:212:79f0:c8e5:afad:333a:7f73]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: aferraris) by madras.collabora.co.uk (Postfix) with ESMTPSA id 2680E6607077; Wed, 19 Jul 2023 16:20:14 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1689780014; bh=o+UZAawV5YW/vKFS1gqhCqE6/EXE+vV8rUmdTLCnBso=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=OdlQNVCiKaKkqpBWViPt+EVLVscsk+itHhxODWqD+B/golXYVpzkQxcJePL6tDiNi sCiNvDawOyE+Yc2mUOenhhn9DK5ix/HwVxo6KzjPLDjr6hyn9J69ATBgDkXU4YoW1V Y+o6Ivb2WKhKOnhws6VUekQ0+XFiVHrOVpsoPaoESoYhVBGVmHIeqdh3fvjrl8wJVr 0m8Km7gRKnq9McIV5Ogngd8GbSx1akXvOIMTw6P4jAIRtq3qTfCqld8fCrVahWq4a/ 5/f1EArPZd//gyggVtAPppZWdjlxRKuXRUfm+vyVq7m2ZdKs+LPqgAU/h9kwAYM1Sz Nh0jPGowznX3w== From: Arnaud Ferraris To: Sumit Semwal , Neil Armstrong , Sam Ravnborg , David Airlie , Daniel Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Molly Sophia , Arnaud Ferraris , Krzysztof Kozlowski Subject: [PATCH v5 1/2 RESEND] dt-bindings: display: panel: Add Novatek NT35596S panel bindings Date: Wed, 19 Jul 2023 17:20:06 +0200 Message-Id: <20230719152007.197710-2-arnaud.ferraris@collabora.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230719152007.197710-1-arnaud.ferraris@collabora.com> References: <20230719152007.197710-1-arnaud.ferraris@collabora.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" From: Molly Sophia Add documentation for "novatek,nt35596s" panel. Signed-off-by: Molly Sophia Signed-off-by: Arnaud Ferraris Acked-by: Krzysztof Kozlowski --- Changes in v5: - Move changelog out of commit message. - Wrap header comment block lines around 80 chars. Changes in v4: - No change. Changes in v3: - Embed the support into existing driver (panel-novatek-nt36672a), as these two IC are similar with different initialization commands. .../display/panel/novatek,nt36672a.yaml | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/Documentation/devicetree/bindings/display/panel/novatek,nt3667= 2a.yaml b/Documentation/devicetree/bindings/display/panel/novatek,nt36672a.= yaml index ae821f465e1c..53b9e771af56 100644 --- a/Documentation/devicetree/bindings/display/panel/novatek,nt36672a.yaml +++ b/Documentation/devicetree/bindings/display/panel/novatek,nt36672a.yaml @@ -20,14 +20,21 @@ allOf: =20 properties: compatible: - items: - - enum: - - tianma,fhd-video - - const: novatek,nt36672a + oneOf: + - items: + - enum: + - jdi,fhd-nt35596s + - const: novatek,nt35596s + + - items: + - enum: + - tianma,fhd-video + - const: novatek,nt36672a + description: This indicates the panel manufacturer of the panel that is - in turn using the NT36672A panel driver. This compatible string - determines how the NT36672A panel driver is configured for the indic= ated - panel. The novatek,nt36672a compatible shall always be provided as a= fallback. + in turn using the NT36672A or the NT35596S panel driver. This compat= ible + string determines how the panel driver is configured for the indicat= ed + panel. =20 reset-gpios: maxItems: 1 --=20 2.40.1 From nobody Sun Feb 8 04:52:27 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2354AC001DE for ; Wed, 19 Jul 2023 15:20:25 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231666AbjGSPUY (ORCPT ); Wed, 19 Jul 2023 11:20:24 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57578 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231548AbjGSPUS (ORCPT ); Wed, 19 Jul 2023 11:20:18 -0400 Received: from madras.collabora.co.uk (madras.collabora.co.uk [IPv6:2a00:1098:0:82:1000:25:2eeb:e5ab]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CAF7212F for ; Wed, 19 Jul 2023 08:20:16 -0700 (PDT) Received: from johnny.home (unknown [IPv6:2a01:e0a:212:79f0:c8e5:afad:333a:7f73]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: aferraris) by madras.collabora.co.uk (Postfix) with ESMTPSA id E6E896607078; Wed, 19 Jul 2023 16:20:14 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1689780015; bh=Vuz8fxxRQjyEzNJO5AifT30HVP1PpYja7Nw+e3uq5EM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=RdqvU8eVbhir2m5RRjomEgdqhaDDdkd3yICGx8N0RE2FPBi6pPTU3uesyt+xzFPwS fF3ER6Q01KfF51CY8OaD2UeJeLY118SnTQOFu9gsK+4x/NN9Zox8mFQk6HVWLhSjig H29UON+odoMwFCkq2h68bYXNoveCARYcuXhMWdhEBsAljOLNW+wxbMl1WSYDU3/sv3 nc8Q292u36GOFTutxOF8f0eCjPVAhmkmTnw1gaCj77hT0ugNnCs5hG4c3jt5IRXi/D /0zcnhsVBIQBo3r9mg/VhZqTPmg4By9GafFGum+MC4STsYDrJ3em/klMvArVBpFOLw r8/ye8B97dYKA== From: Arnaud Ferraris To: Neil Armstrong , Sam Ravnborg , David Airlie , Daniel Vetter , Sumit Semwal , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Cc: Molly Sophia , Arnaud Ferraris Subject: [PATCH v5 2/2 RESEND] drm: panel: Add novatek nt35596s panel driver Date: Wed, 19 Jul 2023 17:20:07 +0200 Message-Id: <20230719152007.197710-3-arnaud.ferraris@collabora.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230719152007.197710-1-arnaud.ferraris@collabora.com> References: <20230719152007.197710-1-arnaud.ferraris@collabora.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" From: Molly Sophia Novatek NT35596s is a generic DSI IC that drives command and video mode panels. Add the driver for it. Currently add support for the LCD panel from JDI connected with this IC, as found on Xiaomi Mi Mix2s phones. Signed-off-by: Molly Sophia Signed-off-by: Arnaud Ferraris --- Changes in v5: - Move changelog out of commit message. - Wrap description lines around 80 chars. Changes in v4: - Correct numeric order of the items. Changes in v3: - Embed the documentation into existing one (novatek,nt36672a). drivers/gpu/drm/panel/Kconfig | 7 +- .../gpu/drm/panel/panel-novatek-nt36672a.c | 251 ++++++++++++++++-- 2 files changed, 237 insertions(+), 21 deletions(-) diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig index 1a0fd0754692..28ac4d980472 100644 --- a/drivers/gpu/drm/panel/Kconfig +++ b/drivers/gpu/drm/panel/Kconfig @@ -399,14 +399,15 @@ config DRM_PANEL_NOVATEK_NT36523 Boe panels used in Xiaomi Mi Pad 5 and 5 Pro tablets. =20 config DRM_PANEL_NOVATEK_NT36672A - tristate "Novatek NT36672A DSI panel" + tristate "Novatek NT36672A/NT35596S DSI panel" depends on OF depends on DRM_MIPI_DSI depends on BACKLIGHT_CLASS_DEVICE help Say Y here if you want to enable support for the panels built - around the Novatek NT36672A display controller, such as some - Tianma panels used in a few Xiaomi Poco F1 mobile phones. + around the Novatek NT36672A or NT35596S display controller, such + as some Tianma panels used in a few Xiaomi Poco F1 mobile phones + or the JDI panels used in Xiaomi Mi Mix2S mobile phones. =20 config DRM_PANEL_NOVATEK_NT39016 tristate "Novatek NT39016 RGB/SPI panel" diff --git a/drivers/gpu/drm/panel/panel-novatek-nt36672a.c b/drivers/gpu/d= rm/panel/panel-novatek-nt36672a.c index 73bcffa1e0c1..68600000618b 100644 --- a/drivers/gpu/drm/panel/panel-novatek-nt36672a.c +++ b/drivers/gpu/drm/panel/panel-novatek-nt36672a.c @@ -3,13 +3,16 @@ * Copyright (C) 2020 Linaro Ltd * Author: Sumit Semwal * - * This driver is for the DSI interface to panels using the NT36672A displ= ay driver IC - * from Novatek. - * Currently supported are the Tianma FHD+ panels found in some Xiaomi pho= nes, including - * some variants of the Poco F1 phone. + * Copyright (C) 2022 Molly Sophia * - * Panels using the Novatek NT37762A IC should add appropriate configurati= on per-panel and - * use this driver. + * This driver is for the DSI interface to panels using the NT36672A/NT355= 96S + * display driver IC from Novatek. + * Currently supported are the Tianma FHD+ panels found in some Xiaomi pho= nes, + * including some variants of the Poco F1 phone, and the JDI FHD+ panels f= ound + * in Xiaomi Mi Mix2S phones. + * + * Panels using the Novatek NT37762A or NT35596S IC should add appropriate + * configuration per-panel and use this driver. */ =20 #include @@ -123,12 +126,14 @@ static int nt36672a_panel_unprepare(struct drm_panel = *panel) if (!pinfo->prepared) return 0; =20 - /* send off cmds */ - ret =3D nt36672a_send_cmds(panel, pinfo->desc->off_cmds, - pinfo->desc->num_off_cmds); + if (pinfo->desc->num_off_cmds !=3D 0) { + /* send off cmds if present */ + ret =3D nt36672a_send_cmds(panel, pinfo->desc->off_cmds, + pinfo->desc->num_off_cmds); =20 - if (ret < 0) - dev_err(panel->dev, "failed to send DCS off cmds: %d\n", ret); + if (ret < 0) + dev_err(panel->dev, "failed to send DCS off cmds: %d\n", ret); + } =20 ret =3D mipi_dsi_dcs_set_display_off(pinfo->link); if (ret < 0) @@ -211,13 +216,15 @@ static int nt36672a_panel_prepare(struct drm_panel *p= anel) goto poweroff; } =20 - /* Send rest of the init cmds */ - err =3D nt36672a_send_cmds(panel, pinfo->desc->on_cmds_2, - pinfo->desc->num_on_cmds_2); + if (pinfo->desc->num_on_cmds_2 !=3D 0) { + /* Send rest of the init cmds if present */ + err =3D nt36672a_send_cmds(panel, pinfo->desc->on_cmds_2, + pinfo->desc->num_on_cmds_2); =20 - if (err < 0) { - dev_err(panel->dev, "failed to send DCS Init 2nd Code: %d\n", err); - goto poweroff; + if (err < 0) { + dev_err(panel->dev, "failed to send DCS Init 2nd Code: %d\n", err); + goto poweroff; + } } =20 msleep(120); @@ -601,6 +608,212 @@ static const struct nt36672a_panel_desc tianma_fhd_vi= deo_panel_desc =3D { .num_off_cmds =3D ARRAY_SIZE(tianma_fhd_video_off_cmds), }; =20 +static const struct nt36672a_panel_cmd jdi_nt35596s_video_on_cmds[] =3D { + { .data =3D { 0xff, 0x24 } }, + { .data =3D { 0x9d, 0x34 } }, + { .data =3D { 0xfb, 0x01 } }, + { .data =3D { 0xc4, 0x25 } }, + { .data =3D { 0xd1, 0x08 } }, + { .data =3D { 0xd2, 0x84 } }, + { .data =3D { 0xff, 0x26 } }, + { .data =3D { 0xfb, 0x01 } }, + { .data =3D { 0x03, 0x1c } }, + { .data =3D { 0x3b, 0x08 } }, + { .data =3D { 0x6b, 0x08 } }, + { .data =3D { 0x97, 0x08 } }, + { .data =3D { 0xc5, 0x08 } }, + { .data =3D { 0xfb, 0x01 } }, + { .data =3D { 0xff, 0x23 } }, + { .data =3D { 0xfb, 0x01 } }, + { .data =3D { 0x01, 0x84 } }, + { .data =3D { 0x05, 0x2d } }, + { .data =3D { 0x06, 0x00 } }, + { .data =3D { 0x33, 0x07 } }, + { .data =3D { 0x21, 0xee } }, + { .data =3D { 0x22, 0xed } }, + { .data =3D { 0x23, 0xea } }, + { .data =3D { 0x24, 0xe8 } }, + { .data =3D { 0x25, 0xe5 } }, + { .data =3D { 0x26, 0xe2 } }, + { .data =3D { 0x27, 0xde } }, + { .data =3D { 0x28, 0xbb } }, + { .data =3D { 0x29, 0x87 } }, + { .data =3D { 0x2a, 0x77 } }, + { .data =3D { 0x32, 0x0c } }, + { .data =3D { 0x13, 0x3f } }, + { .data =3D { 0x14, 0x34 } }, + { .data =3D { 0x15, 0x2a } }, + { .data =3D { 0x16, 0x25 } }, + { .data =3D { 0x17, 0x9d } }, + { .data =3D { 0x18, 0x9a } }, + { .data =3D { 0x19, 0x97 } }, + { .data =3D { 0x1a, 0x94 } }, + { .data =3D { 0x1b, 0x91 } }, + { .data =3D { 0x1c, 0x8e } }, + { .data =3D { 0x1d, 0x8b } }, + { .data =3D { 0x1e, 0x89 } }, + { .data =3D { 0x1f, 0x86 } }, + { .data =3D { 0x20, 0x83 } }, + { .data =3D { 0xff, 0x22 } }, + { .data =3D { 0x00, 0x0a } }, + { .data =3D { 0x01, 0x43 } }, + { .data =3D { 0x02, 0x5b } }, + { .data =3D { 0x03, 0x6a } }, + { .data =3D { 0x04, 0x7a } }, + { .data =3D { 0x05, 0x82 } }, + { .data =3D { 0x06, 0x85 } }, + { .data =3D { 0x07, 0x80 } }, + { .data =3D { 0x08, 0x7c } }, + { .data =3D { 0x09, 0x7c } }, + { .data =3D { 0x0a, 0x74 } }, + { .data =3D { 0x0b, 0x71 } }, + { .data =3D { 0x0c, 0x6e } }, + { .data =3D { 0x0d, 0x68 } }, + { .data =3D { 0x0e, 0x65 } }, + { .data =3D { 0x0f, 0x5c } }, + { .data =3D { 0x10, 0x32 } }, + { .data =3D { 0x11, 0x18 } }, + { .data =3D { 0x12, 0x00 } }, + { .data =3D { 0x13, 0x00 } }, + { .data =3D { 0x1a, 0x00 } }, + { .data =3D { 0x1b, 0x00 } }, + { .data =3D { 0x1c, 0x00 } }, + { .data =3D { 0x1d, 0x00 } }, + { .data =3D { 0x1e, 0x00 } }, + { .data =3D { 0x1f, 0x00 } }, + { .data =3D { 0x20, 0x00 } }, + { .data =3D { 0x21, 0x00 } }, + { .data =3D { 0x22, 0x00 } }, + { .data =3D { 0x23, 0x00 } }, + { .data =3D { 0x24, 0x00 } }, + { .data =3D { 0x25, 0x00 } }, + { .data =3D { 0x26, 0x00 } }, + { .data =3D { 0x27, 0x00 } }, + { .data =3D { 0x28, 0x00 } }, + { .data =3D { 0x29, 0x00 } }, + { .data =3D { 0x2a, 0x00 } }, + { .data =3D { 0x2b, 0x00 } }, + { .data =3D { 0x2f, 0x00 } }, + { .data =3D { 0x30, 0x00 } }, + { .data =3D { 0x31, 0x00 } }, + { .data =3D { 0x32, 0x0c } }, + { .data =3D { 0x33, 0x0c } }, + { .data =3D { 0x34, 0x0c } }, + { .data =3D { 0x35, 0x0b } }, + { .data =3D { 0x36, 0x09 } }, + { .data =3D { 0x37, 0x09 } }, + { .data =3D { 0x38, 0x08 } }, + { .data =3D { 0x39, 0x05 } }, + { .data =3D { 0x3a, 0x03 } }, + { .data =3D { 0x3b, 0x00 } }, + { .data =3D { 0x3f, 0x00 } }, + { .data =3D { 0x40, 0x00 } }, + { .data =3D { 0x41, 0x00 } }, + { .data =3D { 0x42, 0x00 } }, + { .data =3D { 0x43, 0x00 } }, + { .data =3D { 0x44, 0x00 } }, + { .data =3D { 0x45, 0x00 } }, + { .data =3D { 0x46, 0x00 } }, + { .data =3D { 0x47, 0x00 } }, + { .data =3D { 0x48, 0x00 } }, + { .data =3D { 0x49, 0x03 } }, + { .data =3D { 0x4a, 0x06 } }, + { .data =3D { 0x4b, 0x07 } }, + { .data =3D { 0x4c, 0x07 } }, + { .data =3D { 0x53, 0x01 } }, + { .data =3D { 0x54, 0x01 } }, + { .data =3D { 0x55, 0x89 } }, + { .data =3D { 0x56, 0x00 } }, + { .data =3D { 0x58, 0x00 } }, + { .data =3D { 0x68, 0x00 } }, + { .data =3D { 0x84, 0xff } }, + { .data =3D { 0x85, 0xff } }, + { .data =3D { 0x86, 0x03 } }, + { .data =3D { 0x87, 0x00 } }, + { .data =3D { 0x88, 0x00 } }, + { .data =3D { 0xa2, 0x20 } }, + { .data =3D { 0xa9, 0x01 } }, + { .data =3D { 0xaa, 0x12 } }, + { .data =3D { 0xab, 0x13 } }, + { .data =3D { 0xac, 0x0a } }, + { .data =3D { 0xad, 0x74 } }, + { .data =3D { 0xaf, 0x33 } }, + { .data =3D { 0xb0, 0x03 } }, + { .data =3D { 0xb1, 0x14 } }, + { .data =3D { 0xb2, 0x42 } }, + { .data =3D { 0xb3, 0x40 } }, + { .data =3D { 0xb4, 0xa5 } }, + { .data =3D { 0xb6, 0x44 } }, + { .data =3D { 0xb7, 0x04 } }, + { .data =3D { 0xb8, 0x14 } }, + { .data =3D { 0xb9, 0x42 } }, + { .data =3D { 0xba, 0x40 } }, + { .data =3D { 0xbb, 0xa5 } }, + { .data =3D { 0xbd, 0x44 } }, + { .data =3D { 0xbe, 0x04 } }, + { .data =3D { 0xbf, 0x00 } }, + { .data =3D { 0xc0, 0x75 } }, + { .data =3D { 0xc1, 0x6a } }, + { .data =3D { 0xc2, 0xa5 } }, + { .data =3D { 0xc4, 0x22 } }, + { .data =3D { 0xc5, 0x02 } }, + { .data =3D { 0xc6, 0x00 } }, + { .data =3D { 0xc7, 0x95 } }, + { .data =3D { 0xc8, 0x8a } }, + { .data =3D { 0xc9, 0xa5 } }, + { .data =3D { 0xcb, 0x22 } }, + { .data =3D { 0xcc, 0x02 } }, + { .data =3D { 0xcd, 0x00 } }, + { .data =3D { 0xce, 0xb5 } }, + { .data =3D { 0xcf, 0xaa } }, + { .data =3D { 0xd0, 0xa5 } }, + { .data =3D { 0xd2, 0x22 } }, + { .data =3D { 0xd3, 0x02 } }, + { .data =3D { 0xfb, 0x01 } }, + { .data =3D { 0xff, 0x10 } }, + { .data =3D { 0x26, 0x02 } }, + { .data =3D { 0x35, 0x00 } }, + { .data =3D { 0x51, 0xff } }, + { .data =3D { 0x53, 0x24 } }, + { .data =3D { 0x55, 0x00 } }, + { .data =3D { 0xb0, 0x00 } }, +}; + +static const struct drm_display_mode jdi_nt35596s_video_panel_mode =3D { + .clock =3D (1080 + 16 + 28 + 40) * (2160 + 7 + 4 + 24) * 60 / 1000, + + .hdisplay =3D 1080, + .hsync_start =3D 1080 + 16, + .hsync_end =3D 1080 + 16 + 28, + .htotal =3D 1080 + 16 + 28 + 40, + + .vdisplay =3D 2160, + .vsync_start =3D 2160 + 7, + .vsync_end =3D 2160 + 7 + 4, + .vtotal =3D 2160 + 7 + 4 + 24, + + .type =3D DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED, +}; + +static const struct nt36672a_panel_desc jdi_nt35596s_video_panel_desc =3D { + .display_mode =3D &jdi_nt35596s_video_panel_mode, + + .width_mm =3D 68, + .height_mm =3D 136, + + .mode_flags =3D MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_VIDEO | + MIPI_DSI_MODE_VIDEO_HSE | MIPI_DSI_CLOCK_NON_CONTINUOUS | + MIPI_DSI_MODE_VIDEO_BURST, + .format =3D MIPI_DSI_FMT_RGB888, + .lanes =3D 4, + .on_cmds_1 =3D jdi_nt35596s_video_on_cmds, + .num_on_cmds_1 =3D ARRAY_SIZE(jdi_nt35596s_video_on_cmds), + .on_cmds_2 =3D NULL, + .num_on_cmds_2 =3D 0, + .off_cmds =3D NULL, + .num_off_cmds =3D 0, +}; + static int nt36672a_panel_add(struct nt36672a_panel *pinfo) { struct device *dev =3D &pinfo->link->dev; @@ -699,6 +912,7 @@ static void nt36672a_panel_shutdown(struct mipi_dsi_dev= ice *dsi) =20 static const struct of_device_id tianma_fhd_video_of_match[] =3D { { .compatible =3D "tianma,fhd-video", .data =3D &tianma_fhd_video_panel_d= esc }, + { .compatible =3D "jdi,fhd-nt35596s", .data =3D &jdi_nt35596s_video_panel= _desc }, { }, }; MODULE_DEVICE_TABLE(of, tianma_fhd_video_of_match); @@ -715,5 +929,6 @@ static struct mipi_dsi_driver nt36672a_panel_driver =3D= { module_mipi_dsi_driver(nt36672a_panel_driver); =20 MODULE_AUTHOR("Sumit Semwal "); -MODULE_DESCRIPTION("NOVATEK NT36672A based MIPI-DSI LCD panel driver"); +MODULE_AUTHOR("Molly Sophia "); +MODULE_DESCRIPTION("NOVATEK NT36672A/NT35596S based MIPI-DSI LCD panel dri= ver"); MODULE_LICENSE("GPL"); --=20 2.40.1