From patchwork Tue Jan 6 15:43:16 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dario Binacchi X-Patchwork-Id: 4411 Return-Path: X-Original-To: linux-amarula@patchwork.amarulasolutions.com Delivered-To: linux-amarula@patchwork.amarulasolutions.com Received: from mail-ej1-f70.google.com (mail-ej1-f70.google.com [209.85.218.70]) by ganimede.amarulasolutions.com (Postfix) with ESMTPS id 2F4C73F15A for ; Tue, 6 Jan 2026 16:45:11 +0100 (CET) Received: by mail-ej1-f70.google.com with SMTP id a640c23a62f3a-b7ff8a27466sf156180066b.3 for ; Tue, 06 Jan 2026 07:45:11 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1767714311; cv=pass; d=google.com; s=arc-20240605; b=cjDiLrFfI80bwQUFfWjtsmhu65u7NU1foWIgreQQDbDUTVWpR5NtTppcN7oiwiaaLX 8XllFp2E+d+Yj0CJQCuoma7aQIgNc9WV1c9wx8cVMCohcX+notf74CKHa7ewuE4iJ+SX DrL0y7SjiXBlFNFRUyzO0dVo4Q3qGiLBWA3oOwC4Sd1QaG9E7Tx9sZHx9pCHbNUg+EvY 4NgwEMBH4iESFmZFf1eTDo0asslju4AaUD6kb06RciGkqPFGAneZTXl3+TeTSa6ExAD5 IKpwS7X/6F99OiSGDnMqbUPEWbb4od2f88jM0wmiq5jWEQef2dxGEhue2cXQ00MfpEgY sjbg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=UiUPrTP6ZkTkaY4XbSJJKCeT4T866Hfqb/VpY+yU4gA=; fh=vSpWPLGs30JJpEdtYEaOUd1QKAlAda11FxPZP772IDY=; b=ixZfqkm+LoFe9rkevbgfaAC7U5rdttNALIi6roskeDXQjUgSUUQlAvO4mSQrCKw3+x zbohJs+ND2GSudb0DN+Fz4/zKTClFsd4Rv4YVEYLDyhZTQ1p28SrOStzUVNy0YXzin1I bmUczauJgTrea/FJH8U/gBFBZ/ELYIxQbgv8ZsQ30eWrOfS8HW3UODFJtpOaskJopnls T/KGU6TgB5AJHRmJVIwETr25lC1g2SNHJZC/xC19ghHakcL8aUOQ9M2/NeDleLj4l+rK OpTmBMbBBcYAmiZK84NWc4+xm4su9WTbZrqkfrpvQmifH6/PVqjS150XygwJGp1eesgJ BKBg==; darn=patchwork.amarulasolutions.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=iDlaSkph; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; t=1767714311; x=1768319111; darn=patchwork.amarulasolutions.com; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:x-original-authentication-results :x-original-sender:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=UiUPrTP6ZkTkaY4XbSJJKCeT4T866Hfqb/VpY+yU4gA=; b=k4m8FO5FDWop0jS2QUzmq/YayHtMGjc3WQCIKZs+xCfeYmBOr2HBeaH4jpONCqsNQH K3+Bt6iiN5mQOg6PIK/M66b+juTEXbsr2PKhAKfwb4btn+F+qNHloy0i8cW374Z5qaKw St4QzIDQG8Z54bcqzNWMn7Vlfspr+Nm8RzBTU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767714311; x=1768319111; h=list-unsubscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from:x-gm-gg :x-beenthere:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=UiUPrTP6ZkTkaY4XbSJJKCeT4T866Hfqb/VpY+yU4gA=; b=cr6LeOnlDhaOPH86UsKKLEJ/SKbEBqSFOlYmTzVMayNIeJcD1hbi/MLnvEmnZI9l+F /fznJtOAYlTF+sFNwA3XXwlMKF3iUu7vCRtdht1hv2lyqTUlox6AjPbohQ2vU/6/JVcJ jAW3z7sr65FHD0YXeM1TIpZ1EKWUhf+8l8q6AauozKW7FvrYrRBBK9I90A4PCnDHIcR9 FStDMHTXeXiUktzHb163loJCqsCCAnMBTyFo6kooMyrCoIYZcyoUYkHcgO8ftQ3BCTWX PWXIKNiE7TZnLmQp09Gq0upxQQlWBBHPoQ+ct7f+jDLBin9Wmtbxd3rEhp6Gb594j+AR 7dpA== X-Forwarded-Encrypted: i=2; AJvYcCUNyjkCLwy5cUYPMhIEwfbp4zRgO9CW8C1verx02NCiqDd7T3kcAlGYn9UlTGc2+3rTrBW5fCcZQw9TEBy0@patchwork.amarulasolutions.com X-Gm-Message-State: AOJu0Yz1retf+Oq9j1boA5oyqmj2fp80mxmIZbN1tmW3vzN0K32bhTl+ qXRDntvQHGJ/ltWnZ87j1PfoE37xVAqwRb5rCsyG24A0WTROHzsjkkToHHYBR5IKnZ1F9w== X-Google-Smtp-Source: AGHT+IE32yBfCDNAAEt+j/Xk1eyp6WFnWW26E+B7hcnldMWkLh/cKfbHYLTW8SgJjMRURX3606VGzg== X-Received: by 2002:a17:906:f58e:b0:b72:d8da:7aac with SMTP id a640c23a62f3a-b8426c17586mr346933866b.56.1767714310616; Tue, 06 Jan 2026 07:45:10 -0800 (PST) X-BeenThere: linux-amarula@amarulasolutions.com; h="AWVwgWauQ7arT116RQMu9UWu75XjwqJLDJXfPDwiaEvIotn8Wg==" Received: by 2002:a05:6402:1a51:b0:64b:6a4a:52d1 with SMTP id 4fb4d7f45d1cf-650748f97fdls245657a12.1.-pod-prod-05-eu; Tue, 06 Jan 2026 07:45:08 -0800 (PST) X-Received: by 2002:a17:907:7f91:b0:b83:9751:4334 with SMTP id a640c23a62f3a-b8426bf07c7mr395447166b.50.1767714308549; Tue, 06 Jan 2026 07:45:08 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1767714308; cv=none; d=google.com; s=arc-20240605; b=fkwQ3eweY3vLKoFcYM26lZ+JeLrKcwnOKH/TC4v2DhNfCrhedzvZWf5huvcoTHlCGp 2ONVbrbSOf00tKppLfKNz9aQkYFx6e8SX5nIMTCu5v1wqvsveqRutyAM7NI+hSDbk6Bx BonfYHdIFmHGC8Z4FyKAvMNoi5MYmPox00iEvzr8lc5YDXRbAUEhZZFNxRqvD7LXDjag 4wsdBJXaZCQilT/aE7AuMkPyupsyYzsLXaoLZ7MNe7Gg4VUjrYpUCGTFFBxdN1jBI+Vr VSrzpPJVLIT5ZK2PoI2iPx5PhY8F3hSdO6n04/DB3s2hdwDLXkcZmw5jCwaMLvrmZc1b EfgQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=0FeU7gz3imHY+dHoq7Rj99mMUVGw0cmk9WRNrG4/jLk=; fh=AdINyqa0RrhYjILkNDREXbEInCFvYIP+gW50d4EJsQ0=; b=FsPy45ql7KLptB4F21uMu+PzhP3v97mMjhviaVbd3Olv3O+Yqsgcska44GsPyV0/8a cz1AmlhS91txA2mbo6jGe/8NosfuaWMfJuhdRiHaPtXL2BfPd18EutDil/RwzHAV8+Xs GtFKEV6M9B84UlA2gU3i4RhCSeICyE7S6mmMdQr9bBhBmWhUUhE7WxS8yM/YH6PYJpql K2csz1H1BY9gptKbq90Ea5xlDsusumrX9n6myKQqkjpmbmDIdwIeou3DW19GH6I/zqgs icqAtBvZ3073bfPZVK9cDaOP6la5EiXEfX561mgP7WDNYI4OSrL1JD62LPR4PAEJS7PK iKkA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=iDlaSkph; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41]) by mx.google.com with SMTPS id a640c23a62f3a-b842a27ccf3sor56555866b.8.2026.01.06.07.45.08 for (Google Transport Security); Tue, 06 Jan 2026 07:45:08 -0800 (PST) Received-SPF: pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) client-ip=209.85.220.41; X-Gm-Gg: AY/fxX4ILflu+WKVdBwyUtGowKzxNDLucYM5nH9wQ5VubwoDzB9qUbeFXD/9dd/J0wZ smsbOP/6SSFDCAb6rZBrd2YRL7GXduTQBKuTSQmAbquxc6BdSgVwM9vQsDWoUZvi6J7SxEkwmoZ Y6DfpbAEBzZbgp0E+sYrfKJM+WwDOmmcHUQOVdvHhiSiEQAv/xwDXUUfM2ZygfXodCvMUD01W1i k+g493SuD2ddMIAfZHKsQ5u/R3zhyBBcfYl344YbVK/umpv1h+gGO79XVvxMD39PHsukCz0GjQY 8Yis6lxahbwjqXEX/gEg5fQUO9UUsfacCL4F9qC7/FaKx13IH8jjUc/bUzkKZ6sPPpOCgTiVXfa LThT7MrqDBGxWSFOoS7icI8wVMHDDWup2Aj7TjXvcoI5PUCPcTfeeRkmes5vkspHqGoxnVLmp4h xopDbAye1LOvMDj2xPLfDhKf5LTf2jvqtklbC5MxHfEuJ7nVTWB9xX6W6WlvqXEGVDI7HFML4DH azzt5i+62dEiME6xV/T3eZDFFAjKRpoDrXsBMOOlYfwcTQtmivzVScIyNSmjpfevXhMn8w/S2fu pI2RDcOjW4Q= X-Received: by 2002:a17:907:9614:b0:b79:f4e4:b55d with SMTP id a640c23a62f3a-b8426bf1334mr359247866b.51.1767714307997; Tue, 06 Jan 2026 07:45:07 -0800 (PST) Received: from dario-ThinkPad-P14s-Gen-5.homenet.telecomitalia.it (host-95-248-31-95.retail.telecomitalia.it. [95.248.31.95]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-6507be64efasm2349767a12.21.2026.01.06.07.45.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 06 Jan 2026 07:45:07 -0800 (PST) From: Dario Binacchi To: linux-kernel@vger.kernel.org Cc: linux-amarula@amarulasolutions.com, Dario Binacchi , David Airlie , Jessica Zhang , Maarten Lankhorst , Maxime Ripard , Michael Walle , Neil Armstrong , Simona Vetter , Thomas Zimmermann , dri-devel@lists.freedesktop.org Subject: [PATCH 3/3] drm/panel: ilitek-ili9806e: add Rocktech RK050HR345-CT106A SPI panel Date: Tue, 6 Jan 2026 16:43:16 +0100 Message-ID: <20260106154446.2735701-4-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260106154446.2735701-1-dario.binacchi@amarulasolutions.com> References: <20260106154446.2735701-1-dario.binacchi@amarulasolutions.com> MIME-Version: 1.0 X-Original-Sender: dario.binacchi@amarulasolutions.com X-Original-Authentication-Results: mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=iDlaSkph; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com Content-Type: text/plain; charset="UTF-8" Precedence: list Mailing-list: list linux-amarula@amarulasolutions.com; contact linux-amarula+owners@amarulasolutions.com List-ID: X-Spam-Checked-In-Group: linux-amarula@amarulasolutions.com X-Google-Group-Id: 476853432473 List-Post: , List-Help: , List-Archive: List-Unsubscribe: , Add support for the Rocktech RK050HR345-CT106A panel based on the Ilitek ILI9806E controller using the SPI bus. The driver is designed to be easily extensible to support other panels with different initialization sequences and display timings by providing a specific descriptor structure for each model. Kconfig and Makefile are updated to allow selecting the SPI variant independently from the DSI one. Signed-off-by: Dario Binacchi --- MAINTAINERS | 2 + drivers/gpu/drm/panel/Kconfig | 13 +- drivers/gpu/drm/panel/Makefile | 1 + .../gpu/drm/panel/panel-ilitek-ili9806e-spi.c | 327 ++++++++++++++++++ 4 files changed, 342 insertions(+), 1 deletion(-) create mode 100644 drivers/gpu/drm/panel/panel-ilitek-ili9806e-spi.c diff --git a/MAINTAINERS b/MAINTAINERS index 40a77e5fd2fd..a03fc4a97c67 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -7908,8 +7908,10 @@ F: drivers/gpu/drm/panel/panel-ilitek-ili9805.c DRM DRIVER FOR ILITEK ILI9806E PANELS M: Michael Walle +M: Dario Binacchi S: Maintained F: drivers/gpu/drm/panel/panel-ilitek-ili9806e-dsi.c +F: drivers/gpu/drm/panel/panel-ilitek-ili9806e-spi.c DRM DRIVER FOR JADARD JD9365DA-H3 MIPI-DSI LCD PANELS M: Jagan Teki diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig index 9ab72f3ab32e..7651be0d8bae 100644 --- a/drivers/gpu/drm/panel/Kconfig +++ b/drivers/gpu/drm/panel/Kconfig @@ -263,7 +263,8 @@ config DRM_PANEL_ILITEK_ILI9806E depends on BACKLIGHT_CLASS_DEVICE help Say Y if you want to enable support for panels based on the - Ilitek ILI9806E controller. + Ilitek ILI9806E controller. This panel can be accessed using + DSI or SPI. config DRM_PANEL_ILITEK_ILI9806E_DSI tristate "Ilitek ILI9806E DSI panel" @@ -274,6 +275,16 @@ config DRM_PANEL_ILITEK_ILI9806E_DSI Say Y here if you want to be able to access the Ilitek ILI9806E panel using DSI. +config DRM_PANEL_ILITEK_ILI9806E_SPI + tristate "Ilitek ILI9806E RGB SPI panel" + depends on SPI + depends on DRM_PANEL_ILITEK_ILI9806E + select DRM_MIPI_DBI + select VIDEOMODE_HELPERS + help + Say Y here if you want to be able to access the Ilitek + ILI9806E panel using SPI. + config DRM_PANEL_ILITEK_ILI9881C tristate "Ilitek ILI9881C-based panels" depends on OF diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile index 00071a983242..acc1d49983cb 100644 --- a/drivers/gpu/drm/panel/Makefile +++ b/drivers/gpu/drm/panel/Makefile @@ -27,6 +27,7 @@ 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_ILI9805) += panel-ilitek-ili9805.o obj-$(CONFIG_DRM_PANEL_ILITEK_ILI9806E_DSI) += panel-ilitek-ili9806e-dsi.o +obj-$(CONFIG_DRM_PANEL_ILITEK_ILI9806E_SPI) += panel-ilitek-ili9806e-spi.o obj-$(CONFIG_DRM_PANEL_ILITEK_ILI9881C) += panel-ilitek-ili9881c.o obj-$(CONFIG_DRM_PANEL_ILITEK_ILI9882T) += panel-ilitek-ili9882t.o obj-$(CONFIG_DRM_PANEL_INNOLUX_EJ030NA) += panel-innolux-ej030na.o diff --git a/drivers/gpu/drm/panel/panel-ilitek-ili9806e-spi.c b/drivers/gpu/drm/panel/panel-ilitek-ili9806e-spi.c new file mode 100644 index 000000000000..25b19dfd2924 --- /dev/null +++ b/drivers/gpu/drm/panel/panel-ilitek-ili9806e-spi.c @@ -0,0 +1,327 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * SPI interface to the Ilitek ILI9806E panel. + * + * Copyright (c) 2026 Amarula Solutions, Dario Binacchi + */ + +#include +#include +#include +#include +#include +#include + +#include