From nobody Mon Feb 9 16:17:38 2026 Received: from mail-lf1-f47.google.com (mail-lf1-f47.google.com [209.85.167.47]) (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 D11B02F3C25 for ; Wed, 8 Oct 2025 08:28:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759912124; cv=none; b=rY8QuLcv+Mdv0sJeJ5mnwhUQlorsXbfkQnHb43zG/yNvKDMWxx9Wl1NXoGj1ojtd9CwD3EL1KKPi3CLC+ihmeiDcSySyrA9dbjbKfU3FoPFRYYpV5KwGVIPk5nDUG9wV1iY8LrhD6ahYw5F259/jqjbPqBOgXBIdn2oIO4NRkCM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759912124; c=relaxed/simple; bh=QoSku9VaeWlwh+dizK5x58I9zeTgu1WkAhKhFXjt1m0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=g+2Jsnm7ZyO+Bb4rDLlNqaQbAyI4Zq01tLfGcGrUQFeOSiJeiJMXlDVeE0zuiJAB9NrVAUZqECSO7SXPwe27QnpqK0Cas6YQUom/adtNBeCfNYFJVyKiNja2w9Aj9DFUXkqVLEz7AY0C6xI5c6r4UAZ7JvAwwkL8eZjtKMGl2vw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=XwCWKOil; arc=none smtp.client-ip=209.85.167.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="XwCWKOil" Received: by mail-lf1-f47.google.com with SMTP id 2adb3069b0e04-57db15eeb11so9023258e87.2 for ; Wed, 08 Oct 2025 01:28:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1759912120; x=1760516920; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=u3xRBN1mi5cHuuVpp9O4YBgVhxFa3PfPjekhp6r+JtA=; b=XwCWKOilpLiK6Hgv7e291a1ZS+miY5zd4rYe7+PKqESSOQho2XI2TxCv0V/3vs5Ji6 vZXfmF2EXIEqri7iTvXzjKSYNtXOnRn6LdPguzs44m6P4PXEyv3xZGArXM8j/ZGT9Kxn rrCyflEATZ4AHISIiOAOo503k2EmekeJgbbl57umUfoTtY3ftbFN4gwaINciYpkByQ1f OlyowNqKitCvFyaL2zqr9BUAYTCTH7C7w/p+2I4AjzDtUkiH+tGC5S9GI9avI/nwZShS Y+2EP3YHaSFOlzb0WlWYh+/c6bUBvbVdW9m3O0k4uj0ZdtGcifsU5aRZPB+TTrUz4/yK e5Aw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759912120; x=1760516920; h=content-transfer-encoding:mime-version: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=u3xRBN1mi5cHuuVpp9O4YBgVhxFa3PfPjekhp6r+JtA=; b=QonCdQcIazoaU6RpRQlEkinpr0q9gzmhRJSFIZB6/hNQNyKttPny8ckYfcm31O3fcF cdlfuHuD07HXLxd2R7et156FZRESXLX+w2RQshyioWCaoSUZXV/fVDI+92Zh5es5PiMJ LU4qdbU0KkMpw2GbTTCW418tMFRG/ag6DDqFCUqx2TCvH5MH2ZMo/aCm6GeySYo8aJez 3L9y1bKBKSibMn0LGbz5QtJMTr/h6oFupC0bgrhlRNlJYhhVC+usjcjHHCwKO6Q6l5dH Y4A5SHrFpuHjDYfoYZXAVIXhs82Mc0cZNYprP6jhh8MiibsPXem87Q+4B7/7aG09lU0k jW5w== X-Forwarded-Encrypted: i=1; AJvYcCVbEZYmyH2Eqp95JMDOQkdEUzOcTVrGIwkgmtjyTQFYXBiw6X5FBnM0UMDrATtAcfZCLAouz97P5iFqR7k=@vger.kernel.org X-Gm-Message-State: AOJu0YwhGKiQ1Vcr4J5mbFEE0CXah/vq6ehlpWXq5rkjDGMx+8WH16ry y0B0/Z/BKA9gWa4pBSUKouottm/NmAuCJ0eOzlinZnct2sY65qNaGX1j X-Gm-Gg: ASbGncuCke4MAo0DqzuVsLABa9pTyYPvVZP6U4FX1KlKmyVf5023x+Kv7rFmTNei8uH 5DlA6n571CLwvU/0ytyw94i4oL9uznPsKP84zdFCtXYWJjKsDQ3KUN+74oFNr2AAZ9vfsHx20c7 zTrr1ESyvdAsY4AOOnYtxFGhB+8OQqaQJk0QZ5mDm68yVGkptPnvFEw8BJI6/Rmsunl9GY7YQx3 VjfSOVXHFSdSTnVO97sIQCrdYvR5v4Z5KRmGr5xT3hhHEAmDly1hoBj8E+6wF6rSMraDK/dwhs/ v/MEkZwSdrNhpqaNAcM1yBV4hNjfjX6K4lepV/9iX9a3G32aIfKa8Yi0ud75lUyUxVn3Gvcr/Ko +mlgQWUKE6H7XybJt3IpV6m86M3BP2jnVH41taCq1cX6XyIYG X-Google-Smtp-Source: AGHT+IGLrCwrsQv0XCIyjqKTtF+BFVlHEsZ9yYyA7OEnC9q3xAjSOV3+49l6SGHi0aXqi7XUO0tuhg== X-Received: by 2002:a05:6512:3f28:b0:580:ecd1:30af with SMTP id 2adb3069b0e04-5906d8ee866mr663657e87.30.1759912119702; Wed, 08 Oct 2025 01:28:39 -0700 (PDT) Received: from xeon.. ([188.163.112.70]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-58b01124649sm6968733e87.15.2025.10.08.01.28.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 Oct 2025 01:28:39 -0700 (PDT) From: Svyatoslav Ryhel To: Neil Armstrong , Jessica Zhang , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Thierry Reding , Jonathan Hunter , Douglas Anderson , Svyatoslav Ryhel , Sam Ravnborg Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-tegra@vger.kernel.org Subject: [PATCH v2 2/7] gpu/drm: panel: add support for LG LD070WX3-SL01 MIPI DSI panel Date: Wed, 8 Oct 2025 11:27:54 +0300 Message-ID: <20251008082800.67718-3-clamor95@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20251008082800.67718-1-clamor95@gmail.com> References: <20251008082800.67718-1-clamor95@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The LD070WX3 is a Color Active Matrix Liquid Crystal Display with an integral Light Emitting Diode (LED) backlight system. The matrix employs a-Si Thin Film Transistor as the active element. It is a transmissive type display operating in the normally Black mode. This TFT-LCD has 7.0 inches diagonally measured active display area with WXGA resolution (800 by 1280 pixel array). LG LD070WX3-SL01 MIPI DSI panel was treated as simple DSI panel when it is actually not and requires proper setup for correct work. Simple panel work relied on preliminary configuration done by bootloader. Signed-off-by: Svyatoslav Ryhel Reviewed-by: Douglas Anderson --- drivers/gpu/drm/panel/Kconfig | 13 ++ drivers/gpu/drm/panel/Makefile | 1 + drivers/gpu/drm/panel/panel-lg-ld070wx3.c | 184 ++++++++++++++++++++++ drivers/gpu/drm/panel/panel-simple.c | 31 ---- 4 files changed, 198 insertions(+), 31 deletions(-) create mode 100644 drivers/gpu/drm/panel/panel-lg-ld070wx3.c diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig index 56d9377934c4..cf6174da5105 100644 --- a/drivers/gpu/drm/panel/Kconfig +++ b/drivers/gpu/drm/panel/Kconfig @@ -408,6 +408,19 @@ config DRM_PANEL_LG_LB035Q02 (found on the Gumstix Overo Palo35 board). To compile this driver as a module, choose M here. =20 +config DRM_PANEL_LG_LD070WX3 + tristate "LG LD070WX3 MIPI DSI panel" + depends on OF + depends on DRM_MIPI_DSI + depends on BACKLIGHT_CLASS_DEVICE + select VIDEOMODE_HELPERS + help + Say Y here if you want to enable support for the LD070WX3 MIPI DSI + panel found in the NVIDIA Tegra Note 7 tablet. + + To compile this driver as a module, choose M here: the module will + be called panel-lg-ld070wx3. + config DRM_PANEL_LG_LG4573 tristate "LG4573 RGB/SPI panel" depends on OF && SPI diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile index 0356775a443a..9281221183ac 100644 --- a/drivers/gpu/drm/panel/Makefile +++ b/drivers/gpu/drm/panel/Makefile @@ -41,6 +41,7 @@ obj-$(CONFIG_DRM_PANEL_LEADTEK_LTK050H3146W) +=3D panel-l= eadtek-ltk050h3146w.o obj-$(CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829) +=3D panel-leadtek-ltk500hd18= 29.o obj-$(CONFIG_DRM_PANEL_LINCOLNTECH_LCD197) +=3D panel-lincolntech-lcd197.o obj-$(CONFIG_DRM_PANEL_LG_LB035Q02) +=3D panel-lg-lb035q02.o +obj-$(CONFIG_DRM_PANEL_LG_LD070WX3) +=3D panel-lg-ld070wx3.o obj-$(CONFIG_DRM_PANEL_LG_LG4573) +=3D panel-lg-lg4573.o obj-$(CONFIG_DRM_PANEL_LG_SW43408) +=3D panel-lg-sw43408.o obj-$(CONFIG_DRM_PANEL_MAGNACHIP_D53E6EA8966) +=3D panel-magnachip-d53e6ea= 8966.o diff --git a/drivers/gpu/drm/panel/panel-lg-ld070wx3.c b/drivers/gpu/drm/pa= nel/panel-lg-ld070wx3.c new file mode 100644 index 000000000000..00cbfc5518a5 --- /dev/null +++ b/drivers/gpu/drm/panel/panel-lg-ld070wx3.c @@ -0,0 +1,184 @@ +// SPDX-License-Identifier: GPL-2.0-only + +#include +#include +#include +#include +#include +#include +#include +#include + +#include