Linux Media Controller development
 help / color / mirror / Atom feed
* [PATCH v10 00/13] media: Add support for R-Car ISP using Dreamchip RPPX1 ISP
@ 2026-06-11 20:41 Niklas Söderlund
  2026-06-11 20:41 ` [PATCH v10 01/13] media: Add RPP_X1_PARAMS and RPP_X1_STATS meta formats Niklas Söderlund
                   ` (12 more replies)
  0 siblings, 13 replies; 17+ messages in thread
From: Niklas Söderlund @ 2026-06-11 20:41 UTC (permalink / raw)
  To: Jacopo Mondi, Jai Luthra, Mauro Carvalho Chehab,
	Kuninori Morimoto, Laurent Pinchart, linux-media,
	linux-renesas-soc, linux-kernel
  Cc: Niklas Söderlund

Hello,

This series adds support for two different devices that together enable
ISP support on Renesas R-Car Gen4 ISP processing. The first driver added
is for Dreamchip RPPX1 ISP, this device purely deals with image
processing algorithms, statistics and image conversion; but have no DMA
engines. The second driver is for the R-Car ISP CORE, this device
deals with DMA to/from the RPPX1 ISP and provides a V4L2 user-space
interface for the ISP.

The R-Car ISP driver uses the RPPX1 framework to drive the ISP and
together the two devices provide a functional ISP. For detailed
description of the RPPX1 see patch 3/13, and for details about the R-Car
ISP see commit message in patch 4/13.

All functional blocks present on the RPPX1 are not yet added to the
driver, but most are.

Patch 1/13 adds two new pixel formats, one for parameters and one for
statistics. While patch 2/13 adds the scaffolding for the uAPI, each
module will add the structures needed to this file in a backward
compatible way.

Patch 3/13 adds the foundation for the RPPX1 framework. It deals with
probing all function blocks making sure every blocks version register is
supported and setup a "passthru" pipeline that just debayer RAW images.

Patch 4/13 integrates the adds the R-Car ISP CORE DMA parts and
integrates with the RPPX1 framework added in patch 3/13.

Patches 5/13 to 13/13 extends the RPPX1 framework with the logic to drive
the different IPS modules.

The sum of the work pass v4l2-compliance. A test suite for the enabled
function blocks exists and pass. I have also used Jacopo's and Jai's
libcamera pipeline for the R-Car together with the updated header file to
verify libcamera operation.

This series depends on the ISP extensible statistics definitions
out-of-tree patches [1].

See individual patches for change log since v9.

1.  https://lore.kernel.org/all/20260505-extensible-stats-v1-6-e16f326b8dad@ideasonboard.com/

Jai Luthra (3):
  media: Add RPP_X1_PARAMS and RPP_X1_STATS meta formats
  media: uapi: Add extensible param and stats blocks for RPPX1
  media: rppx1: lin: Add support for gamma sensor linearization

Niklas Söderlund (10):
  media: rppx1: Add framework to support Dreamchip RPPX1 ISP
  media: rcar-isp: Add support for ISPCORE
  media: rppx1: wbmeas: Add support for white balance measurement
  media: rppx1: awbg: Add support for white balance gain settings
  media: rppx1: exm: Add support for exposure measurement
  media: rppx1: hist: Add support histogram measurement
  media: rppx1: bls: Add support for black level compensation
  media: rppx1: ccor: Add support for color correction matrix
  media: rppx1: lsc: Add support for lens shade correction
  media: rppx1: ga: Add support for gamma out correction

 .../userspace-api/media/v4l/metafmt-rppx1.rst |  99 ++
 MAINTAINERS                                   |  10 +
 drivers/media/platform/Kconfig                |   1 +
 drivers/media/platform/Makefile               |   1 +
 drivers/media/platform/dreamchip/Kconfig      |   3 +
 drivers/media/platform/dreamchip/Makefile     |   6 +
 .../media/platform/dreamchip/rppx1/Kconfig    |  12 +
 .../media/platform/dreamchip/rppx1/Makefile   |  33 +
 .../platform/dreamchip/rppx1/rpp_module.c     |  39 +
 .../platform/dreamchip/rppx1/rpp_module.h     | 119 +++
 .../platform/dreamchip/rppx1/rpp_params.c     | 115 ++
 .../platform/dreamchip/rppx1/rpp_stats.c      |  66 ++
 .../media/platform/dreamchip/rppx1/rppx1.c    | 381 +++++++
 .../media/platform/dreamchip/rppx1/rppx1.h    | 105 ++
 .../platform/dreamchip/rppx1/rppx1_acq.c      | 148 +++
 .../platform/dreamchip/rppx1/rppx1_awbg.c     |  63 ++
 .../media/platform/dreamchip/rppx1/rppx1_bd.c |  53 +
 .../platform/dreamchip/rppx1/rppx1_bdrgb.c    |  81 ++
 .../platform/dreamchip/rppx1/rppx1_bls.c      | 157 +++
 .../platform/dreamchip/rppx1/rppx1_cac.c      |  30 +
 .../platform/dreamchip/rppx1/rppx1_ccor.c     | 166 +++
 .../media/platform/dreamchip/rppx1/rppx1_db.c |  45 +
 .../platform/dreamchip/rppx1/rppx1_dpcc.c     |  77 ++
 .../platform/dreamchip/rppx1/rppx1_exm.c      | 127 +++
 .../media/platform/dreamchip/rppx1/rppx1_ga.c |  91 ++
 .../platform/dreamchip/rppx1/rppx1_hist.c     | 184 ++++
 .../platform/dreamchip/rppx1/rppx1_hist256.c  |  47 +
 .../media/platform/dreamchip/rppx1/rppx1_is.c |  43 +
 .../platform/dreamchip/rppx1/rppx1_lin.c      | 112 ++
 .../platform/dreamchip/rppx1/rppx1_lsc.c      | 188 ++++
 .../platform/dreamchip/rppx1/rppx1_ltm.c      |  49 +
 .../platform/dreamchip/rppx1/rppx1_ltmmeas.c  |  42 +
 .../platform/dreamchip/rppx1/rppx1_outif.c    |  46 +
 .../platform/dreamchip/rppx1/rppx1_outregs.c  |  76 ++
 .../platform/dreamchip/rppx1/rppx1_rmap.c     |  63 ++
 .../platform/dreamchip/rppx1/rppx1_rmapmeas.c |  47 +
 .../platform/dreamchip/rppx1/rppx1_shrp.c     |  65 ++
 .../platform/dreamchip/rppx1/rppx1_wbmeas.c   | 165 +++
 .../platform/dreamchip/rppx1/rppx1_xyz2luv.c  |  27 +
 .../media/platform/renesas/rcar-isp/Kconfig   |   2 +
 .../media/platform/renesas/rcar-isp/Makefile  |   2 +-
 .../media/platform/renesas/rcar-isp/core-io.c | 997 ++++++++++++++++++
 .../media/platform/renesas/rcar-isp/core.c    | 901 ++++++++++++++++
 .../media/platform/renesas/rcar-isp/csisp.c   |  48 +-
 .../platform/renesas/rcar-isp/risp-core.h     | 179 ++++
 drivers/media/v4l2-core/v4l2-ioctl.c          |   2 +
 include/media/rppx1.h                         |  36 +
 .../uapi/linux/media/dreamchip/rppx1-config.h | 710 +++++++++++++
 include/uapi/linux/videodev2.h                |   4 +
 49 files changed, 6055 insertions(+), 8 deletions(-)
 create mode 100644 Documentation/userspace-api/media/v4l/metafmt-rppx1.rst
 create mode 100644 drivers/media/platform/dreamchip/Kconfig
 create mode 100644 drivers/media/platform/dreamchip/Makefile
 create mode 100644 drivers/media/platform/dreamchip/rppx1/Kconfig
 create mode 100644 drivers/media/platform/dreamchip/rppx1/Makefile
 create mode 100644 drivers/media/platform/dreamchip/rppx1/rpp_module.c
 create mode 100644 drivers/media/platform/dreamchip/rppx1/rpp_module.h
 create mode 100644 drivers/media/platform/dreamchip/rppx1/rpp_params.c
 create mode 100644 drivers/media/platform/dreamchip/rppx1/rpp_stats.c
 create mode 100644 drivers/media/platform/dreamchip/rppx1/rppx1.c
 create mode 100644 drivers/media/platform/dreamchip/rppx1/rppx1.h
 create mode 100644 drivers/media/platform/dreamchip/rppx1/rppx1_acq.c
 create mode 100644 drivers/media/platform/dreamchip/rppx1/rppx1_awbg.c
 create mode 100644 drivers/media/platform/dreamchip/rppx1/rppx1_bd.c
 create mode 100644 drivers/media/platform/dreamchip/rppx1/rppx1_bdrgb.c
 create mode 100644 drivers/media/platform/dreamchip/rppx1/rppx1_bls.c
 create mode 100644 drivers/media/platform/dreamchip/rppx1/rppx1_cac.c
 create mode 100644 drivers/media/platform/dreamchip/rppx1/rppx1_ccor.c
 create mode 100644 drivers/media/platform/dreamchip/rppx1/rppx1_db.c
 create mode 100644 drivers/media/platform/dreamchip/rppx1/rppx1_dpcc.c
 create mode 100644 drivers/media/platform/dreamchip/rppx1/rppx1_exm.c
 create mode 100644 drivers/media/platform/dreamchip/rppx1/rppx1_ga.c
 create mode 100644 drivers/media/platform/dreamchip/rppx1/rppx1_hist.c
 create mode 100644 drivers/media/platform/dreamchip/rppx1/rppx1_hist256.c
 create mode 100644 drivers/media/platform/dreamchip/rppx1/rppx1_is.c
 create mode 100644 drivers/media/platform/dreamchip/rppx1/rppx1_lin.c
 create mode 100644 drivers/media/platform/dreamchip/rppx1/rppx1_lsc.c
 create mode 100644 drivers/media/platform/dreamchip/rppx1/rppx1_ltm.c
 create mode 100644 drivers/media/platform/dreamchip/rppx1/rppx1_ltmmeas.c
 create mode 100644 drivers/media/platform/dreamchip/rppx1/rppx1_outif.c
 create mode 100644 drivers/media/platform/dreamchip/rppx1/rppx1_outregs.c
 create mode 100644 drivers/media/platform/dreamchip/rppx1/rppx1_rmap.c
 create mode 100644 drivers/media/platform/dreamchip/rppx1/rppx1_rmapmeas.c
 create mode 100644 drivers/media/platform/dreamchip/rppx1/rppx1_shrp.c
 create mode 100644 drivers/media/platform/dreamchip/rppx1/rppx1_wbmeas.c
 create mode 100644 drivers/media/platform/dreamchip/rppx1/rppx1_xyz2luv.c
 create mode 100644 drivers/media/platform/renesas/rcar-isp/core-io.c
 create mode 100644 drivers/media/platform/renesas/rcar-isp/core.c
 create mode 100644 drivers/media/platform/renesas/rcar-isp/risp-core.h
 create mode 100644 include/media/rppx1.h
 create mode 100644 include/uapi/linux/media/dreamchip/rppx1-config.h

-- 
2.54.0


^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2026-07-28 16:50 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-11 20:41 [PATCH v10 00/13] media: Add support for R-Car ISP using Dreamchip RPPX1 ISP Niklas Söderlund
2026-06-11 20:41 ` [PATCH v10 01/13] media: Add RPP_X1_PARAMS and RPP_X1_STATS meta formats Niklas Söderlund
2026-06-11 20:41 ` [PATCH v10 02/13] media: uapi: Add extensible param and stats blocks for RPPX1 Niklas Söderlund
2026-06-11 20:41 ` [PATCH v10 03/13] media: rppx1: Add framework to support Dreamchip RPPX1 ISP Niklas Söderlund
2026-06-11 20:41 ` [PATCH v10 04/13] media: rcar-isp: Add support for ISPCORE Niklas Söderlund
2026-06-11 20:41 ` [PATCH v10 05/13] media: rppx1: wbmeas: Add support for white balance measurement Niklas Söderlund
2026-06-11 20:41 ` [PATCH v10 06/13] media: rppx1: awbg: Add support for white balance gain settings Niklas Söderlund
2026-06-11 20:41 ` [PATCH v10 07/13] media: rppx1: exm: Add support for exposure measurement Niklas Söderlund
2026-06-11 20:41 ` [PATCH v10 08/13] media: rppx1: hist: Add support histogram measurement Niklas Söderlund
2026-06-11 20:41 ` [PATCH v10 09/13] media: rppx1: bls: Add support for black level compensation Niklas Söderlund
2026-06-11 20:41 ` [PATCH v10 10/13] media: rppx1: ccor: Add support for color correction matrix Niklas Söderlund
2026-06-11 20:41 ` [PATCH v10 11/13] media: rppx1: lsc: Add support for lens shade correction Niklas Söderlund
2026-06-11 20:41 ` [PATCH v10 12/13] media: rppx1: ga: Add support for gamma out correction Niklas Söderlund
2026-07-28 15:38   ` Sakari Ailus
2026-07-28 16:14     ` Jacopo Mondi
2026-07-28 16:49     ` Sakari Ailus
2026-06-11 20:41 ` [PATCH v10 13/13] media: rppx1: lin: Add support for gamma sensor linearization Niklas Söderlund

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox