From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f172.google.com (mail-pl1-f172.google.com [209.85.214.172]) (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 8798A311973 for ; Wed, 27 May 2026 06:23:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.172 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779862990; cv=none; b=t8ySh2ZXlys0D3ErzwlajLk6xHYvch0/tCtvrit60x4AV3UbqXSXQbXIp8E0A2GcCBNSzlv6dUgjbnQCyFgrV73yNBuzK3UZIRlO2PJ1+ZqDZwr/Omz2AUEw48YaZMJreuf2nq76qlnLk0NqxLPcY2TZ8UHM1w3LvG/Xl28wsLQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779862990; c=relaxed/simple; bh=xNnPtp0TVop6QElEEJ3/TiPQmYW/UX7/x5PZxacnj/U=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Om1iLIjMXjAoL5GMsR6ftQBhSk6vgISpKq0Z8l8S6BWyllaYSj6Pu+P0FXQs69oj4Gylhdv3SJQ+vgtq97UDcMii4RvDs6DKylHafVwlnVNPnvKC/bYyifCBSaAuFtKWE9UwL8s7ngMi4E4crSCC50pqE55jVuqUGaYhOi7RT4A= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=reznichenko.net; spf=none smtp.mailfrom=dpplabs.com; dkim=pass (2048-bit key) header.d=reznichenko.net header.i=@reznichenko.net header.b=IjWiP1BM; arc=none smtp.client-ip=209.85.214.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=reznichenko.net Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=dpplabs.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=reznichenko.net header.i=@reznichenko.net header.b="IjWiP1BM" Received: by mail-pl1-f172.google.com with SMTP id d9443c01a7336-2bc85eda6b6so57558445ad.1 for ; Tue, 26 May 2026 23:23:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=reznichenko.net; s=google; t=1779862988; x=1780467788; 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=kxKv6TNT2ucWixdqNW8yAkZUrV+NzaLwJo+O9oWCtAU=; b=IjWiP1BMXWTJYMEExwYUYn3B5LHnGTB8yXZ9Jt3TWB0Jw8WYRwX4xn4jSxsFBxKujl zAkmSSU66yL3iww5giZuOfBvae46zm3E2rn5XetwHFx0NH9Qgiit+BCnKbJ72qUhCom0 iC0wjTck7zVaQRMv/WZRClbiQxjWE6A/n0xjwp9Zuxzrn6NUy96i1m/e/59n4y81n5CO Gzn4Q5DX/Lbf/KXQ2RZozHi5n0tyu0+09B4PmAejBXWyGE7NJlQs1RVL5L+D0wK2+PfY UK6yAs4GMNA4LVbRu1K+iTQZMH2qqlZCvgWCYqXc7FKV8hI6ygYrnH8aiLuXIofd2OYk S8JQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779862988; x=1780467788; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=kxKv6TNT2ucWixdqNW8yAkZUrV+NzaLwJo+O9oWCtAU=; b=HQBcDQ4USKjr4S8AALGkWzUgIagFMPPlpJFqUjsmIc/S79pc4gjLVqYDH299xnzMZG T7JZ3SlD882qaZXpVkmZ0zHY8ZwaJy2ZgvfRpHJ6KtyMYNbDlQj9AXT86yLhJjYGKXwD wfkZ9Ez4cXQElc2qmJBHM2plLAUpbcjcs/rDpl49FnVrV5HPc36mWjIRCUvcmlGL3tmo A9APUny78YOM6JBV1IdwD84DcQgK5+YPLloQs95sI94ZcpuHCxzHXTuD4YAa8jIvNAOa TKFfj8LbsWVPnTZ7hgDdH8HDvF+ub0aVQChh58mUj1mww0RvtTsIcahNMUPmhUwUKQYh Dp3g== X-Forwarded-Encrypted: i=1; AFNElJ84myBb+KSggzk+3sNzHmfiQOufiK7NlcizKB7orfYxOpdJerny5wneIwjldPq4v31ivLWVO+Hb2rRaBI8=@vger.kernel.org X-Gm-Message-State: AOJu0YzrXnI3YmiVwGtVNWyhrE187gOmmM7KYPUD/GDPi6pvqHAWfDuE 6bdYjKXsvrK8uUQas0oDN7bsN8ztLWSoUNTvOU9LFosVhw7I6Q85uOJ7GfraIonbNdI= X-Gm-Gg: Acq92OEqLr9uEMn05MPS7k1Q4X+2GZIB+n0pQv79hRPXOQNk8oXzLNPbhaBhFP5lS8I WGZcXbnEWqYFd8ESmc/UAc8ig8RK1tpF9wr8nTtOplNuOJMpPrcB8Gw6ion4EWcMq2XM2MNg9qX d0NulpaoZVkZJz0mPpBcq3kRDS4AYQxIrD43mFvzQXrw4cv3lz3Th1KVUGxUrf86L0nQElabqGc tRcKBupLf1MDd4ZhzUEwTWF6bBXTOWut9/UBo/imA7ySA06o4SCXSAAs1PbZgHbbSqbp6amzrNB hqkvqua4+oXhHbPUgLf2ZpqYATOSBAAEmvDh69cXMR6JAMVeR/uZUrY3Xx+U9eK04MqVonNccsg SjaojOMI9hhyqFfjAHYgA4jRgpMJmCo7HtipE28dw6f5oc86DFas6tSjIcS2Gqn0t8f1HfxFS49 +ZLTvoUK/+8ORk5nkvIjwnFLrdOA== X-Received: by 2002:a17:902:d48e:b0:2ba:5a20:1d94 with SMTP id d9443c01a7336-2beb059944cmr243719465ad.13.1779862988022; Tue, 26 May 2026 23:23:08 -0700 (PDT) Received: from z440.. ([24.21.231.36]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb5695f05sm182387205ad.6.2026.05.26.23.23.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 May 2026 23:23:07 -0700 (PDT) From: Igor Reznichenko To: Neil Armstrong , Jessica Zhang , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner , Lad Prabhakar , Manivannan Sadhasivam , "Kael D'Alcamo" , Kever Yang Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v4 2/2] drm/panel: Add Ilitek ILI9488 controller driver Date: Tue, 26 May 2026 23:23:00 -0700 Message-ID: <20260527062300.88928-3-igor@reznichenko.net> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260527062300.88928-1-igor@reznichenko.net> References: <20260527062300.88928-1-igor@reznichenko.net> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Add support for Ilitek ILI9488 DSI controller which is used in FocusLCDs E35GH-I-MW800-CB 320x480 MIPI DSI panel. The mode timing was adjusted after STM32MP157 testing. The previous 14.256 MHz mode worked on AM62P, but was awkward for STM32 DSI/LTDC clock synthesis. Signed-off-by: Igor Reznichenko --- MAINTAINERS | 6 + drivers/gpu/drm/panel/Kconfig | 9 + drivers/gpu/drm/panel/Makefile | 1 + drivers/gpu/drm/panel/panel-ilitek-ili9488.c | 299 +++++++++++++++++++ 4 files changed, 315 insertions(+) create mode 100644 drivers/gpu/drm/panel/panel-ilitek-ili9488.c diff --git a/MAINTAINERS b/MAINTAINERS index 461a3eed6129..a70aacb4f6fb 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -8038,6 +8038,12 @@ T: git https://gitlab.freedesktop.org/drm/misc/kernel.git F: Documentation/devicetree/bindings/display/ilitek,ili9486.yaml F: drivers/gpu/drm/tiny/ili9486.c +DRM DRIVER FOR ILITEK ILI9488 PANELS +M: Igor Reznichenko +S: Maintained +F: Documentation/devicetree/bindings/display/panel/ilitek,ili9488.yaml +F: drivers/gpu/drm/panel/panel-ilitek-ili9488.c + DRM DRIVER FOR ILITEK ILI9805 PANELS M: Michael Trimarchi S: Maintained diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig index d592f4f4b939..03397e652cae 100644 --- a/drivers/gpu/drm/panel/Kconfig +++ b/drivers/gpu/drm/panel/Kconfig @@ -260,6 +260,15 @@ config DRM_PANEL_ILITEK_ILI9341 QVGA (240x320) RGB panels. support serial & parallel rgb interface. +config DRM_PANEL_ILITEK_ILI9488 + tristate "Ilitek ILI9488-based panels" + depends on OF + depends on DRM_MIPI_DSI + depends on BACKLIGHT_CLASS_DEVICE + help + Say Y if you want to enable support for panels based on the + Ilitek ILI9488 controller. + config DRM_PANEL_ILITEK_ILI9805 tristate "Ilitek ILI9805-based panels" depends on OF diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile index a4291dc3905b..753b18842e7a 100644 --- a/drivers/gpu/drm/panel/Makefile +++ b/drivers/gpu/drm/panel/Makefile @@ -26,6 +26,7 @@ obj-$(CONFIG_DRM_PANEL_HIMAX_HX8394) += panel-himax-hx8394.o obj-$(CONFIG_DRM_PANEL_HYDIS_HV101HD1) += panel-hydis-hv101hd1.o obj-$(CONFIG_DRM_PANEL_ILITEK_IL9322) += panel-ilitek-ili9322.o obj-$(CONFIG_DRM_PANEL_ILITEK_ILI9341) += panel-ilitek-ili9341.o +obj-$(CONFIG_DRM_PANEL_ILITEK_ILI9488) += panel-ilitek-ili9488.o obj-$(CONFIG_DRM_PANEL_ILITEK_ILI9805) += panel-ilitek-ili9805.o obj-$(CONFIG_DRM_PANEL_ILITEK_ILI9806E_CORE) += panel-ilitek-ili9806e-core.o obj-$(CONFIG_DRM_PANEL_ILITEK_ILI9806E_DSI) += panel-ilitek-ili9806e-dsi.o diff --git a/drivers/gpu/drm/panel/panel-ilitek-ili9488.c b/drivers/gpu/drm/panel/panel-ilitek-ili9488.c new file mode 100644 index 000000000000..b2145cbe8c30 --- /dev/null +++ b/drivers/gpu/drm/panel/panel-ilitek-ili9488.c @@ -0,0 +1,299 @@ +// SPDX-License-Identifier: GPL-2.0 + +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include +#include +#include +#include + +#include