Add support for i.MX94 DCIF
From: | Laurentiu Palcu <laurentiu.palcu-AT-oss.nxp.com> | |
To: | imx-AT-lists.linux.dev, Abel Vesa <abelvesa-AT-kernel.org>, Peng Fan <peng.fan-AT-nxp.com>, Michael Turquette <mturquette-AT-baylibre.com>, Stephen Boyd <sboyd-AT-kernel.org>, Rob Herring <robh-AT-kernel.org>, Krzysztof Kozlowski <krzk+dt-AT-kernel.org>, Conor Dooley <conor+dt-AT-kernel.org>, Shawn Guo <shawnguo-AT-kernel.org>, Sascha Hauer <s.hauer-AT-pengutronix.de>, Pengutronix Kernel Team <kernel-AT-pengutronix.de>, Fabio Estevam <festevam-AT-gmail.com>, Andrzej Hajda <andrzej.hajda-AT-intel.com>, Neil Armstrong <neil.armstrong-AT-linaro.org>, Robert Foss <rfoss-AT-kernel.org>, Laurent Pinchart <Laurent.pinchart-AT-ideasonboard.com>, Jonas Karlman <jonas-AT-kwiboo.se>, Jernej Skrabec <jernej.skrabec-AT-gmail.com>, David Airlie <airlied-AT-gmail.com>, Simona Vetter <simona-AT-ffwll.ch>, Maarten Lankhorst <maarten.lankhorst-AT-linux.intel.com>, Maxime Ripard <mripard-AT-kernel.org>, Thomas Zimmermann <tzimmermann-AT-suse.de>, Laurentiu Palcu <laurentiu.palcu-AT-oss.nxp.com>, Philipp Zabel <p.zabel-AT-pengutronix.de>, Marek Vasut <marex-AT-denx.de> | |
Subject: | [PATCH v3 0/9] Add support for i.MX94 DCIF | |
Date: | Wed, 06 Aug 2025 18:05:07 +0300 | |
Message-ID: | <20250806150521.2174797-1-laurentiu.palcu@oss.nxp.com> | |
Cc: | Frank Li <frank.li-AT-nxp.com>, linux-clk-AT-vger.kernel.org, devicetree-AT-vger.kernel.org, linux-arm-kernel-AT-lists.infradead.org, linux-kernel-AT-vger.kernel.org, dri-devel-AT-lists.freedesktop.org | |
Archive-link: | Article |
Hi, This patch-set adds support for the i.MX94 Display Control Interface. It depends on Peng Fan's DTS patch [1] that was not yet merged. Also, it needs the BLK CTL changes [2] that I spinned off from v2 in a different patchset. Also, included in the patch-set are a few extra patches that the DCIF driver depends on for functioning properly: * 1/9 - 3/9 : add support for i.MX94 to fsl-ldb driver. It also contains a patch (2/9) from Liu Ying that was already reviewed and was part of another patch-set ([3]), but was never merged; v3: * Removed the BLK CTL patches and created a separate patch set [2] for them; * Collected r-b tags for 1/9, 2/9, 3/9 and 9/9; * Removed the DCIF QoS functionality until I find a better way to implement it through syscon. QoS functionality will be added in subsequent patches. Also, used devm_clk_bulk_get_all() and used dev_err_probe() as suggested; * Addressed Frank's and Krzysztof's comments on the DCIF bindings; * Addressed Frank's comments on dtsi and dts files; * Added a new binding patch, 6/9, for adding 'ldb' optional property to nxp,imx95-blk-ctl.yaml; v2: * reworked the BLK_CTL patch and split in 2 to make it easier for review; * split the dts and dtsi patch in 2 separate ones; * addressed Frank's comments in DCIF driver; * addressed Rob's comments for the bindings files; * addressed a couple of checkpatch issues; Thanks, Laurentiu [1] https://lkml.org/lkml/2025/7/7/84 [2] https://www.spinics.net/lists/kernel/msg5791546.html [3] https://lkml.org/lkml/2024/11/14/262 Laurentiu Palcu (7): dt-bindings: display: fsl,ldb: Add i.MX94 LDB drm/bridge: fsl-ldb: Add support for i.MX94 dt-bindings: display: imx: Add bindings for i.MX94 DCIF dt-bindings: clock: nxp,imx95-blk-ctl: Add optional ldb property arm64: dts: imx943: Add display pipeline nodes arm64: dts: imx943-evk: Add display support using IT6263 MAINTAINERS: Add entry for i.MX94 DCIF driver Liu Ying (1): drm/bridge: fsl-ldb: Get the next non-panel bridge Sandor Yu (1): drm/imx: Add support for i.MX94 DCIF .../bindings/clock/nxp,imx95-blk-ctl.yaml | 5 + .../bindings/display/bridge/fsl,ldb.yaml | 2 + .../bindings/display/imx/nxp,imx94-dcif.yaml | 82 +++ MAINTAINERS | 9 + arch/arm64/boot/dts/freescale/imx943-evk.dts | 121 +++ arch/arm64/boot/dts/freescale/imx943.dtsi | 55 +- drivers/gpu/drm/bridge/fsl-ldb.c | 47 +- drivers/gpu/drm/imx/Kconfig | 1 + drivers/gpu/drm/imx/Makefile | 1 + drivers/gpu/drm/imx/dcif/Kconfig | 15 + drivers/gpu/drm/imx/dcif/Makefile | 5 + drivers/gpu/drm/imx/dcif/dcif-crc.c | 211 ++++++ drivers/gpu/drm/imx/dcif/dcif-crc.h | 52 ++ drivers/gpu/drm/imx/dcif/dcif-crtc.c | 694 ++++++++++++++++++ drivers/gpu/drm/imx/dcif/dcif-drv.c | 226 ++++++ drivers/gpu/drm/imx/dcif/dcif-drv.h | 84 +++ drivers/gpu/drm/imx/dcif/dcif-kms.c | 100 +++ drivers/gpu/drm/imx/dcif/dcif-plane.c | 269 +++++++ drivers/gpu/drm/imx/dcif/dcif-reg.h | 266 +++++++ 19 files changed, 2223 insertions(+), 22 deletions(-) create mode 100644 Documentation/devicetree/bindings/display/imx/nxp,imx94-dcif.yaml create mode 100644 drivers/gpu/drm/imx/dcif/Kconfig create mode 100644 drivers/gpu/drm/imx/dcif/Makefile create mode 100644 drivers/gpu/drm/imx/dcif/dcif-crc.c create mode 100644 drivers/gpu/drm/imx/dcif/dcif-crc.h create mode 100644 drivers/gpu/drm/imx/dcif/dcif-crtc.c create mode 100644 drivers/gpu/drm/imx/dcif/dcif-drv.c create mode 100644 drivers/gpu/drm/imx/dcif/dcif-drv.h create mode 100644 drivers/gpu/drm/imx/dcif/dcif-kms.c create mode 100644 drivers/gpu/drm/imx/dcif/dcif-plane.c create mode 100644 drivers/gpu/drm/imx/dcif/dcif-reg.h -- 2.49.0