From nobody Wed Feb 11 00:53:59 2026 Received: from mail-pg1-f181.google.com (mail-pg1-f181.google.com [209.85.215.181]) (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 0456913C689 for ; Sat, 1 Jun 2024 08:46:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.181 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717231606; cv=none; b=bZwOmBEmwHYne178H5bjMa9nhOw9MF6qqOKsPbv0dgYCpappeCf6EF5aKkwkUhSohMJcZq7YgJ1T3CrHqZn6VOTr9ySoUVpt23bcBQq4epFS/4FAe9TWSD+sIdXb2mIEZz1mpJ976pdGodvvXJkoHxFlrGAXUPZPq30L8elmGxw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717231606; c=relaxed/simple; bh=eIs8VDZ2I+lSEjDuDXwdGIfIMpJsYskdY2yQ3xEL2ts=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References; b=BIxhJYUsmCSD2AV4dA+lOsLdfcXw+Er09jgnVSXwoma0k6WLnOkYA0S/3Z7ehjg6oMTswKsP1lzIjcOZogDEDM2XHtYc2SGFbQNKZy2E3JXOkAzKj+DC7dcILm8yaRO0SP6JMvAdYyveW8Y4E6GZ/3Z0H4xYLWY59IKTuwTrmvU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=huaqin.corp-partner.google.com; spf=pass smtp.mailfrom=huaqin.corp-partner.google.com; dkim=pass (2048-bit key) header.d=huaqin-corp-partner-google-com.20230601.gappssmtp.com header.i=@huaqin-corp-partner-google-com.20230601.gappssmtp.com header.b=eGw+m4nr; arc=none smtp.client-ip=209.85.215.181 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=huaqin.corp-partner.google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=huaqin.corp-partner.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=huaqin-corp-partner-google-com.20230601.gappssmtp.com header.i=@huaqin-corp-partner-google-com.20230601.gappssmtp.com header.b="eGw+m4nr" Received: by mail-pg1-f181.google.com with SMTP id 41be03b00d2f7-6c4829d7136so1069009a12.1 for ; Sat, 01 Jun 2024 01:46:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=huaqin-corp-partner-google-com.20230601.gappssmtp.com; s=20230601; t=1717231603; x=1717836403; darn=vger.kernel.org; h=references:in-reply-to:message-id:date:subject:cc:to:from:from:to :cc:subject:date:message-id:reply-to; bh=F/VhRzJvFlw4cgaCE7sGFk/fAzW07UQtz5Yy9K56bvo=; b=eGw+m4nrAwcrB/r5Cq5rMvaHmWCIuXkhDQtVbR2PE9oeVqnqD3Y1zPBhhQGHCt+h6C CP5WdXBEZKBW0t4eLLu9JmK6xvCD+7c1Ip+W5NJjCFAF1up1hq4pMfncdJHiLy1bqhmF 3u2vyqqF/VOqeHA/tPT/4pSX0leZok1ScIfosKTfZCNsLe1LtuTceqgCGbMoZGXnNti1 GZ5HKHVNEfrzHVfB3rVY41sQ7ZfsoGNAKy8TEI2YY40VexaHFYiZKhSKiQ69lGzjgwcD bNjRwI4QKOZxNqTM/Vi6D0bfICF3G7BcTtprLU5LnjmLxziUpQOU9jyumwdG/ZfjXBAO 4L5Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717231603; x=1717836403; h=references:in-reply-to:message-id:date:subject:cc:to:from :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=F/VhRzJvFlw4cgaCE7sGFk/fAzW07UQtz5Yy9K56bvo=; b=nX5K6v7fvG+Fj/Uxr5Su8vHuXHKY6WT4bkjpDLqIrfbD5eStrhrt1J0YSqIi6deB3Z ApWUJz1kPdGYMb3ap+wP+4WRRJI/QpTJ/hl7sbSLu5bi9N3bxr9b0Us3tugitH3R5/gF oLwXGXiax04HjhRh4Y4j2BQGhNpJwIHOiZfwFOMGsj+ckkMAzkEdcXBfZ1ZF9YcW80EP 7SZh/RSMXyTzpwIGMIfWVVSGtN+qxLulwHt3dUh/mUadA+RuiErfxtCosqrGXxCzqEUm V+SKCp1mickw30FxRQQhiaZLirI8qPVe1muSdZo+3G6dwFpoHlrZ4dqWbT4HqEjRA+if GYqA== X-Forwarded-Encrypted: i=1; AJvYcCWeRY5c1Cdqsd9io2MDwN3iS7MkLMA/CjxsViHYatwazimY5yONBopoOuO0w3LAlP2Oh1qRF7TxCTRJbejHzPfsqWIJrcBXYzy8ZPcn X-Gm-Message-State: AOJu0YwwVrjl+didTaEm5FHRC+3f53mybXnftruT0eZVQi5lungx8cfe MUXL10eYfyFUMqIZCpRSMsTgbHYQ5HN+ldSf7R8UYef/udUQz9s+c5hgxGmBng8= X-Google-Smtp-Source: AGHT+IFWt1E88fxINk/YBxjzIfj8xsDi2coQpetmeM7CVRx0T7/j+rW5O2QbTMQT1BKH2hEUibAtTA== X-Received: by 2002:a05:6a21:185:b0:1b1:ce04:e80a with SMTP id adf61e73a8af0-1b26f0e6127mr4974707637.13.1717231603039; Sat, 01 Jun 2024 01:46:43 -0700 (PDT) Received: from lvzhaoxiong-KLVC-WXX9.huaqin.com ([116.66.212.162]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-702423c7b49sm2512044b3a.37.2024.06.01.01.46.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Jun 2024 01:46:42 -0700 (PDT) From: Zhaoxiong Lv To: dmitry.torokhov@gmail.com, robh@kernel.org, krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org, jikos@kernel.org, benjamin.tissoires@redhat.co, dianders@google.com, hsinyi@google.com Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Zhaoxiong Lv Subject: [PATCH v2 2/4] drm/panel: kd101ne3: add new panel driver Date: Sat, 1 Jun 2024 16:45:26 +0800 Message-Id: <20240601084528.22502-3-lvzhaoxiong@huaqin.corp-partner.google.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20240601084528.22502-1-lvzhaoxiong@huaqin.corp-partner.google.com> References: <20240601084528.22502-1-lvzhaoxiong@huaqin.corp-partner.google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" The bias IC of this kindisplay-kd101ne3 panel is placed on the panel side, so when the panel is powered on, there is no need to control AVDD and AVEE in the driver, only 3.3v and reset are needed. Signed-off-by: Zhaoxiong Lv --- Chage since V2: - 1. Use the new mipi_dsi_dcs_write_seq_multi() function. - 2. Modify Move mipi_dsi_dcs_set_display_off() and mipi_dsi_dcs_enter_sle= ep_mode() to disable(), - and drop kingdisplay_panel_enter_sleep_mode(). - 3. If prepare fails, disable GPIO before regulators. - 4. This function drm_connector_set_panel_orientation() is no longer used= . Delete it. - 5. Drop ".shutdown =3D kingdisplay_panel_shutdown". --- drivers/gpu/drm/panel/Kconfig | 9 + drivers/gpu/drm/panel/Makefile | 1 + .../drm/panel/panel-kingdisplay-kd101ne3.c | 533 ++++++++++++++++++ 3 files changed, 543 insertions(+) create mode 100644 drivers/gpu/drm/panel/panel-kingdisplay-kd101ne3.c diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig index e54f6f5604ed..71669e990e8e 100644 --- a/drivers/gpu/drm/panel/Kconfig +++ b/drivers/gpu/drm/panel/Kconfig @@ -297,6 +297,15 @@ config DRM_PANEL_KINGDISPLAY_KD097D04 24 bit RGB per pixel. It provides a MIPI DSI interface to the host and has a built-in LED backlight. =20 +config DRM_PANEL_KINGDISPLAY_KD101NE3 + tristate "Kingdisplay kd101ne3 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 kingdisplay kd101ne3 + 4-lane 800x1280 MIPI DSI panel. + config DRM_PANEL_LEADTEK_LTK050H3146W tristate "Leadtek LTK050H3146W panel" depends on OF diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile index f0203f6e02f4..4576c9fe33d9 100644 --- a/drivers/gpu/drm/panel/Makefile +++ b/drivers/gpu/drm/panel/Makefile @@ -30,6 +30,7 @@ obj-$(CONFIG_DRM_PANEL_JDI_LPM102A188A) +=3D panel-jdi-lp= m102a188a.o obj-$(CONFIG_DRM_PANEL_JDI_R63452) +=3D panel-jdi-fhd-r63452.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_KINGDISPLAY_KD101NE3) +=3D panel-kingdisplay-kd101n= e3.o obj-$(CONFIG_DRM_PANEL_LEADTEK_LTK050H3146W) +=3D panel-leadtek-ltk050h314= 6w.o obj-$(CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829) +=3D panel-leadtek-ltk500hd18= 29.o obj-$(CONFIG_DRM_PANEL_LG_LB035Q02) +=3D panel-lg-lb035q02.o diff --git a/drivers/gpu/drm/panel/panel-kingdisplay-kd101ne3.c b/drivers/g= pu/drm/panel/panel-kingdisplay-kd101ne3.c new file mode 100644 index 000000000000..8994a1c9afb5 --- /dev/null +++ b/drivers/gpu/drm/panel/panel-kingdisplay-kd101ne3.c @@ -0,0 +1,533 @@ +// SPDX-License-Identifier: GPL-2.0 +/* Panels based on the JD9365DA display controller. + * Author: Zhaoxiong Lv + */ + +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include