2023-09-27 20:41:22

by Alain Volmat

[permalink] [raw]
Subject: [PATCH v4 0/5] Add support for DCMIPP camera interface of STMicroelectronics STM32 SoC series

This patchset introduces support for Digital Camera Memory Interface
Pixel Processor (DCMIPP) of STMicroelectronics STM32 SoC series.

This initial support implements a single capture pipe
allowing RGB565, YUV, Y, RAW8 and JPEG capture with
frame skipping, prescaling and cropping.

DCMIPP is exposed through 3 subdevices:
- dcmipp_dump_parallel: parallel interface handling
- dcmipp_dump_postproc: frame skipping, prescaling and cropping control
- dcmipp_dump_capture: video device capture node

v4:
- rework of mutex / spinlock handling
- addition of dma mask setting
- removal of __maybe_unused, use pm_ptr and new declaration macros
- driver now only generate a single stm32-dcmipp.ko module instead of
several as before
- removal of the component framework usage
- various small fixes (function names, lowercase values, indentation,
print formats)
- register name removal in register access function, only dev_dbg with
address & values are kept
- removal of VB2_READ and CAP_READWRITE
- usage of subdev active state mechanism and removal of locally stored
format/compose/crop
- addition of port { } within the stm32mp135.dtsi

v3:
- Have same To & Cc in all patches emails of the serie so that everybody
has coherent view of the serie
- bindings: correct wording, clock-names & label removal
- driver: replace of_graph call with fwnode_graph
- driver: use defined bus-type when calling v4l2_fwnode_endpoint_parse
- driver: remove clock name
- dtsi: remove clock-names property

v2:
- removal of pclk-max-frequency from yaml example dts
- codying-style fixes
- correction in enum functions (format, mbus, frame_size ...) handling
- drop of v4l2_pipeline_pm_ calls, and specific open/close handler of
vdev
- video dev s_stream handling updated to call s_stream of remote subdev
instead of loop until sensor subdev
- code update following media_pipeline & v4l2_async_ api changes since v1
- removal of IP reset call upon error
- removal of link_validate handlers
- addition of V4L2_CAP_IO_MC device_caps
- removal of the frame skip control for the time being, will be added
back in another commit once control method will be agreed
- change byteproc entity type to MEDIA_ENT_F_PROC_VIDEO_SCALER
- various fixes from Dan & Sakari remarks

Alain Volmat (2):
dt-bindings: media: add bindings for stm32 dcmipp
media: MAINTAINERS: add entry for STM32 DCMIPP driver

Hugues Fruchet (3):
media: stm32-dcmipp: STM32 DCMIPP camera interface driver
ARM: dts: stm32: add dcmipp support to stm32mp135
ARM: multi_v7_defconfig: enable STM32 DCMIPP media support

.../bindings/media/st,stm32-dcmipp.yaml | 89 ++
MAINTAINERS | 5 +-
arch/arm/boot/dts/st/stm32mp135.dtsi | 11 +
arch/arm/configs/multi_v7_defconfig | 1 +
drivers/media/platform/st/stm32/Kconfig | 15 +
drivers/media/platform/st/stm32/Makefile | 1 +
.../platform/st/stm32/stm32-dcmipp/Makefile | 4 +
.../st/stm32/stm32-dcmipp/dcmipp-bytecap.c | 993 ++++++++++++++++++
.../st/stm32/stm32-dcmipp/dcmipp-byteproc.c | 591 +++++++++++
.../st/stm32/stm32-dcmipp/dcmipp-common.c | 106 ++
.../st/stm32/stm32-dcmipp/dcmipp-common.h | 207 ++++
.../st/stm32/stm32-dcmipp/dcmipp-core.c | 603 +++++++++++
.../st/stm32/stm32-dcmipp/dcmipp-parallel.c | 461 ++++++++
13 files changed, 3086 insertions(+), 1 deletion(-)
create mode 100644 Documentation/devicetree/bindings/media/st,stm32-dcmipp.yaml
create mode 100644 drivers/media/platform/st/stm32/stm32-dcmipp/Makefile
create mode 100644 drivers/media/platform/st/stm32/stm32-dcmipp/dcmipp-bytecap.c
create mode 100644 drivers/media/platform/st/stm32/stm32-dcmipp/dcmipp-byteproc.c
create mode 100644 drivers/media/platform/st/stm32/stm32-dcmipp/dcmipp-common.c
create mode 100644 drivers/media/platform/st/stm32/stm32-dcmipp/dcmipp-common.h
create mode 100644 drivers/media/platform/st/stm32/stm32-dcmipp/dcmipp-core.c
create mode 100644 drivers/media/platform/st/stm32/stm32-dcmipp/dcmipp-parallel.c

--
2.25.1


2023-09-27 23:50:53

by Alain Volmat

[permalink] [raw]
Subject: [PATCH v4 4/5] ARM: dts: stm32: add dcmipp support to stm32mp135

From: Hugues Fruchet <[email protected]>

Add dcmipp support to STM32MP135.

Signed-off-by: Hugues Fruchet <[email protected]>
Signed-off-by: Alain Volmat <[email protected]>
Reviewed-by: Laurent Pinchart <[email protected]>
---
arch/arm/boot/dts/st/stm32mp135.dtsi | 11 +++++++++++
1 file changed, 11 insertions(+)

diff --git a/arch/arm/boot/dts/st/stm32mp135.dtsi b/arch/arm/boot/dts/st/stm32mp135.dtsi
index abf2acd37b4e..68d32f9f5314 100644
--- a/arch/arm/boot/dts/st/stm32mp135.dtsi
+++ b/arch/arm/boot/dts/st/stm32mp135.dtsi
@@ -8,5 +8,16 @@

/ {
soc {
+ dcmipp: dcmipp@5a000000 {
+ compatible = "st,stm32mp13-dcmipp";
+ reg = <0x5a000000 0x400>;
+ interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
+ resets = <&rcc DCMIPP_R>;
+ clocks = <&rcc DCMIPP_K>;
+ status = "disabled";
+
+ port {
+ };
+ };
};
};
--
2.25.1

2023-09-28 00:42:16

by Alain Volmat

[permalink] [raw]
Subject: [PATCH v4 2/5] media: MAINTAINERS: add entry for STM32 DCMIPP driver

Add the entry related to the STM32 MEDIA DCMIPP driver within the
MAINTAINERS file.
Add myself as maintainer of the DCMI driver as well.

Signed-off-by: Alain Volmat <[email protected]>
Reviewed-by: Laurent Pinchart <[email protected]>
---
MAINTAINERS | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 90f13281d297..ffff6f61461c 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -13274,13 +13274,16 @@ W: https://linuxtv.org
T: git git://linuxtv.org/media_tree.git
F: drivers/media/dvb-frontends/stv6111*

-MEDIA DRIVERS FOR STM32 - DCMI
+MEDIA DRIVERS FOR STM32 - DCMI / DCMIPP
M: Hugues Fruchet <[email protected]>
+M: Alain Volmat <[email protected]>
L: [email protected]
S: Supported
T: git git://linuxtv.org/media_tree.git
F: Documentation/devicetree/bindings/media/st,stm32-dcmi.yaml
F: drivers/media/platform/st/stm32/stm32-dcmi.c
+F: Documentation/devicetree/bindings/media/st,stm32-dcmipp.yaml
+F: drivers/media/platform/st/stm32/stm32-dcmipp/*

MEDIA INPUT INFRASTRUCTURE (V4L/DVB)
M: Mauro Carvalho Chehab <[email protected]>
--
2.25.1