From nobody Sun Apr 19 03:59:15 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 DA91DC433EF for ; Thu, 7 Jul 2022 03:16:42 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234776AbiGGDQk (ORCPT ); Wed, 6 Jul 2022 23:16:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44212 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234694AbiGGDQi (ORCPT ); Wed, 6 Jul 2022 23:16:38 -0400 Received: from mail-pf1-x432.google.com (mail-pf1-x432.google.com [IPv6:2607:f8b0:4864:20::432]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0E3D83057A for ; Wed, 6 Jul 2022 20:16:37 -0700 (PDT) Received: by mail-pf1-x432.google.com with SMTP id y141so16721472pfb.7 for ; Wed, 06 Jul 2022 20:16:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=iz8bT7YPyUHTObGNpxtkrlymFcuBRN0N5+wdic9C3L4=; b=lwK7nZnAqoEfwZSi3ADNeCmp05JBi6r8bMu0FjA92uIV1hn/W/FSMqO95gQPBWROaO abd8cFVXuM1+ASNDEMmRCL2gXajlq7mkuQd9pG7diS/TkTHBFFrNmicaOUxv0SSR7rIg eAfPfZhFxzAtsCEh1cab1yaeV1BbLQ1pz1sR6bOYZefwVr72C+4mNEFILWJtSjogD39X aeSaOwaDrzd920nyxkYC35r+m/PkjFhv6+9vGPZDRJYjHCxHt9IP9oZvCUpUgHURJP5i b58iyXneMr/rTC2UrifFBEdEM496F+3zxvGUAgMN8vRxfMJa4ClBsqlhMUZ2/BjqXPe7 vkWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=iz8bT7YPyUHTObGNpxtkrlymFcuBRN0N5+wdic9C3L4=; b=pEwLRxlQHk2QuPMe3XbcLWW2iTXsBINesX/7nNkgPbeOt1SMbURR07mkoqEVY2RMHP YnOzwjby6mIbh28kEQ/G6KwWuGb/lM4srR4aO9zBLz57eYSxKLUUV/8nkIFQ9lN4HqnE LYWtUdiJDkVnMLerFniauBbaadV8xce2dYJHVbbOQW2Q8069Qn5VE89Vcv/qlvUBedHE glWwx5IQJuDxhipg6jjteQsIwyfOsFpJOJ1ysEtZEe9iZMZ5tBO16mag31yjB7NpLp8s zLswPLIgvT3tGNjhdYeJT0zhZWvkS+4EaXxC7sT/4kA3FLcUz/BAxaLU8TFG5W3Q70ZO WUXQ== X-Gm-Message-State: AJIora/DEvLQCo0cJoWCGbL8oRge2ih7rzff10wupOePYFz2Mqyo9xfV hj7UeycgL1NN0vetzV6zBP9M19ron5EfsQ8H X-Google-Smtp-Source: AGRyM1uUHqjIghM0UtgfGgY5IRQsr1pqtJOorvHFq22ScvtJJmMi82QNp4Ajjmo9vIYp3D7UoFj8Xg== X-Received: by 2002:a17:902:7582:b0:16a:307a:5965 with SMTP id j2-20020a170902758200b0016a307a5965mr51283157pll.159.1657163796394; Wed, 06 Jul 2022 20:16:36 -0700 (PDT) Received: from localhost.localdomain ([112.0.189.16]) by smtp.gmail.com with ESMTPSA id ne22-20020a17090b375600b001ef899eb51fsm7413256pjb.29.2022.07.06.20.16.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 Jul 2022 20:16:35 -0700 (PDT) From: MollySophia To: Thierry Reding , Sam Ravnborg , David Airlie , Daniel Vetter , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org Cc: MollySophia Subject: [PATCH] drm: panel: Add novatek nt35596s panel driver Date: Thu, 7 Jul 2022 11:16:23 +0800 Message-Id: <20220707031623.220073-1-mollysophia379@gmail.com> X-Mailer: git-send-email 2.37.0 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" 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: MollySophia --- drivers/gpu/drm/panel/Kconfig | 9 + drivers/gpu/drm/panel/Makefile | 1 + .../gpu/drm/panel/panel-jdi-fhd-nt35596s.c | 464 ++++++++++++++++++ 3 files changed, 474 insertions(+) create mode 100644 drivers/gpu/drm/panel/panel-jdi-fhd-nt35596s.c diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig index d5176f75248f..a54389c107bc 100644 --- a/drivers/gpu/drm/panel/Kconfig +++ b/drivers/gpu/drm/panel/Kconfig @@ -231,6 +231,15 @@ config DRM_PANEL_JDI_R63452 Say Y here if you want to enable support for the JDI R63452 DSI command mode panel as found in Xiaomi Mi 5 Devices. =20 +config DRM_PANEL_JDI_NT35596S + tristate "JDI NT35596S Full HD 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 JDI NT35596S + DSI video mode panel as found in Xiaomi Mi Mix2s Devices. + config DRM_PANEL_KHADAS_TS050 tristate "Khadas TS050 panel" depends on OF diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile index ef89dada021d..40db5e6dcbf5 100644 --- a/drivers/gpu/drm/panel/Makefile +++ b/drivers/gpu/drm/panel/Makefile @@ -21,6 +21,7 @@ obj-$(CONFIG_DRM_PANEL_INNOLUX_P079ZCA) +=3D panel-innolu= x-p079zca.o obj-$(CONFIG_DRM_PANEL_INNOLUX_TD4328) +=3D panel-innolux-td4328.o obj-$(CONFIG_DRM_PANEL_JDI_LT070ME05000) +=3D panel-jdi-lt070me05000.o obj-$(CONFIG_DRM_PANEL_JDI_R63452) +=3D panel-jdi-fhd-r63452.o +obj-$(CONFIG_DRM_PANEL_JDI_NT35596S) +=3D panel-jdi-fhd-nt35596s.o obj-$(CONFIG_DRM_PANEL_KHADAS_TS050) +=3D panel-khadas-ts050.o obj-$(CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04) +=3D panel-kingdisplay-kd097d= 04.o obj-$(CONFIG_DRM_PANEL_LEADTEK_LTK050H3146W) +=3D panel-leadtek-ltk050h314= 6w.o diff --git a/drivers/gpu/drm/panel/panel-jdi-fhd-nt35596s.c b/drivers/gpu/d= rm/panel/panel-jdi-fhd-nt35596s.c new file mode 100644 index 000000000000..0793bcd872e2 --- /dev/null +++ b/drivers/gpu/drm/panel/panel-jdi-fhd-nt35596s.c @@ -0,0 +1,464 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Copyright (c) 2022 Molly Sophia + * + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include