[00/10] Support memory input mode in mali-c55
mbox series

Message ID 20250724065256.75175-1-dan.scally@ideasonboard.com
Headers show
Series
  • Support memory input mode in mali-c55
Related show

Message

Dan Scally July 24, 2025, 6:52 a.m. UTC
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