The current instructions do not lead to functional capture on a i.MX6Q sabresd board. Fix the instructions so that users can get the OV5640 camera to work by default. Tested by two methods: 1. Using v4l2-ctl: # v4l2-ctl --stream-mmap -d /dev/video0 2. Using a Gstreamer pipeline that captures from the camera and direct the image to the display: # gst-launch-1.0 v4l2src ! kmssink Signed-off-by: Fabio Estevam <festevam@xxxxxxxxx> --- Hi Steve, Were the instructions written based on a i.MX6DL sabresd? I don't have access to a i.MX6DL sabresd board to confirm if they are still working, but I noticed that these instructions do not work on a i.MX6Q sabresd board, so that's why I modified it and now the capture works fine here. Please advise. Thanks Documentation/media/v4l-drivers/imx.rst | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/Documentation/media/v4l-drivers/imx.rst b/Documentation/media/v4l-drivers/imx.rst index 1246573c1019..0588060ead27 100644 --- a/Documentation/media/v4l-drivers/imx.rst +++ b/Documentation/media/v4l-drivers/imx.rst @@ -645,27 +645,23 @@ The OV5640 module connects to MIPI connector J5 (sorry I don't have the compatible module part number or URL). The following example configures a direct conversion pipeline to capture -from the OV5640, transmitting on MIPI CSI-2 virtual channel 1. $sensorfmt -can be any format supported by the OV5640. $sensordim is the frame -dimension part of $sensorfmt (minus the mbus pixel code). $outputfmt can -be any format supported by the ipu1_ic_prpenc entity at its output pad: +from the OV5640, transmitting on MIPI CSI-2 virtual channel 1: .. code-block:: none # Setup links media-ctl -l "'ov5640 1-003c':0 -> 'imx6-mipi-csi2':0[1]" - media-ctl -l "'imx6-mipi-csi2':2 -> 'ipu1_csi1':0[1]" - media-ctl -l "'ipu1_csi1':1 -> 'ipu1_ic_prp':0[1]" - media-ctl -l "'ipu1_ic_prp':1 -> 'ipu1_ic_prpenc':0[1]" - media-ctl -l "'ipu1_ic_prpenc':1 -> 'ipu1_ic_prpenc capture':0[1]" + media-ctl -l "'imx6-mipi-csi2':1 -> 'ipu1_csi0_mux':[1]" + media-ctl -l "'ipu1_csi0_mux':2 -> 'ipu1_csi0':[1]" + media-ctl -l "'ipu1_csi0':2 -> 'ipu1_csi0 capture':0[1]" + # Configure pads - media-ctl -V "'ov5640 1-003c':0 [fmt:$sensorfmt field:none]" - media-ctl -V "'imx6-mipi-csi2':2 [fmt:$sensorfmt field:none]" - media-ctl -V "'ipu1_csi1':1 [fmt:AYUV32/$sensordim field:none]" - media-ctl -V "'ipu1_ic_prp':1 [fmt:AYUV32/$sensordim field:none]" - media-ctl -V "'ipu1_ic_prpenc':1 [fmt:$outputfmt field:none]" + media-ctl -V "'ov5640 1-003c':0 [fmt:UYVY2X8/640x480 field:none]" + media-ctl -V "'imx6-mipi-csi2':2 [fmt:UYVY2X8/640x480 field:none]" + media-ctl -V "'ipu1_csi0_mux':0[fmt:UYVY2X8/640x480]" + media-ctl -V "'ipu1_csi0':0[fmt:UYVY2X8/640x480]" -Streaming can then begin on "ipu1_ic_prpenc capture" node. The v4l2-ctl +Streaming can then begin on "ipu1_csi0 capture" node. The v4l2-ctl tool can be used to select any supported YUV or RGB pixelformat on the capture device node. -- 2.17.1