From nobody Mon Jun 8 04:25:02 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 9093F2F8E88; Sun, 7 Jun 2026 20:11: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=1780863115; cv=none; b=VB/2s/nePFqu1fduOPa44QFCapgxh4hHZhmRPNSL/spv0bTxS5Mwrg1sI7d2rQSCCyMajiqQqQ7MykAmIGrNgcku/DOxF/dL4i3uSbJssXLpe7vp2p3ykAeXfpVdQELGkWItHtUak3n2mLn7tDSFY1LRkxCKLV/CKUJhIwnWW9Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780863115; c=relaxed/simple; bh=GEK6Yv1WXN2PdYBGoGbHClFD8tJefLhjEBc2nwNTChQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=lcH3te4QdQ5dVm6Bq6oy5/SRGlocYYP1aeRrcerxHWIdHynQHu1LmBnvzCdPegpDZoNe7n/+xh0YAv0/+xr3zliRMj9eSVOtBpYsZe3tRyy1GSjtNKcCLQKkPR5K56NEYu6ShuyKBM06pHUaxyXHbmuEIaJwhM0HPAeVvHXi/XQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=CTrbQUha; 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="CTrbQUha" Received: by smtp.kernel.org (Postfix) with ESMTPS id 2FEA7C4AF0E; Sun, 7 Jun 2026 20:11:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1780863115; bh=GEK6Yv1WXN2PdYBGoGbHClFD8tJefLhjEBc2nwNTChQ=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=CTrbQUha3Ltc1NWUcrWlkvni39gdf3/kStCD1r3kN0UsQPXNL0C4kW1ljb30ZMpkl OzbzA0FUMdC5FNaONArot7yIAUq+EioVtGQocGI6Dff5oCPgILnySzBxfbAADuJamY ut9N7+PH0vYJwG8eOdFLvlB4Lji7X8OsoQjqKpytRzEpDqbRmGnvKYlTZ063ZkyfTr 3xd6CR9zjT8ywlsnfeJXmTyja1Yw88zo7zicpMQqzv/sMk3wwTg91IHEfsweNvqeEF pl+LdA6nQEC7BD2lqEdKcLIQ4jwZ+tQo2SjSWBT6SIT+tB022LH+D0xxC9hrbSmLdU Dfs6Rjpf3u+sQ== 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 1D27CCD8C8C; Sun, 7 Jun 2026 20:11:55 +0000 (UTC) From: Aaron Kling via B4 Relay Date: Sun, 07 Jun 2026 15:11:44 -0500 Subject: [PATCH v4 1/2] dt-bindings: display: panel: Add Chipone ICNA3512 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: <20260607-icna35xx-v4-1-64de514add34@gmail.com> References: <20260607-icna35xx-v4-0-64de514add34@gmail.com> In-Reply-To: <20260607-icna35xx-v4-0-64de514add34@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 , Krzysztof Kozlowski X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1780863114; l=2840; i=webgeek1234@gmail.com; s=20250217; h=from:subject:message-id; bh=FSAKmH/ed0fes0PJf6ePyzav9aFp/zkOg0ypEQAktV8=; b=ZOrlkjg4p/fm25qaViP44nzS2neDG3CY/TuNHnDms2qGKyMnpGHUXg0kbKMnEGSZq/medgTKQ lDcrpEPIfWPA1S3Qe4tP32nSS/k9/qdQF87ent77nL7WxbzHsMiGDBI 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 ICNA3512 and ICNA3520 DDICs are high refresh, low power MIPI-DSI drivers for OLED panels. The icna3512 is used by the Ayn Odin 2 Portal and the Ayaneo Pocket DS top panel while the icna3520 is used by the Ayn Thor top panel and the Ayn Odin 3. These ddic's are generally compatible, but some MIPI vendor commands differ between them, so they are not fully fallback compatible. Reviewed-by: Krzysztof Kozlowski Signed-off-by: Aaron Kling --- .../bindings/display/panel/chipone,icna3512.yaml | 79 ++++++++++++++++++= ++++ 1 file changed, 79 insertions(+) diff --git a/Documentation/devicetree/bindings/display/panel/chipone,icna35= 12.yaml b/Documentation/devicetree/bindings/display/panel/chipone,icna3512.= yaml new file mode 100644 index 00000000000000..90e69f30cd91ca --- /dev/null +++ b/Documentation/devicetree/bindings/display/panel/chipone,icna3512.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,icna3512.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Chipone ICNA3512 and ICNA3520 display drivers + +maintainers: + - Neil Armstrong + +description: + The Chipone ICNA3512 and ICNA3520 are 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 Mon Jun 8 04:25:02 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 909C8314A8D; Sun, 7 Jun 2026 20:11: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=1780863115; cv=none; b=hkZW/AzChrWhHH5m7FRENRKjkGPKss4I4Tzkk8rZGibbRrSQ4qP6UbuKVob02bsvWuWxLf3B+EFFV0Muf613xVrpa95LQqQzeeWhjxbnxTZB+Lb3SREKiWa7/XmU7Tt54KmxO4q234U4Wf7/4DjVzaoZD+YW1Aim5N/XlkqpWlU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780863115; c=relaxed/simple; bh=iB2l3uVu6F0XEM35qzzOJcwOOXfb1xlrPxdojWYUMSs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=LKYdU0fdjsCQa3Cj8fnTUTNXFRbaKUNeasWu1cSFZpMaKSTxgELZgaFWuea3opldD3Wtt0TdCnA63Kf+aHEOuhUKFVWzcNJbKo7rGWYRhLTcQNSVo8hNdgsKhaG4QUN0rjyc5rz0byJ5MHfBMrBXYznx5A4YVoOKbzIzvSwfme4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=mnXNJEcG; 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="mnXNJEcG" Received: by smtp.kernel.org (Postfix) with ESMTPS id 40B7AC2BCC7; Sun, 7 Jun 2026 20:11:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1780863115; bh=iB2l3uVu6F0XEM35qzzOJcwOOXfb1xlrPxdojWYUMSs=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=mnXNJEcGUR2OKn5/TNxhjKlMuWg6ERon3uPN4TVz27/YkJr6X3t9ic4a0kgTslwy0 vWdIXE9f3JoPwbILV7/NANRLb35/BtKKzEwbHhAbV1DeHJ0ugUZpOqdsj1CjzLkabF 71YlCctCtpVb2pnTrEuAoxoGL5HCeZCp2t/BFWhZ1GcQhwxEcZtUJMCRV9gs+DaJvj QESdjcXC1etHgA1pbX52zjCXoU09wauDIwhD0C/cGh0mSvyO09Cdv/JgdkklEn++Jt 7YXXmA3cJeOF9O5dH+iSthtqk+kkB4fvJtNPPr+474bNdZGV1s846UvVEN1gL16HmZ Vy3yYObTYVlKw== 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 2C0DACD8C9F; Sun, 7 Jun 2026 20:11:55 +0000 (UTC) From: Aaron Kling via B4 Relay Date: Sun, 07 Jun 2026 15:11:45 -0500 Subject: [PATCH v4 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: <20260607-icna35xx-v4-2-64de514add34@gmail.com> References: <20260607-icna35xx-v4-0-64de514add34@gmail.com> In-Reply-To: <20260607-icna35xx-v4-0-64de514add34@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=1780863114; l=14887; i=webgeek1234@gmail.com; s=20250217; h=from:subject:message-id; bh=ruj2hx04hw8tpI29JrmBbYwip8i07cHx1LaBSO/Bu10=; b=mRl4JhfNd3wiYDD0uaaSJEQrypS56XMARzTGqc27LABJ319RrbPbRI4C4P6/QqqH0h51QhIOD FdrXP+OaY+xCAxRttvZh7g/05BHSdu4VabNhtQPb7d/gVSAG990sGtT 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 both the AYN Odin 2 Portal and Ayaneo Pocket DS top panel respectively and for for both the AYN Odin 3 and the AYN Thor top panel respectively. These all have unique compatibles because the panels themselves are likely unique hardware with only the ddic's and thus api and driver handling shared. 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 | 422 +++++++++++++++++++++= ++++ 3 files changed, 434 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..86d096455caa1c --- /dev/null +++ b/drivers/gpu/drm/panel/panel-chipone-icna35xx.c @@ -0,0 +1,422 @@ +// 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