From patchwork Thu Dec 7 14:24:37 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Biju Das X-Patchwork-Id: 13483354 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org 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 E1CD3C10DC3 for ; Thu, 7 Dec 2023 14:25:07 +0000 (UTC) Received: from relmlie6.idc.renesas.com (relmlie6.idc.renesas.com [210.160.252.172]) by mx.groups.io with SMTP id smtpd.web11.85038.1701959107174448747 for ; Thu, 07 Dec 2023 06:25:07 -0800 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=pass (domain: bp.renesas.com, ip: 210.160.252.172, mailfrom: biju.das.jz@bp.renesas.com) X-IronPort-AV: E=Sophos;i="6.04,256,1695654000"; d="scan'208";a="189546010" Received: from unknown (HELO relmlir5.idc.renesas.com) ([10.200.68.151]) by relmlie6.idc.renesas.com with ESMTP; 07 Dec 2023 23:25:05 +0900 Received: from localhost.localdomain (unknown [10.226.93.153]) by relmlir5.idc.renesas.com (Postfix) with ESMTP id DF7084004BC9; Thu, 7 Dec 2023 23:25:03 +0900 (JST) From: Biju Das To: cip-dev@lists.cip-project.org, Nobuhiro Iwamatsu , Pavel Machek Cc: Biju Das , Lad Prabhakar Subject: [PATCH 5.10.y-cip 00/25] Add RZ/G2L DSI support Date: Thu, 7 Dec 2023 14:24:37 +0000 Message-Id: <20231207142502.401651-1-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 07 Dec 2023 14:25:07 -0000 X-Groupsio-URL: https://lists.cip-project.org/g/cip-dev/message/13873 This patch series aims to add RZ/G2L DSI support on RZ/{G2L,GLC,V2L} SMARC EVKs. All the patches are cherry-picked from the mainline, except [1] and [2] Without [1] DU is giving probe failure as the encoder is not able to find all the connected bridges due to the framework changes between mainline and 5.10 kernel. So just restructured the bridge handling. IA55 IRQ driver is not backported to 5.10, so defining it in dts is giving warnings, so drop IRQs in patch[2]. Please don't apply patch#18 to patch#25 as it is added for testing purpose. [1] 0011-drm-rcar-du-rzg2l_mipi_dsi-Reorder-bridge-attach.patch [2] 0017-arm64-dts-renesas-Drop-ADV7535-IRQ.patch Biju Das (18): dt-bindings: display: bridge: Document RZ/G2L MIPI DSI TX bindings dt-bindings: display: bridge: renesas,rzg2l-mipi-dsi: Document RZ/V2L support drm: rcar-du: Add RZ/G2L DSI driver drm: rcar-du: Fix Kconfig dependency between DRM and RZG2L_MIPI_DSI drm: rcar-du: rzg2l_mipi_dsi: Enhance device lanes check drm: rcar-du: rzg2l_mipi_dsi: Reorder bridge attach arm64: defconfig: Enable Renesas RZ/G2L MIPI DSI driver arm64: dts: renesas: r9a07g044: Add DSI node arm64: dts: renesas: r9a07g054: Add DSI node arm64: dts: renesas: rzg2l-smarc: Link DSI with ADV7535 arm64: dts: renesas: rzg2lc-smarc: Link DSI with ADV7535 arm64: dts: renesas: Drop ADV7535 IRQ arm64: dts: renesas: r9a07g044: [HACK DO NOT APPLY] Add DU node arm64: dts: renesas: r9a07g054: [HACK DO NOT APPLY] Add DU node arm64: dts: renesas: rzg2l-smarc: [HACK DO NOT APPLY] Enable DU and link with DSI arm64: dts: renesas: rzg2lc-smarc: [HACK DO NOT APPLY] Enable DU and link with DSI drm: [HACK DO NOT APPLY] Add RZ/G2L DU Support defconfig: [HACK DO NOT APPLY] Enable display on RZ/G2L SMARC EVK. Daniel Vetter (1): drm: [HACK DO NOT APPLY] Allow const struct drm_driver Marek Vasut (2): drm: of: Add drm_of_get_data_lanes_count and drm_of_get_data_lanes_ep drm: of: Mark empty drm_of_get_data_lanes_count and drm_of_get_data_lanes_ep static Maxime Ripard (3): drm/bridge: Add a function to abstract away panels drm/bridge: Add stubs for devm_drm_of_get_bridge when OF is disabled drm/bridge: Move devm_drm_of_get_bridge to bridge/panel.c Philipp Zabel (1): drm: [HACK DO NOT APPLY] add drmm_encoder_alloc() .../bindings/display/bridge/renesas,dsi.yaml | 183 ++++ arch/arm64/boot/dts/renesas/r9a07g044.dtsi | 42 + arch/arm64/boot/dts/renesas/r9a07g054.dtsi | 43 + arch/arm64/boot/dts/renesas/rzg2l-smarc.dtsi | 98 +++ arch/arm64/boot/dts/renesas/rzg2lc-smarc.dtsi | 98 +++ arch/arm64/configs/defconfig | 2 + drivers/gpu/drm/Kconfig | 2 + drivers/gpu/drm/Makefile | 1 + drivers/gpu/drm/bridge/panel.c | 37 + drivers/gpu/drm/drm_bridge.c | 8 +- drivers/gpu/drm/drm_drv.c | 17 +- drivers/gpu/drm/drm_encoder.c | 109 ++- drivers/gpu/drm/drm_of.c | 64 ++ drivers/gpu/drm/rcar-du/Kconfig | 8 + drivers/gpu/drm/rcar-du/Makefile | 2 + drivers/gpu/drm/rcar-du/rzg2l_mipi_dsi.c | 816 ++++++++++++++++++ drivers/gpu/drm/rcar-du/rzg2l_mipi_dsi_regs.h | 151 ++++ drivers/gpu/drm/rz-du/Kconfig | 22 + drivers/gpu/drm/rz-du/Makefile | 8 + drivers/gpu/drm/rz-du/rzg2l_du_crtc.c | 432 ++++++++++ drivers/gpu/drm/rz-du/rzg2l_du_crtc.h | 91 ++ drivers/gpu/drm/rz-du/rzg2l_du_drv.c | 187 ++++ drivers/gpu/drm/rz-du/rzg2l_du_drv.h | 85 ++ drivers/gpu/drm/rz-du/rzg2l_du_encoder.c | 121 +++ drivers/gpu/drm/rz-du/rzg2l_du_encoder.h | 33 + drivers/gpu/drm/rz-du/rzg2l_du_kms.c | 389 +++++++++ drivers/gpu/drm/rz-du/rzg2l_du_kms.h | 43 + drivers/gpu/drm/rz-du/rzg2l_du_regs.h | 67 ++ drivers/gpu/drm/rz-du/rzg2l_du_vsp.c | 428 +++++++++ drivers/gpu/drm/rz-du/rzg2l_du_vsp.h | 96 +++ include/drm/drm_bridge.h | 15 + include/drm/drm_device.h | 4 + include/drm/drm_drv.h | 5 +- include/drm/drm_encoder.h | 30 + include/drm/drm_of.h | 22 + 35 files changed, 3724 insertions(+), 35 deletions(-) create mode 100644 Documentation/devicetree/bindings/display/bridge/renesas,dsi.yaml create mode 100644 drivers/gpu/drm/rcar-du/rzg2l_mipi_dsi.c create mode 100644 drivers/gpu/drm/rcar-du/rzg2l_mipi_dsi_regs.h create mode 100644 drivers/gpu/drm/rz-du/Kconfig create mode 100644 drivers/gpu/drm/rz-du/Makefile create mode 100644 drivers/gpu/drm/rz-du/rzg2l_du_crtc.c create mode 100644 drivers/gpu/drm/rz-du/rzg2l_du_crtc.h create mode 100644 drivers/gpu/drm/rz-du/rzg2l_du_drv.c create mode 100644 drivers/gpu/drm/rz-du/rzg2l_du_drv.h create mode 100644 drivers/gpu/drm/rz-du/rzg2l_du_encoder.c create mode 100644 drivers/gpu/drm/rz-du/rzg2l_du_encoder.h create mode 100644 drivers/gpu/drm/rz-du/rzg2l_du_kms.c create mode 100644 drivers/gpu/drm/rz-du/rzg2l_du_kms.h create mode 100644 drivers/gpu/drm/rz-du/rzg2l_du_regs.h create mode 100644 drivers/gpu/drm/rz-du/rzg2l_du_vsp.c create mode 100644 drivers/gpu/drm/rz-du/rzg2l_du_vsp.h