From nobody Sat Jun 13 05:42:40 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 EFA343BFE5C; Sat, 9 May 2026 20:19:14 +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=1778357955; cv=none; b=OT9g+ZOdzUprw1EEONP/rtaz+7mvqDDXxCFBaD41t3gYSPdzprJOpGzeLRitGbE2gtYiRgXhDJHkYlDyA18i/VslMfeTeD4sHX/f4XS7xvzcUUvzZ6VWpUerEUd5FUC96LxOkgC6sYabAc2br5hUNEzYANb5Rs0Qzdkc7i87ZVI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778357955; c=relaxed/simple; bh=sKobk+YDd1KDXHb/w+YQFE4z2kSaytJsYIScKTJIRLI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=J+N3etEjCu3VR3AfygyClClh4o7zwOlHXjdOD1XCXtzbq3Kl9+Pvc3fsMQXL/+fY96mCVWI6dtziFRzT4x//FJ/XRpa7eBCDRFYBxbFMJZLurSsCTpWqCPhzLc+IgZhSJznlPeuDhbiuvIDVeDBqx/K7/JFryBxu7fBK/6UEL8s= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=UWfQQIo7; 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="UWfQQIo7" Received: by smtp.kernel.org (Postfix) with ESMTPS id 6D142C2BCC9; Sat, 9 May 2026 20:19:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1778357954; bh=sKobk+YDd1KDXHb/w+YQFE4z2kSaytJsYIScKTJIRLI=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=UWfQQIo7N7BIFAHfwaSh9cVO/IfpuidmeWQ77vTLnGdSbgE/+k1D2DUqjavkeLVDp 5XF94OLgIwoo8pETBPfMXNxSQKvbM5RIVgIdUw/pvMP+TRHALvd7XV2oGlB5YW+FO+ pomBBy0IuI3lwOYLqtHYXRaxBcnAqAinf4zJ+JikHuYpfU0KO3d5ZublSp9FwPVqIE m4K1n+ji74ez+erJC1Cpr4vbzHYI1dEStnaLZtd/GzGPqg5XFxGulsF6n+KFnBs/I2 ceerGR4/ckaVMzzfYsvB7lOsVYJ/bEFCIYcefQbSPxfjEM8TGC7v2BbmLiwOygA1aY 980+XlqefE5jA== 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 3F56ACD342F; Sat, 9 May 2026 20:19:14 +0000 (UTC) From: Aaron Kling via B4 Relay Date: Sat, 09 May 2026 15:18:57 -0500 Subject: [PATCH 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: <20260509-icna35xx-v1-1-688d3d4e10f9@gmail.com> References: <20260509-icna35xx-v1-0-688d3d4e10f9@gmail.com> In-Reply-To: <20260509-icna35xx-v1-0-688d3d4e10f9@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=1778357952; l=2511; i=webgeek1234@gmail.com; s=20250217; h=from:subject:message-id; bh=OoHb7X7TZvRfCQ5uqL7afSM0e2bjFFLjyQXyOiI00xA=; b=6uSNnSYmltzddc/2xXICoPnuSAxj8kHy+BduRcIiwJUtDRsx1fsu9VR9C40I6+EpNuFShQDrM waiAsJmX+gdCwfXaOi4846s8iVeqEYP5V6psVRWJrIshu46R3nRsS1i 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 | 77 ++++++++++++++++++= ++++ 1 file changed, 77 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..3c497a40101732 --- /dev/null +++ b/Documentation/devicetree/bindings/display/panel/chipone,icna35xx.yaml @@ -0,0 +1,77 @@ +# 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: + - const: 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 Sat Jun 13 05:42:40 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 EF9833BC668; Sat, 9 May 2026 20:19:14 +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=1778357955; cv=none; b=ZsTjvWHKJZ1nnCLnKEAC+iGl9AXrqAqQHNXetquyMbYJuHgc8D2zyd5YzrmeN32/OfgCR6hKmco8JGyAPjeN9niM/2uF2omO9lyE3tnrBYentNxhEMyQ91cC6oXkOPmi8UG9wAFMLfWIP0y6xSuZLxb0Z74EGaAJqZCGewn/UiM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778357955; c=relaxed/simple; bh=Xha5x8AED2JGJxZ/tARmY+VjqJwe8CN42y9O9JZ+boE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=h6k/KJTFSldWtizFoPbjoI92i1bE45t7PmxZcJdbGF+uj8S/pWHcBWSmiwkjnBTACSCxIaPoGFnV4445+jLjD2gS6GuqsfdcsDpSJu7+RDGsFJhE0SH3XzTqBWMzgoZsZ83DQjrzhgyDT8Kb1XBYAPOlzuU+RtwyR3Jj1gR6U8Y= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=rGiJz1yc; 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="rGiJz1yc" Received: by smtp.kernel.org (Postfix) with ESMTPS id BE05FC2BCF4; Sat, 9 May 2026 20:19:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1778357954; bh=Xha5x8AED2JGJxZ/tARmY+VjqJwe8CN42y9O9JZ+boE=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=rGiJz1yciVhJw+FsFsrPVSDqlqxWKYETvrBfJX2EgihebGSHd9Of0714gc50iuItD mG6TLL6gB4MLiFvMPcV++CMtSkqbHxqtrjq/jqCp8hCfdLo9t/ZF0avcCg9ssE0VBu pAsM5hcPxku42U9UOp6WPCrb2pfSjJWtDGyRFHdafrKixMdjOW5h9nrjsCNekj/EH9 kba5Bkxak8NwS78tlPbcmqik48PoJ4xeWE8TCjYuYMOu5WqF2hGLW48YCcMgfCCpCz Rdyx/E+ckUpj2J4MCajm2IERIuCPVkFjEcDgycnlvpLOLcAcGosiObcABCdH1GvCsf SYFNPPMp76drw== 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 A1C60CD3447; Sat, 9 May 2026 20:19:14 +0000 (UTC) From: Aaron Kling via B4 Relay Date: Sat, 09 May 2026 15:18:58 -0500 Subject: [PATCH 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: <20260509-icna35xx-v1-2-688d3d4e10f9@gmail.com> References: <20260509-icna35xx-v1-0-688d3d4e10f9@gmail.com> In-Reply-To: <20260509-icna35xx-v1-0-688d3d4e10f9@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=1778357952; l=21386; i=webgeek1234@gmail.com; s=20250217; h=from:subject:message-id; bh=Rj2EMBJxxvPoIj+7Qw/tBWoPCVruVVezxE333w/Izrc=; b=nAVoSEngdwkOcGSjS1USz1gs4dg1MxX3PXJCiEpRKjeCwqbaZmW14kiAMtJrd3i03aIg9gi2v lHQmOcBKUGTD/AhhLe+VvY6UCteyszsHkqkOC54+hEWi6k3jAglNZBy 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 | 618 +++++++++++++++++++++= ++++ 3 files changed, 630 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..1be903270db8e2 --- /dev/null +++ b/drivers/gpu/drm/panel/panel-chipone-icna35xx.c @@ -0,0 +1,618 @@ +// 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