mbox series

[v4,00/15] media: stm32: introduction of CSI / DCMIPP for STM32MP25

Message ID 20241212-csi_dcmipp_mp25-v4-0-fbeb55a05ed7@foss.st.com (mailing list archive)
Headers show
Series media: stm32: introduction of CSI / DCMIPP for STM32MP25 | expand

Message

Alain Volmat Dec. 12, 2024, 9:17 a.m. UTC
This series introduces the camera pipeline support for the
STM32MP25 SOC.  The STM32MP25 has 3 pipelines, fed from a
single camera input which can be either parallel or csi.

This series adds the basic support for the 1st pipe (dump)
which, in term of features is same as the one featured on
the STM32MP13 SOC.  It focuses on introduction of the
CSI input stage for the DCMIPP, and the CSI specific new
control code for the DCMIPP.
One of the subdev of the DCMIPP, dcmipp_parallel is now
renamed as dcmipp_input since it allows to not only control
the parallel but also the csi interface.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
---
Changes in v4:
* stm32-dcmipp: correct patch 13/15 with clk error handling in
  dcmipp_runtime_resume function
- Link to v3: https://lore.kernel.org/r/20241118-csi_dcmipp_mp25-v3-0-c1914afb0a0f@foss.st.com

Changes in v3:
* stm32-csi: use clk_bulk api
* stm32-csiL perform reset control within the probe
- Link to v2: https://lore.kernel.org/r/20241105-csi_dcmipp_mp25-v2-0-b9fc8a7273c2@foss.st.com

---
Alain Volmat (15):
      media: stm32: dcmipp: correct dma_set_mask_and_coherent mask value
      dt-bindings: media: add description of stm32 csi
      media: stm32: csi: addition of the STM32 CSI driver
      media: stm32: dcmipp: use v4l2_subdev_is_streaming
      media: stm32: dcmipp: replace s_stream with enable/disable_streams
      media: stm32: dcmipp: rename dcmipp_parallel into dcmipp_input
      media: stm32: dcmipp: add support for csi input into dcmipp-input
      media: stm32: dcmipp: add bayer 10~14 bits formats
      media: stm32: dcmipp: add 1X16 RGB / YUV formats support
      media: stm32: dcmipp: avoid duplicated format on enum in bytecap
      media: stm32: dcmipp: fill media ctl hw_revision field
      dt-bindings: media: add the stm32mp25 compatible of DCMIPP
      media: stm32: dcmipp: add core support for the stm32mp25
      arm64: dts: st: add csi & dcmipp node in stm32mp25
      arm64: dts: st: enable imx335/csi/dcmipp pipeline on stm32mp257f-ev1

 .../devicetree/bindings/media/st,stm32-dcmipp.yaml |   53 +-
 .../bindings/media/st,stm32mp25-csi.yaml           |  125 +++
 MAINTAINERS                                        |    8 +
 arch/arm64/boot/dts/st/stm32mp251.dtsi             |   23 +
 arch/arm64/boot/dts/st/stm32mp257f-ev1.dts         |   85 ++
 drivers/media/platform/st/stm32/Kconfig            |   14 +
 drivers/media/platform/st/stm32/Makefile           |    1 +
 drivers/media/platform/st/stm32/stm32-csi.c        | 1137 ++++++++++++++++++++
 .../media/platform/st/stm32/stm32-dcmipp/Makefile  |    2 +-
 .../st/stm32/stm32-dcmipp/dcmipp-bytecap.c         |  128 ++-
 .../st/stm32/stm32-dcmipp/dcmipp-byteproc.c        |  119 +-
 .../platform/st/stm32/stm32-dcmipp/dcmipp-common.h |    4 +-
 .../platform/st/stm32/stm32-dcmipp/dcmipp-core.c   |  122 ++-
 .../platform/st/stm32/stm32-dcmipp/dcmipp-input.c  |  540 ++++++++++
 .../st/stm32/stm32-dcmipp/dcmipp-parallel.c        |  440 --------
 15 files changed, 2224 insertions(+), 577 deletions(-)
---
base-commit: 40384c840ea1944d7c5a392e8975ed088ecf0b37
change-id: 20241007-csi_dcmipp_mp25-7779601f57da

Best regards,

Comments

Alexandre Torgue Dec. 19, 2024, 9:28 a.m. UTC | #1
Hi Alain

On 12/12/24 10:17, Alain Volmat wrote:
> This series introduces the camera pipeline support for the
> STM32MP25 SOC.  The STM32MP25 has 3 pipelines, fed from a
> single camera input which can be either parallel or csi.
> 
> This series adds the basic support for the 1st pipe (dump)
> which, in term of features is same as the one featured on
> the STM32MP13 SOC.  It focuses on introduction of the
> CSI input stage for the DCMIPP, and the CSI specific new
> control code for the DCMIPP.
> One of the subdev of the DCMIPP, dcmipp_parallel is now
> renamed as dcmipp_input since it allows to not only control
> the parallel but also the csi interface.
> 
> Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
> ---
> Changes in v4:
> * stm32-dcmipp: correct patch 13/15 with clk error handling in
>    dcmipp_runtime_resume function
> - Link to v3: https://lore.kernel.org/r/20241118-csi_dcmipp_mp25-v3-0-c1914afb0a0f@foss.st.com
> 
> Changes in v3:
> * stm32-csi: use clk_bulk api
> * stm32-csiL perform reset control within the probe
> - Link to v2: https://lore.kernel.org/r/20241105-csi_dcmipp_mp25-v2-0-b9fc8a7273c2@foss.st.com
> 
> ---
> Alain Volmat (15):
>        media: stm32: dcmipp: correct dma_set_mask_and_coherent mask value
>        dt-bindings: media: add description of stm32 csi
>        media: stm32: csi: addition of the STM32 CSI driver
>        media: stm32: dcmipp: use v4l2_subdev_is_streaming
>        media: stm32: dcmipp: replace s_stream with enable/disable_streams
>        media: stm32: dcmipp: rename dcmipp_parallel into dcmipp_input
>        media: stm32: dcmipp: add support for csi input into dcmipp-input
>        media: stm32: dcmipp: add bayer 10~14 bits formats
>        media: stm32: dcmipp: add 1X16 RGB / YUV formats support
>        media: stm32: dcmipp: avoid duplicated format on enum in bytecap
>        media: stm32: dcmipp: fill media ctl hw_revision field
>        dt-bindings: media: add the stm32mp25 compatible of DCMIPP
>        media: stm32: dcmipp: add core support for the stm32mp25
>        arm64: dts: st: add csi & dcmipp node in stm32mp25
>        arm64: dts: st: enable imx335/csi/dcmipp pipeline on stm32mp257f-ev1

DT patches applied on stm32-next (as drivers and dt-bindings patches are 
in linux-next branch).

Thanks
Alex