[libcamera-devel] [PATCH] libcamera: pipeline: simple: Add support for ST's DCMIPP

Kieran Bingham kieran.bingham at ideasonboard.com
Tue May 2 14:29:31 CEST 2023


Quoting Daniel Scally via libcamera-devel (2023-05-02 12:13:57)
> The STM32 contains a camera pipeline known as the DCMIPP (Digital
> Camera-Memory Interface Pixel Processor) which receives data from a
> parallel interface and dumps the post-processed data to memory. The
> pipeline is capable of some processing in the form of downscaling
> captured data through cropping or skipping the sensor's output.
> 
> The simple pipeline handler is quite capable of handling the DCMIPP
> given its operation is handled entirely through configuring the pads
> of a media graph, so add support for the driver to the pipeline's
> supportedDevices array.
> 
> Signed-off-by: Daniel Scally <dan.scally at ideasonboard.com>
> ---
> Support for the dcmipp has been tested on an stm32mp135f-dk with a gc2145
> camera sensor. Note that the dcmipp driver **is not** in mainline at the moment,
> and nor is the gc2145's driver. @Hugues, @Alain, is there a plan to move those
> drivers upstream?

As I understand it, the drivers are open, and as long as there is an
expectation that they are going upstream - that's 'enough' to get this
merged in libcamera I believe.

It's also a really easily 'line' to maintain ;-)


> A few changes to ST's kernel were needed to fix some format propagation problems
> and some missing controls for the GC2145 for this to work. Those can be found in
> my tree linked below [1], along with some fixes to the CSI-2 to Parallel bridge
> driver which _is_ upstream and which I posted to linux-media [2].
> 
> [1] https://github.com/djrscally/linux/tree/v5.15-stm32mp
> [2] https://lore.kernel.org/linux-media/20230502103547.150918-1-dan.scally@ideasonboard.com/T/#t
> 
>  src/libcamera/pipeline/simple/simple.cpp | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/src/libcamera/pipeline/simple/simple.cpp b/src/libcamera/pipeline/simple/simple.cpp
> index e1f8b989..01516bc3 100644
> --- a/src/libcamera/pipeline/simple/simple.cpp
> +++ b/src/libcamera/pipeline/simple/simple.cpp
> @@ -194,6 +194,7 @@ static const SimplePipelineInfo supportedDevices[] = {
>         { "mxc-isi", {} },
>         { "qcom-camss", {} },
>         { "sun6i-csi", {} },
> +       { "dcmipp", {} },

Alphabetical sort order ;-)

With that...

Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>

>  };
>  
>  } /* namespace */
> -- 
> 2.34.1
>


More information about the libcamera-devel mailing list