From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pj1-f49.google.com (mail-pj1-f49.google.com [209.85.216.49]) (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 AD4063A9615 for ; Fri, 29 May 2026 06:28:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.49 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780036126; cv=none; b=ZsqaRUMlM+pXLk8VvHWnw8ggteL3YhcDdwUTndmLNcWJyIUBb2R3TrtGyYcx/+uh8ixXILGbaYlQ6wmtHDxgDISVxlNPpwGUUG0kne1Wap668u3wwxRKAQHfYSOq+/9K6Gvtiuiy/1xNxkBJobziAiT26CAeodigB+Y6/UzcxMg= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780036126; c=relaxed/simple; bh=2dJ2aOlce/DBDs8l/E5yf4ruuvvibpGZoJHOZL358O4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Y/SFqrZ8/1fCTuq1hCtkwXUVGxvT1Qft4McjaNiquWdhkgpXYeb5jGgWVZaoiwLNDpWd9QPBS05B/ye8RA+/7zLjllCySOu+hJCQgRUNztdFT0u0vshkPZRDLj3Q6y6SA9F3hukq7Q+MIfS/pgbdRHfpgVoppcFqbsk03A9AR8A= 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=k1WUiFVt; arc=none smtp.client-ip=209.85.216.49 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="k1WUiFVt" Received: by mail-pj1-f49.google.com with SMTP id 98e67ed59e1d1-36b8d414666so939419a91.3 for ; Thu, 28 May 2026 23:28:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=reznichenko.net; s=google; t=1780036123; x=1780640923; 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=/R5s8AFv5SWiiBoBPQWALTb4LDSkvGd9PHCHTYqOo24=; b=k1WUiFVt67WT6ekQ9+zN0Y8QgF6KQqazX8a9ubju9bhvcfHtRkc+JZSR7XFi4ekYu5 6W6uhXZO3YYs35BWqPOXhpUlDnjwF8yqjRZBTnJtm6pNn9nOT8aGmV8N+AoZ7HteDRv7 OCGxAcxfMfvkpkW9B81uzJtg18u6bdBrMPQDF7XfMkEvUk1lFrb6K0NIIXY+U3z03D4E BKMp0tdTrP1mSm9idbKObPOQG18xCjnAHBsIYizkLIfYy5kEFTlbfx+hZcsuFVKu6X3R KuJjxGG34GJYfl/gNncJCSYil89N7fZAHpxBmp9+sl1pBlQFb12CrLnrm8tK4rqVBbb8 ZgwQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780036123; x=1780640923; 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=/R5s8AFv5SWiiBoBPQWALTb4LDSkvGd9PHCHTYqOo24=; b=sBxLhkJaKxFcgYjPbME3Tg00/gFBBiP3wqBNWN/XNIWVN6GPd1joLKdRquUvDM0qYb eAwTzVSh9mFK2Q0Ypbj8vg5SBrOAPSN7rqwnHQgf/UCbQRpUC52hCFSEyrgAVAwoehbl 7dWOUFO0zkkT3awS8qPiLyOyuGhCr2dgN93o+dcijuhvxzuOXjhTkfNn/ZW6iLnrNRWu g8Rp2ZnawhgsOw4MiFQX8G6O1c9dqhXdeBK1mN54vGJPylMPCUhjr2v8Vb0BKAI2wEQc 6PK2WYEtkva42ACOB+BPG11wSle+0jsFYRSdny77Gq2ClrpJ/r+PruFbaxpBnd+QW0sI u42A== X-Forwarded-Encrypted: i=1; AFNElJ8pwzAgc1/QQU+PoPb926XaETVlSzPJO6cLPFGkdBEJA3cjgGB3eF1CQbrNlxi5PVvwRY2WZ8VSTltv/+I=@vger.kernel.org X-Gm-Message-State: AOJu0YxDwTn6k0vsXqgo+xNYT3W7dLfLRWs3KKoVMJo3vEhia1NboQa2 uaC4XkFf1YeIh2ouK/FGT3oB46DWaQVrXPgADLURK6C3kxul2O2HlOrKwLuwtw3JdM8= X-Gm-Gg: Acq92OFgDuRuDDnKXnNNku53Z1tbU50eK9+OcWxqe58dOLFCs6lBQjM04UNFUSYIIWZ E3lRZqxVoiy7SiLxLpxGMpQgBMDrtFwCEfM7FaWjBmm+i+eI/K/Cbken04xydyzE8wfBHHku59L 3H9wuo4Vm/T2leberuVdC2rhmHeDwGga/grV0L+9dqDwrg4gYW5u2ED0GxM7z97wQss4VAi4u+v nkYaljhikKx/cSyXaJCqDR2aZJcFr8l4pjn5jzL2e4cnItOj9vqwEGFHtlKAIdNvUGlKjVnDZyQ ry5nEpLSZn1+I8VLmmKqy1QISq6OCQRHVzr9gGf+MaIDmJaEqlnpu+otzPIbsiAulOpamJ4Wbq/ SmDSTbt0w/vBNKtbpWWBMpj6BF7sM4vFXccY8auD+a5mDtEjRYS7+tpJ/V8zG0uQLcFCickFir8 WT0J5VHO93TiNzIWVeoYkg3feJYYZzbFCnvtpc X-Received: by 2002:a17:90b:2b4b:b0:369:747b:48b8 with SMTP id 98e67ed59e1d1-36bbcd3fdd1mr2022896a91.8.1780036122987; Thu, 28 May 2026 23:28:42 -0700 (PDT) Received: from z440.. ([24.21.231.36]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-36bc6a340b7sm717087a91.11.2026.05.28.23.28.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 May 2026 23:28:42 -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 v5 2/2] drm/panel: Add Ilitek ILI9488 controller driver Date: Thu, 28 May 2026 23:28:36 -0700 Message-ID: <20260529062836.203990-3-igor@reznichenko.net> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260529062836.203990-1-igor@reznichenko.net> References: <20260529062836.203990-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 | 289 +++++++++++++++++++ 4 files changed, 305 insertions(+) create mode 100644 drivers/gpu/drm/panel/panel-ilitek-ili9488.c diff --git a/MAINTAINERS b/MAINTAINERS index ac87c217ab1f..987635948cde 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -8040,6 +8040,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 7450b27622a2..37987e47f3f7 100644 --- a/drivers/gpu/drm/panel/Kconfig +++ b/drivers/gpu/drm/panel/Kconfig @@ -284,6 +284,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 c2c5cf817116..a1344a0a3fd0 100644 --- a/drivers/gpu/drm/panel/Makefile +++ b/drivers/gpu/drm/panel/Makefile @@ -28,6 +28,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..7302766034fc --- /dev/null +++ b/drivers/gpu/drm/panel/panel-ilitek-ili9488.c @@ -0,0 +1,289 @@ +// SPDX-License-Identifier: GPL-2.0 + +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include +#include +#include +#include + +#include