This series add support for the main & aux pixel pipes
available on the MP2x. In addition to the byte pipe
already available, the DCMIPP is able to process two
other streams in parallel, including ISP operations
such as demosaicing, exposure etc, post-processing operations
such as cropping, downscaling and various pixel formats
output.
This series introduces the whole DCMIPP pipelines including
static configuration of the ISP part (such as demosaicing).
Dynamic control of the ISP as well as statistic extraction
part will be added on top of this serie via usage of 2 other
video devices (input & output) for statistics extraction and
dynamic ISP parameter injection.
To: Hugues Fruchet <hugues.fruchet@foss.st.com>
To: Mauro Carvalho Chehab <mchehab@kernel.org>
To: Maxime Coquelin <mcoquelin.stm32@gmail.com>
To: Alexandre Torgue <alexandre.torgue@foss.st.com>
Cc: linux-media@vger.kernel.org
Cc: linux-stm32@st-md-mailman.stormreply.com
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Changes in v2:
- Rebased on top of kernel v7.1-rc6
- check-patch minor fixes
- replaced kzalloc(.., sizeof(..),) with kzalloc_obj
- Link to v1: https://lore.kernel.org/r/20260202-stm32-dcmipp-pixel-pipes-support-v1-0-8d8d51f5e014@foss.st.com
---
Alain Volmat (13):
media: stm32: dcmipp: share struct dcmipp_device among subdevs
media: stm32: dcmipp: make dcmipp_state & cmsr2 read common
media: stm32: dcmipp: bytecap: protect CMIER register access
media: stm32: dcmipp: move common structures in dcmipp-common.h
media: stm32: dcmipp: correct swap in YUYV data with parallel input
media: stm32: dcmipp: configure csi input of all pipes on stm32mp25
media: stm32: dcmipp: introduce a dcmipp global media_pipeline
media: stm32: dcmipp: add pixel pipes helper functions
media: stm32: dcmipp: addition of a dcmipp-isp subdev
media: stm32: dcmipp: pixelproc: addition of dcmipp-pixelproc subdev
media: stm32: dcmipp: add pixel-pipe support in bytecap
media: stm32: dcmipp: rename bytecap into capture
media: stm32: dcmipp: instantiate & link stm32mp25 subdevs
.../media/platform/st/stm32/stm32-dcmipp/Makefile | 3 +-
.../st/stm32/stm32-dcmipp/dcmipp-byteproc.c | 27 +-
.../{dcmipp-bytecap.c => dcmipp-capture.c} | 590 +++++++++----
.../platform/st/stm32/stm32-dcmipp/dcmipp-common.h | 98 ++-
.../platform/st/stm32/stm32-dcmipp/dcmipp-core.c | 124 ++-
.../platform/st/stm32/stm32-dcmipp/dcmipp-input.c | 113 ++-
.../platform/st/stm32/stm32-dcmipp/dcmipp-isp.c | 482 +++++++++++
.../st/stm32/stm32-dcmipp/dcmipp-pixelcommon.c | 180 ++++
.../st/stm32/stm32-dcmipp/dcmipp-pixelcommon.h | 41 +
.../st/stm32/stm32-dcmipp/dcmipp-pixelproc.c | 935 +++++++++++++++++++++
10 files changed, 2318 insertions(+), 275 deletions(-)
---
base-commit: 6f3ed7fec72fc8979b2a8c7219c0a9fcfc8d07b5
change-id: 20251219-stm32-dcmipp-pixel-pipes-support-b42924c0b4e5
Best regards,
--
Alain Volmat <alain.volmat@foss.st.com>