From nobody Fri Jun 12 13:56:43 2026 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 95EE8344DA0; 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=dAt/R6iYSjOEQwNTdfJiut0S5he9ml8xuIslvvSX1Q4P8Hk/QD31QlCl9d6R3PejHYIiG+eS2hbGvO5AQd0kDormbALPIabQcmJ8ktDr52eeGaPFT1ZScMj9GLQxzSHMEUycmUSPZis72HTFOpdfhRDdswbIbHkvd0iO9hLNXUA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778779495; c=relaxed/simple; bh=bAMBBHIU5JpHs5WIj7GRPOsNIX+w2cKhwu46K4nUuyY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ttniVKLO3uwbB0306lWptG3Ute94dZNCoBrYj2TRpV2CWc9AyAqsp7AeYc6E/i1IyNgMhizRVY4Rd0I9qNaKSxmhShtL4SaXh0d68F20JpqA7TyekQUi/dCMESqoP0X6iGiL/afifI9kWAEgYnmvHfWk7HtISy1FPYsEHsZpLxs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=YQw6V4ci; 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="YQw6V4ci" Received: by smtp.kernel.org (Postfix) with ESMTPS id 548E5C2BCB7; 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=bAMBBHIU5JpHs5WIj7GRPOsNIX+w2cKhwu46K4nUuyY=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=YQw6V4cijzYe7SKFrySUuUYPvPQ1QJVwbLabWwMEWbQs0k5Dnz9cB2RZusB/mZySg 5aTcEea7FYRgMY+lsH4nb26SR/qpuw/Ha5SzmCKd9s6CXvsjPOs6yJiD88e2JOexeo QzoL6LRz+Qt7AazjhFFpYRprAHD4kG53gaIS7X6dn7vuxdgt4X96j4hrt8D3zoULxa qr+gz4FqvbAJQhpk5TEZEPxgfuIhUcZ3qWDwzj9C57ZwXV+MCTUz8fnwzyBDuZROhm uenxzt45NoEfAbc0ijNMvurjmgRImL1+m36D4KGB58G3+FGFnWY7p81jGDUMow/3K6 I48/5BUt7/H3A== 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 46CBECD4F25; Thu, 14 May 2026 17:24:55 +0000 (UTC) From: Aaron Kling via B4 Relay Date: Thu, 14 May 2026 12:24:49 -0500 Subject: [PATCH v2 1/2] dt-bindings: display: panel: Add Chipone ICNA 35xx OLED driver bindings Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260514-icna35xx-v2-1-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 X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1778779494; l=2576; i=webgeek1234@gmail.com; s=20250217; h=from:subject:message-id; bh=u+xNtbXC2ipkpodEb8alKozIa29lnpYUjbXquoCzHmQ=; b=D5QyChQvw1PtY6pF+5ePWpatZFHu7kX5ejKoZy3hJZ8E7SLTrlwJiZY8rC+puhkqYIRnHrm/K tDCmJXjYu+aAPzh52yHs6NhRzt/rbOYyxdl5Hfp+UPPcw1+wKRKG+Xw 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: Aaron Kling The Chipone ICNA35xx series of DDICs are high refresh, low power MIPI-DSI drivers for OLED panels. The icna3512 is used by the Ayn Odin 2 Portal and the icna3520 is used by the Ayn Thor top panel and the Ayn Odin 3. Signed-off-by: Aaron Kling --- .../bindings/display/panel/chipone,icna35xx.yaml | 79 ++++++++++++++++++= ++++ 1 file changed, 79 insertions(+) diff --git a/Documentation/devicetree/bindings/display/panel/chipone,icna35= xx.yaml b/Documentation/devicetree/bindings/display/panel/chipone,icna35xx.= yaml new file mode 100644 index 00000000000000..6464d8d0cf86d5 --- /dev/null +++ b/Documentation/devicetree/bindings/display/panel/chipone,icna35xx.yaml @@ -0,0 +1,79 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/panel/chipone,icna35xx.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Chipone ICNA35xx display drivers + +maintainers: + - Neil Armstrong + +description: + The Chipone ICNA35xx are a series of DDICs connected + using a MIPI-DSI video interface. + +allOf: + - $ref: panel-common.yaml# + +properties: + compatible: + oneOf: + - items: + - enum: + - ayaneo,pocketds-panel-top + - ayntec,odin2portal-panel + - const: chipone,icna3512 + + - items: + - enum: + - ayntec,odin3-panel + - ayntec,thor-panel-top + - const: chipone,icna3520 + + reg: + maxItems: 1 + description: DSI virtual channel + + vdd-supply: true + vddio-supply: true + vci-supply: true + disp-supply: true + blvdd-supply: true + + port: true + reset-gpios: true + rotation: true + +required: + - compatible + - reg + - vdd-supply + - vddio-supply + - vci-supply + - disp-supply + - blvdd-supply + - reset-gpios + +additionalProperties: false + +examples: + - | + #include + + dsi { + #address-cells =3D <1>; + #size-cells =3D <0>; + panel@0 { + compatible =3D "ayntec,odin2portal-panel", "chipone,icna3512"; + reg =3D <0>; + vdd-supply =3D <&vreg_l11b_1p2>; + vddio-supply =3D <&vreg_l12b_1p8>; + vci-supply =3D <&vreg_l13b_3p0>; + disp-supply =3D <&vdd_disp_2v8>; + blvdd-supply =3D <&vdd_bl_5v0>; + reset-gpios =3D <&tlmm 133 GPIO_ACTIVE_LOW>; + }; + }; + +... --=20 2.53.0 From nobody Fri Jun 12 13:56:43 2026 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: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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 =20 +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) +=3D panel-boe-td4320.o obj-$(CONFIG_DRM_PANEL_BOE_TH101MB31UIG002_28A) +=3D panel-boe-th101mb31ig= 002-28a.o obj-$(CONFIG_DRM_PANEL_BOE_TV101WUM_LL2) +=3D panel-boe-tv101wum-ll2.o obj-$(CONFIG_DRM_PANEL_BOE_TV101WUM_NL6) +=3D panel-boe-tv101wum-nl6.o +obj-$(CONFIG_DRM_PANEL_CHIPONE_ICNA35XX) +=3D panel-chipone-icna35xx.o obj-$(CONFIG_DRM_PANEL_CHIPWEALTH_CH13726A) +=3D panel-chipwealth-ch13726a= .o obj-$(CONFIG_DRM_PANEL_DSI_CM) +=3D panel-dsi-cm.o obj-$(CONFIG_DRM_PANEL_LVDS) +=3D panel-lvds.o diff --git a/drivers/gpu/drm/panel/panel-chipone-icna35xx.c b/drivers/gpu/d= rm/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