From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 95DA630FF2A; Thu, 14 May 2026 17:24:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778779495; cv=none; b=MtMPof31ylZT8+YQ64OYe43s4WbsOHpXvYbEooE+8n/JEMC27/eNblVz/sze6eso3mIZzXDw4NMGQjEp2geECy28HqeQTQ3dZWnug705RzaI/V2ckCFgWPa6ocWw/kHtLNOEHn293BshxmXnsdNuxPvUARStp0FQsgvgpEH6+Ao= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778779495; c=relaxed/simple; bh=PUUDTsQN7fcbS34I/bV8je5Woz3iE2Sb7gx8VVj2NAs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=TMlnp29cUjFd7tig2HmcP5fDE/MYHooPPg+OjY0Y8vRvs720cSoJIs4QPVaC415SH9bGZDeIuFNf+/BaZaiairV38UDi9cM3fmcjzWT6zGEQBO/dHet78jms86TkPaGLLuqlnGKO3885ZQR8LaSP9aCvArQjuV+I5rlwELRB2U8= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=eIviNa0T; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="eIviNa0T" Received: by smtp.kernel.org (Postfix) with ESMTPS id 64C00C2BCC9; Thu, 14 May 2026 17:24:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1778779495; bh=PUUDTsQN7fcbS34I/bV8je5Woz3iE2Sb7gx8VVj2NAs=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=eIviNa0TPAqoLgZKUf3TqaItzzE5bOzRx0ZhpDjU6mz+qVWqBg0bqLJ7byZktCWAV GMU3JPa56iSXIxG1lEtotvTQbut3L3A8+0337i/tHcY1hWa0cZ4Fw0Fn1Lej9dcvRx JrkV2m7McyKdTmaliVpMaw9h6dEOovGyFulB/gY8ecNu2Jj82WDUUb31CFm4p7W6Ja Wtyu85CNBfsKabJ8Qr49yvLmHBqVEziAEYHdgudvO5MXtEMF9X0+QVG+JDVsT3C7+1 q+TDJOYihGC1/yV714Ryrss+wMKBlCZse0A42p+TrdRp9D639SBQqLrkAi0yHU5JgH ObTX0H9fp0vYg== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 587E6CD4F3C; Thu, 14 May 2026 17:24:55 +0000 (UTC) From: Aaron Kling via B4 Relay Date: Thu, 14 May 2026 12:24:50 -0500 Subject: [PATCH v2 2/2] drm/panel: Add panel driver for Chipone ICNA35XX based panels Precedence: bulk X-Mailing-List: devicetree@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20260514-icna35xx-v2-2-45acd1dfa566@gmail.com> References: <20260514-icna35xx-v2-0-45acd1dfa566@gmail.com> In-Reply-To: <20260514-icna35xx-v2-0-45acd1dfa566@gmail.com> To: Neil Armstrong , Jessica Zhang , David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Aaron Kling , Teguh Sobirin X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1778779494; l=21463; i=webgeek1234@gmail.com; s=20250217; h=from:subject:message-id; bh=WYsvMww8D6mqwDduuTpzx3oa6Jo1gmXztRQGqBA6MWQ=; b=7B2VC9hgvmIW1R2cWcgmedNvn4VPDzRQ/aarg5CqKO9qbJXpeNputJnDuEflw6JdzQ/kmhQXT xR+sbEwyCvnDDv6RJeAM0IeOAsHio246io6fIVY+9K0TdTatYKo3/yH X-Developer-Key: i=webgeek1234@gmail.com; a=ed25519; pk=TQwd6q26txw7bkK7B8qtI/kcAohZc7bHHGSD7domdrU= X-Endpoint-Received: by B4 Relay for webgeek1234@gmail.com/20250217 with auth_id=342 X-Original-From: Aaron Kling Reply-To: webgeek1234@gmail.com From: Teguh Sobirin This adds support for the ICNA3512 and ICNA3520 DDICs used in the AYN Odin 2 Portal and for both the AYN Odin 3 and the AYN Thor top panel respectively. Signed-off-by: Teguh Sobirin Co-developed-by: Aaron Kling Signed-off-by: Aaron Kling --- drivers/gpu/drm/panel/Kconfig | 11 + drivers/gpu/drm/panel/Makefile | 1 + drivers/gpu/drm/panel/panel-chipone-icna35xx.c | 619 +++++++++++++++++++++++++ 3 files changed, 631 insertions(+) diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig index 7450b27622a233..1368b5a0b6c912 100644 --- a/drivers/gpu/drm/panel/Kconfig +++ b/drivers/gpu/drm/panel/Kconfig @@ -105,6 +105,17 @@ config DRM_PANEL_BOE_TV101WUM_LL2 Say Y here if you want to support for BOE TV101WUM-LL2 WUXGA PANEL DSI Video Mode panel +config DRM_PANEL_CHIPONE_ICNA35XX + tristate "Chipone ICNA35XX panel driver" + depends on OF + depends on DRM_MIPI_DSI + depends on BACKLIGHT_CLASS_DEVICE + select DRM_DISPLAY_HELPER + help + Say Y here if you want to enable support for the panels built + around the Chipone ICNA3512 and ICNA3520 display controllers, + such as some Tianma panels used in AYN Odin2 Portal and Thor. + config DRM_PANEL_CHIPWEALTH_CH13726A tristate "CHIPWEALTH CH13726A-based DSI panel" depends on OF diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile index c2c5cf81711633..d39a8f82fa8c06 100644 --- a/drivers/gpu/drm/panel/Makefile +++ b/drivers/gpu/drm/panel/Makefile @@ -9,6 +9,7 @@ obj-$(CONFIG_DRM_PANEL_BOE_TD4320) += panel-boe-td4320.o obj-$(CONFIG_DRM_PANEL_BOE_TH101MB31UIG002_28A) += panel-boe-th101mb31ig002-28a.o obj-$(CONFIG_DRM_PANEL_BOE_TV101WUM_LL2) += panel-boe-tv101wum-ll2.o obj-$(CONFIG_DRM_PANEL_BOE_TV101WUM_NL6) += panel-boe-tv101wum-nl6.o +obj-$(CONFIG_DRM_PANEL_CHIPONE_ICNA35XX) += panel-chipone-icna35xx.o obj-$(CONFIG_DRM_PANEL_CHIPWEALTH_CH13726A) += panel-chipwealth-ch13726a.o obj-$(CONFIG_DRM_PANEL_DSI_CM) += panel-dsi-cm.o obj-$(CONFIG_DRM_PANEL_LVDS) += panel-lvds.o diff --git a/drivers/gpu/drm/panel/panel-chipone-icna35xx.c b/drivers/gpu/drm/panel/panel-chipone-icna35xx.c new file mode 100644 index 00000000000000..958f205a7f4f93 --- /dev/null +++ b/drivers/gpu/drm/panel/panel-chipone-icna35xx.c @@ -0,0 +1,619 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Chipone ICNA35XX Driver IC panels driver + * + * Copyright (c) 2025 Teguh Sobirin + */ + +#include +#include +#include +#include +#include +#include +#include + +#include