From nobody Fri Dec 19 22:06:05 2025 Received: from mail-pf1-f195.google.com (mail-pf1-f195.google.com [209.85.210.195]) (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 B2FDB13DBB1 for ; Sat, 1 Jun 2024 08:46:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.195 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717231596; cv=none; b=GsHWxcKDFhMJbr5dXpmlPdztP6c9nNAAjKwqbuezBf8WzwY1od60n9LPVBJfD7B7bwR3dHqEug4rbkgsq0B5e+awHICyFuAUn6ziirJ5DLlY5/B5/VqwdsBRBxA+jBEAZr1o4kY6ZvQV4KeFvwWdv9mrjKHDiAFT63ASS6MCwH4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717231596; c=relaxed/simple; bh=0ShjCl1Qen1ebS2mpgxeBGd8NrFuzOdElxyxdD7Gdno=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References; b=X5HwBDl/8kG073gxYgKkilMK4UAk060X9AAj2uQWRTQc3dzhrue5WhYx8cG/Iyb6DgEfTOTs6E/dW/Yzc6DywMoQdW0h/D+y38HRrDVlvXoQy2+mPgfQt6oY+P+rxAQet79MutbO4CIs3vLtCF456wRHgaMRf3xYDHzH7lMMXFw= 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=E7KfxK9o; arc=none smtp.client-ip=209.85.210.195 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="E7KfxK9o" Received: by mail-pf1-f195.google.com with SMTP id d2e1a72fcca58-7024494f7daso1483626b3a.3 for ; Sat, 01 Jun 2024 01:46:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=huaqin-corp-partner-google-com.20230601.gappssmtp.com; s=20230601; t=1717231594; x=1717836394; 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=BWMKP5LFlkDOSxfrnz5yHlOyMbunRcU9qIKa5/oOPUc=; b=E7KfxK9oM1Ep9vo6bpaePw+WrRuRsVyTVcSkEpPEJrlu+SF5HM9A70W0dalmQ/fc4P ey3rEdOChQ7fl6jwqxWA6rww+AHOGj2P4tIs2KNXSpgHPvtqdSjVgXB3Y0sX6kdtJfxa GzW+qH5ZUg12HL2yQvggC0mbP/IHU2blYM+MtKvXd+WQZAFogdZOVL1gxa0ERAYGMjw2 AWYt5lAhgf3J5FHJRF35FyXRS2C03lCRye49q7kkTq0WvpkJLaQjUDAvH8M2LMWtQfrI D65J8lT68a46oCuOS+seeI61O8VxghMZySw4kocDozYXaVNoxfrlhvr6vNed1x1xS87C 3gig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717231594; x=1717836394; 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=BWMKP5LFlkDOSxfrnz5yHlOyMbunRcU9qIKa5/oOPUc=; b=vqF0XJk8mPT6k98Dau1IhD0tAQd84IiYfEx/mk2KUw7CwiPRxSiv1+/znN7r0htBwX AlSmqFeC8NgNGtS1jRE1FexL5dGoCuyhs95JMIObR4UVcCvFeyCtPbuxdiosOTleGxK2 V20C99hcjzUyNYW1YItI4p+y6N/nkbJsr/XL0nFPf+J8g1tS3hcJXFxEYWs/giFxdrRU NjzLF3ZeNCotOOifCYJRCff6PCDfAR8Tb4/vwj0EWNwYY4fVUCNOpYP/MOQLszBOhAvd 6vX8BV31cqhM0hb1B4d5A5TVQxw1Z+XQVLJyE5QoUJuTl2niYK73woQ2+szMgRUT8MFt Va1g== X-Forwarded-Encrypted: i=1; AJvYcCVSEqZfwSZ5ujzOEHNQmGTPZKkkVcV9Z3fQJOrWE23St2oY+08nh2QiopYrtAlYX2hacan+g8YTQS4yOk2nrhzHMb7pYn4uhCTPsWyB X-Gm-Message-State: AOJu0Yz2Z9+6JEBhmtqGT8MK8UZ0kurT446SCNCEEGn/R3o6lmAk9DhJ opNPg9qjY64EHYwuUa3qG+3s9BhYtrMISijQ3SuGpXNj6EMjmmYqeXzDyl02Brs= X-Google-Smtp-Source: AGHT+IGXPuE8dbUUxqNOYjw6L1iImTMU+Bb7Ncc2SHFeKOzPZbY2wYMNuci4TbwP5eGNNmY//5z8yg== X-Received: by 2002:a05:6a00:2e90:b0:702:56c0:299 with SMTP id d2e1a72fcca58-70256c00467mr1173669b3a.20.1717231593905; Sat, 01 Jun 2024 01:46:33 -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.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Jun 2024 01:46:33 -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 1/4] dt-bindings: display: panel: Add KD101NE3-40TI support Date: Sat, 1 Jun 2024 16:45:25 +0800 Message-Id: <20240601084528.22502-2-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" Create a new dt-scheam for the kd101ne3-40ti. 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. Signed-off-by: Zhaoxiong Lv --- Chage since V2: - Drop some properties that have already been defined in panel-common. - The header file 'dt-bindings/gpio/gpio.h' is not used, delete it V1: https://lore.kernel.org/all/20240418081548.12160-2-lvzhaoxiong@huaqin.c= orp-partner.google.com/ --- .../panel/kingdisplay,kd101ne3-40ti.yaml | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/panel/kingdis= play,kd101ne3-40ti.yaml diff --git a/Documentation/devicetree/bindings/display/panel/kingdisplay,kd= 101ne3-40ti.yaml b/Documentation/devicetree/bindings/display/panel/kingdisp= lay,kd101ne3-40ti.yaml new file mode 100644 index 000000000000..b0cf12bb727d --- /dev/null +++ b/Documentation/devicetree/bindings/display/panel/kingdisplay,kd101ne3-= 40ti.yaml @@ -0,0 +1,59 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/panel/kingdisplay,kd101ne3-40ti= .yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Kingdisplay KD101NE3-40TI based MIPI-DSI panels + +maintainers: + - Zhaoxiong Lv + +allOf: + - $ref: panel-common.yaml# + +properties: + compatible: + items: + - enum: + - kingdisplay,kd101ne3-40ti + + reg: + description: the virtual channel number of a DSI peripheral + + pp3300-supply: + description: core voltage supply + +required: + - compatible + - reg + - pp3300-supply + - enable-gpios + - backlight + - port + +unevaluatedProperties: false + +examples: + - | + dsi { + #address-cells =3D <1>; + #size-cells =3D <0>; + panel: panel@0 { + compatible =3D "kingdisplay,kd101ne3-40ti"; + reg =3D <0>; + enable-gpios =3D <&pio 98 0>; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&panel_pins_default>; + pp3300-supply =3D <&en_pp6000_mipi_disp>; + backlight =3D <&backlight_lcd0>; + rotation =3D <90>; + port { + panel_in: endpoint { + remote-endpoint =3D <&dsi_out>; + }; + }; + }; + }; + +... --=20 2.17.1 From nobody Fri Dec 19 22:06:05 2025 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