From patchwork Thu Jul 24 06:52:46 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dan Scally X-Patchwork-Id: 23917 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id 58E64C3323 for ; Thu, 24 Jul 2025 06:53:19 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 957A669092; Thu, 24 Jul 2025 08:53:17 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="gGsDIqRF"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 64C6669078 for ; Thu, 24 Jul 2025 08:53:14 +0200 (CEST) Received: from mail.ideasonboard.com (cpc141996-chfd3-2-0-cust928.12-3.cable.virginm.net [86.13.91.161]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 64F257F0; Thu, 24 Jul 2025 08:52:35 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1753339955; bh=IhdjkeIuTpT2gagMzV2DxFQ4UPi1wYOYX+50m1BFztI=; h=From:To:Cc:Subject:Date:From; b=gGsDIqRFuGo8O67CHBRLW1CkVoQ5SezSpM/wcEtNwFA+5j7ueaLIjtR1znC9d49Sk W1OgAyCZ6N65D7ChbaHAEBjzjad4hb59LHkXi8m2Rbh1dFP7xqmEiCazwKb38ax5HK EJUVvhyER7X88/KdwgaXgI9ytNiXAHSIvq8YU6Zg= From: Daniel Scally To: libcamera-devel@lists.libcamera.org Cc: Daniel Scally Subject: [PATCH 00/10] Support memory input mode in mali-c55 Date: Thu, 24 Jul 2025 07:52:46 +0100 Message-Id: <20250724065256.75175-1-dan.scally@ideasonboard.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" Hello all This series adds support to the mali-c55 pipeline handler for the memory input mode found on the RZ/V2H implementation. Supporting patches add support for the bayer-agnostic pixel formats that are output by the rzg2l-cru driver, which is the devices used to capture images on the kakip. A new class is added to the pipeline handler to interact with the CRU's V4L2 and Media Controller interfaces. This should be seen as a short term solution - the CRU is not guaranteed to be the device filling this role for the C55 and so the ideal would be modular pipelines. The series is based on the recent set allowing matching of entity names using regex patterns, as the rzg2l-cru driver registers its entities with names incorporating memory addresses Thanks Dan [1] https://patchwork.libcamera.org/project/libcamera/list/?series=5293 Daniel Scally (10): include: linux: Add Renesas RZ/G2L CRU Pixel Formats include: linux: Add RAWnn to drm_fourcc.h libcamera: bayer_format: Add "NONE" to BayerFormat::Order enum libcamera: bayer_format: Add CRU packing to BayerFormat libcamera: formats: Add CRU-packed RAWnn libcamera formats libcamera: bayer_format: Add entries for the CRU packed RAWnn formats libcamera: mali-c55: Add RZG2LCRU class libcamera: mali-c55: Move entity parameter from constructor to ::init() libcamera: mali-c55: Use the RZG2LCRU class libcamera: mali-c55: Match for memory input media entities .clang-format | 1 - include/libcamera/internal/bayer_format.h | 4 +- include/linux/drm_fourcc.h | 9 + include/linux/videodev2.h | 6 + src/libcamera/bayer_format.cpp | 13 + src/libcamera/formats.cpp | 30 ++ src/libcamera/formats.yaml | 13 + src/libcamera/pipeline/mali-c55/mali-c55.cpp | 326 ++++++++++++++++-- src/libcamera/pipeline/mali-c55/meson.build | 3 +- src/libcamera/pipeline/mali-c55/rzg2l-cru.cpp | 236 +++++++++++++ src/libcamera/pipeline/mali-c55/rzg2l-cru.h | 66 ++++ src/libcamera/sensor/camera_sensor_legacy.cpp | 6 + 12 files changed, 680 insertions(+), 33 deletions(-) create mode 100644 src/libcamera/pipeline/mali-c55/rzg2l-cru.cpp create mode 100644 src/libcamera/pipeline/mali-c55/rzg2l-cru.h