* [PATCH v2 1/4] media: imx.rst: Fix the MIPI CSI-2 virtual channel
@ 2020-04-09 16:29 Fabio Estevam
2020-04-09 16:29 ` [PATCH v2 2/4] media: imx.rst: Provide an example for unprocessed video capture Fabio Estevam
` (3 more replies)
0 siblings, 4 replies; 6+ messages in thread
From: Fabio Estevam @ 2020-04-09 16:29 UTC (permalink / raw)
To: hverkuil-cisco; +Cc: slongerbeam, p.zabel, linux-media, Fabio Estevam
The current instructions for imx6q-sabresd do not lead to functional
capture on OV5640 MIPI CSI-2.
The reason for this, as explained by Steve Longerbeam, is that OV5640 by
default transmits on virtual channel 0, not channel 1 as is given in the
instructions.
Adapt the instructions to use virtual channel 0 so that a working
camera setup can be achieved on imx6q-sabresd.
Also, since we are using an IC direct conversion pipeline, improve
the example by demonstrating colorspace and scaling.
Signed-off-by: Fabio Estevam <festevam@gmail.com>
---
Changes since v1:
- Demonstrate colorspace and scaling. (Steve)
Documentation/media/v4l-drivers/imx.rst | 31 ++++++++++++-------------
1 file changed, 15 insertions(+), 16 deletions(-)
diff --git a/Documentation/media/v4l-drivers/imx.rst b/Documentation/media/v4l-drivers/imx.rst
index 1246573c1019..b8df91f83f14 100644
--- a/Documentation/media/v4l-drivers/imx.rst
+++ b/Documentation/media/v4l-drivers/imx.rst
@@ -645,30 +645,29 @@ 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 0. It also
+shows colorspace conversion and scaling at IC output.
.. 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 "'imx6-mipi-csi2':1 -> 'ipu1_csi0_mux':0[1]"
+ media-ctl -l "'ipu1_csi0_mux':2 -> 'ipu1_csi0':0[1]"
+ media-ctl -l "'ipu1_csi0':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]"
# 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]"
-
-Streaming can then begin on "ipu1_ic_prpenc capture" node. The v4l2-ctl
-tool can be used to select any supported YUV or RGB pixelformat on the
-capture device node.
-
+ media-ctl -V "'ov5640 1-003c':0 [fmt:UYVY2X8/640x480]"
+ media-ctl -V "'imx6-mipi-csi2':1 [fmt:UYVY2X8/640x480]"
+ media-ctl -V "'ipu1_csi0_mux':2 [fmt:UYVY2X8/640x480]"
+ media-ctl -V "'ipu1_csi0':1 [fmt:AYUV32/640x480]"
+ media-ctl -V "'ipu1_ic_prp':1 [fmt:AYUV32/640x480]"
+ media-ctl -V "'ipu1_ic_prpenc':1 [fmt:ARGB8888_1X32/800x600]"
+ # Set a format at the capture interface
+ v4l2-ctl -d /dev/video1 --set-fmt-video=pixelformat=RGB3
+
+Streaming can then begin on "ipu1_ic_prpenc capture" node.
Known Issues
------------
--
2.17.1
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH v2 2/4] media: imx.rst: Provide an example for unprocessed video capture
2020-04-09 16:29 [PATCH v2 1/4] media: imx.rst: Fix the MIPI CSI-2 virtual channel Fabio Estevam
@ 2020-04-09 16:29 ` Fabio Estevam
2020-04-09 16:29 ` [PATCH v2 3/4] media: imx.rst: Provide the OV560 module part number Fabio Estevam
` (2 subsequent siblings)
3 siblings, 0 replies; 6+ messages in thread
From: Fabio Estevam @ 2020-04-09 16:29 UTC (permalink / raw)
To: hverkuil-cisco; +Cc: slongerbeam, p.zabel, linux-media, Fabio Estevam
The current example for imx6q-sabresd is for a direct conversion pipeline.
Provide an extra example using unprocessed video capture for completeness.
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Steve Longerbeam <slongerbeam@gmail.com>
---
Changes since v1:
- None
Documentation/media/v4l-drivers/imx.rst | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/Documentation/media/v4l-drivers/imx.rst b/Documentation/media/v4l-drivers/imx.rst
index b8df91f83f14..fb6e01976254 100644
--- a/Documentation/media/v4l-drivers/imx.rst
+++ b/Documentation/media/v4l-drivers/imx.rst
@@ -644,6 +644,26 @@ CSI-2 OV5640 has been tested, so the OV5642 node is currently disabled.
The OV5640 module connects to MIPI connector J5 (sorry I don't have the
compatible module part number or URL).
+The following example configures unprocessed video capture pipeline to
+capture from the OV5640, transmitting on MIPI CSI-2 virtual channel 0:
+
+.. code-block:: none
+
+ # Setup links
+ media-ctl -l "'ov5640 1-003c':0 -> 'imx6-mipi-csi2':0[1]"
+ media-ctl -l "'imx6-mipi-csi2':1 -> 'ipu1_csi0_mux':0[1]"
+ media-ctl -l "'ipu1_csi0_mux':2 -> 'ipu1_csi0':0[1]"
+ media-ctl -l "'ipu1_csi0':2 -> 'ipu1_csi0 capture':0[1]"
+ # Configure pads
+ media-ctl -V "'ov5640 1-003c':0 [fmt:UYVY2X8/640x480]"
+ media-ctl -V "'imx6-mipi-csi2':1 [fmt:UYVY2X8/640x480]"
+ media-ctl -V "'ipu1_csi0_mux':0 [fmt:UYVY2X8/640x480]"
+ media-ctl -V "'ipu1_csi0':0 [fmt:AYUV32/640x480]"
+
+Streaming can then begin on "ipu1_csi0 capture" node. The v4l2-ctl
+tool can be used to select any supported pixelformat on the capture
+device node.
+
The following example configures a direct conversion pipeline to capture
from the OV5640, transmitting on MIPI CSI-2 virtual channel 0. It also
shows colorspace conversion and scaling at IC output.
--
2.17.1
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH v2 3/4] media: imx.rst: Provide the OV560 module part number
2020-04-09 16:29 [PATCH v2 1/4] media: imx.rst: Fix the MIPI CSI-2 virtual channel Fabio Estevam
2020-04-09 16:29 ` [PATCH v2 2/4] media: imx.rst: Provide an example for unprocessed video capture Fabio Estevam
@ 2020-04-09 16:29 ` Fabio Estevam
2020-04-09 16:29 ` [PATCH v2 4/4] media: imx.rst: Provide streaming examples for imx6q-sabresd Fabio Estevam
2020-04-09 16:45 ` [PATCH v2 1/4] media: imx.rst: Fix the MIPI CSI-2 virtual channel Steve Longerbeam
3 siblings, 0 replies; 6+ messages in thread
From: Fabio Estevam @ 2020-04-09 16:29 UTC (permalink / raw)
To: hverkuil-cisco; +Cc: slongerbeam, p.zabel, linux-media, Fabio Estevam
In order to improve the documentation, provide the OV5640 MIPI module
part number that is used on the imx6q-sabresd board.
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Steve Longerbeam <slongerbeam@gmail.com>
---
Changes since v1:
- None
Documentation/media/v4l-drivers/imx.rst | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Documentation/media/v4l-drivers/imx.rst b/Documentation/media/v4l-drivers/imx.rst
index fb6e01976254..955d27582e10 100644
--- a/Documentation/media/v4l-drivers/imx.rst
+++ b/Documentation/media/v4l-drivers/imx.rst
@@ -641,8 +641,8 @@ connects to i2c bus 1 and the OV5640 to i2c bus 2.
The device tree for SabreSD includes OF graphs for both the parallel
OV5642 and the MIPI CSI-2 OV5640, but as of this writing only the MIPI
CSI-2 OV5640 has been tested, so the OV5642 node is currently disabled.
-The OV5640 module connects to MIPI connector J5 (sorry I don't have the
-compatible module part number or URL).
+The OV5640 module connects to MIPI connector J5. The NXP part number
+for the OV5640 module that connects to the SabreSD board is H120729.
The following example configures unprocessed video capture pipeline to
capture from the OV5640, transmitting on MIPI CSI-2 virtual channel 0:
--
2.17.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v2 4/4] media: imx.rst: Provide streaming examples for imx6q-sabresd
2020-04-09 16:29 [PATCH v2 1/4] media: imx.rst: Fix the MIPI CSI-2 virtual channel Fabio Estevam
2020-04-09 16:29 ` [PATCH v2 2/4] media: imx.rst: Provide an example for unprocessed video capture Fabio Estevam
2020-04-09 16:29 ` [PATCH v2 3/4] media: imx.rst: Provide the OV560 module part number Fabio Estevam
@ 2020-04-09 16:29 ` Fabio Estevam
2020-04-09 17:09 ` Steve Longerbeam
2020-04-09 16:45 ` [PATCH v2 1/4] media: imx.rst: Fix the MIPI CSI-2 virtual channel Steve Longerbeam
3 siblings, 1 reply; 6+ messages in thread
From: Fabio Estevam @ 2020-04-09 16:29 UTC (permalink / raw)
To: hverkuil-cisco; +Cc: slongerbeam, p.zabel, linux-media, Fabio Estevam
Improve the documentation by providing examples on how to test camera
capture on imx6q-sabresd via v4l2-ctl and Gstreamer.
Signed-off-by: Fabio Estevam <festevam@gmail.com>
---
Changes since v1:
- Use media-ctl -e to determine the video node. (Steve)
Documentation/media/v4l-drivers/imx.rst | 45 +++++++++++++++++++++++++
1 file changed, 45 insertions(+)
diff --git a/Documentation/media/v4l-drivers/imx.rst b/Documentation/media/v4l-drivers/imx.rst
index 955d27582e10..025f21def7dc 100644
--- a/Documentation/media/v4l-drivers/imx.rst
+++ b/Documentation/media/v4l-drivers/imx.rst
@@ -664,6 +664,28 @@ Streaming can then begin on "ipu1_csi0 capture" node. The v4l2-ctl
tool can be used to select any supported pixelformat on the capture
device node.
+To determine what is the /dev/video node correspondent to
+"ipu1_csi0 capture":
+
+.. code-block:: none
+
+ media-ctl -e "ipu1_csi0 capture"
+ /dev/video0
+
+/dev/video0 is the streaming element in this case.
+
+Starting the streaming via v4l2-ctl:
+
+.. code-block:: none
+
+ v4l2-ctl --stream-mmap -d /dev/video0
+
+Starting the streaming via Gstreamer and sending the content to the display:
+
+.. code-block:: none
+
+ gst-launch-1.0 v4l2src device=/dev/video0 ! kmssink
+
The following example configures a direct conversion pipeline to capture
from the OV5640, transmitting on MIPI CSI-2 virtual channel 0. It also
shows colorspace conversion and scaling at IC output.
@@ -689,6 +711,29 @@ shows colorspace conversion and scaling at IC output.
Streaming can then begin on "ipu1_ic_prpenc capture" node.
+To determine what is the /dev/video node correspondent to
+"ipu1_ic_prpenc capture":
+
+.. code-block:: none
+
+ media-ctl -e "ipu1_ic_prpenc capture"
+ /dev/video1
+
+
+/dev/video1 is the streaming element in this case.
+
+Starting the streaming via v4l2-ctl:
+
+.. code-block:: none
+
+ v4l2-ctl --stream-mmap -d /dev/video1
+
+Starting the streaming via Gstreamer and sending the content to the display:
+
+.. code-block:: none
+
+ gst-launch-1.0 v4l2src device=/dev/video1 ! kmssink
+
Known Issues
------------
--
2.17.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v2 4/4] media: imx.rst: Provide streaming examples for imx6q-sabresd
2020-04-09 16:29 ` [PATCH v2 4/4] media: imx.rst: Provide streaming examples for imx6q-sabresd Fabio Estevam
@ 2020-04-09 17:09 ` Steve Longerbeam
0 siblings, 0 replies; 6+ messages in thread
From: Steve Longerbeam @ 2020-04-09 17:09 UTC (permalink / raw)
To: Fabio Estevam, hverkuil-cisco; +Cc: p.zabel, linux-media
On 4/9/20 9:29 AM, Fabio Estevam wrote:
> Improve the documentation by providing examples on how to test camera
> capture on imx6q-sabresd via v4l2-ctl and Gstreamer.
>
> Signed-off-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Steve Longerbeam<slongerbeam@gmail.com>
> ---
> Changes since v1:
> - Use media-ctl -e to determine the video node. (Steve)
>
> Documentation/media/v4l-drivers/imx.rst | 45 +++++++++++++++++++++++++
> 1 file changed, 45 insertions(+)
>
> diff --git a/Documentation/media/v4l-drivers/imx.rst b/Documentation/media/v4l-drivers/imx.rst
> index 955d27582e10..025f21def7dc 100644
> --- a/Documentation/media/v4l-drivers/imx.rst
> +++ b/Documentation/media/v4l-drivers/imx.rst
> @@ -664,6 +664,28 @@ Streaming can then begin on "ipu1_csi0 capture" node. The v4l2-ctl
> tool can be used to select any supported pixelformat on the capture
> device node.
>
> +To determine what is the /dev/video node correspondent to
> +"ipu1_csi0 capture":
> +
> +.. code-block:: none
> +
> + media-ctl -e "ipu1_csi0 capture"
> + /dev/video0
> +
> +/dev/video0 is the streaming element in this case.
> +
> +Starting the streaming via v4l2-ctl:
> +
> +.. code-block:: none
> +
> + v4l2-ctl --stream-mmap -d /dev/video0
> +
> +Starting the streaming via Gstreamer and sending the content to the display:
> +
> +.. code-block:: none
> +
> + gst-launch-1.0 v4l2src device=/dev/video0 ! kmssink
> +
> The following example configures a direct conversion pipeline to capture
> from the OV5640, transmitting on MIPI CSI-2 virtual channel 0. It also
> shows colorspace conversion and scaling at IC output.
> @@ -689,6 +711,29 @@ shows colorspace conversion and scaling at IC output.
>
> Streaming can then begin on "ipu1_ic_prpenc capture" node.
>
> +To determine what is the /dev/video node correspondent to
> +"ipu1_ic_prpenc capture":
> +
> +.. code-block:: none
> +
> + media-ctl -e "ipu1_ic_prpenc capture"
> + /dev/video1
> +
> +
> +/dev/video1 is the streaming element in this case.
> +
> +Starting the streaming via v4l2-ctl:
> +
> +.. code-block:: none
> +
> + v4l2-ctl --stream-mmap -d /dev/video1
> +
> +Starting the streaming via Gstreamer and sending the content to the display:
> +
> +.. code-block:: none
> +
> + gst-launch-1.0 v4l2src device=/dev/video1 ! kmssink
> +
> Known Issues
> ------------
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2 1/4] media: imx.rst: Fix the MIPI CSI-2 virtual channel
2020-04-09 16:29 [PATCH v2 1/4] media: imx.rst: Fix the MIPI CSI-2 virtual channel Fabio Estevam
` (2 preceding siblings ...)
2020-04-09 16:29 ` [PATCH v2 4/4] media: imx.rst: Provide streaming examples for imx6q-sabresd Fabio Estevam
@ 2020-04-09 16:45 ` Steve Longerbeam
3 siblings, 0 replies; 6+ messages in thread
From: Steve Longerbeam @ 2020-04-09 16:45 UTC (permalink / raw)
To: Fabio Estevam, hverkuil-cisco; +Cc: p.zabel, linux-media
On 4/9/20 9:29 AM, Fabio Estevam wrote:
> The current instructions for imx6q-sabresd do not lead to functional
> capture on OV5640 MIPI CSI-2.
>
> The reason for this, as explained by Steve Longerbeam, is that OV5640 by
> default transmits on virtual channel 0, not channel 1 as is given in the
> instructions.
>
> Adapt the instructions to use virtual channel 0 so that a working
> camera setup can be achieved on imx6q-sabresd.
>
> Also, since we are using an IC direct conversion pipeline, improve
> the example by demonstrating colorspace and scaling.
>
> Signed-off-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Steve Longerbeam<slongerbeam@gmail.com>
> ---
> Changes since v1:
> - Demonstrate colorspace and scaling. (Steve)
>
> Documentation/media/v4l-drivers/imx.rst | 31 ++++++++++++-------------
> 1 file changed, 15 insertions(+), 16 deletions(-)
>
> diff --git a/Documentation/media/v4l-drivers/imx.rst b/Documentation/media/v4l-drivers/imx.rst
> index 1246573c1019..b8df91f83f14 100644
> --- a/Documentation/media/v4l-drivers/imx.rst
> +++ b/Documentation/media/v4l-drivers/imx.rst
> @@ -645,30 +645,29 @@ 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 0. It also
> +shows colorspace conversion and scaling at IC output.
>
> .. 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 "'imx6-mipi-csi2':1 -> 'ipu1_csi0_mux':0[1]"
> + media-ctl -l "'ipu1_csi0_mux':2 -> 'ipu1_csi0':0[1]"
> + media-ctl -l "'ipu1_csi0':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]"
> # 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]"
> -
> -Streaming can then begin on "ipu1_ic_prpenc capture" node. The v4l2-ctl
> -tool can be used to select any supported YUV or RGB pixelformat on the
> -capture device node.
> -
> + media-ctl -V "'ov5640 1-003c':0 [fmt:UYVY2X8/640x480]"
> + media-ctl -V "'imx6-mipi-csi2':1 [fmt:UYVY2X8/640x480]"
> + media-ctl -V "'ipu1_csi0_mux':2 [fmt:UYVY2X8/640x480]"
> + media-ctl -V "'ipu1_csi0':1 [fmt:AYUV32/640x480]"
> + media-ctl -V "'ipu1_ic_prp':1 [fmt:AYUV32/640x480]"
> + media-ctl -V "'ipu1_ic_prpenc':1 [fmt:ARGB8888_1X32/800x600]"
> + # Set a format at the capture interface
> + v4l2-ctl -d /dev/video1 --set-fmt-video=pixelformat=RGB3
> +
> +Streaming can then begin on "ipu1_ic_prpenc capture" node.
>
> Known Issues
> ------------
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2020-04-09 17:09 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-04-09 16:29 [PATCH v2 1/4] media: imx.rst: Fix the MIPI CSI-2 virtual channel Fabio Estevam
2020-04-09 16:29 ` [PATCH v2 2/4] media: imx.rst: Provide an example for unprocessed video capture Fabio Estevam
2020-04-09 16:29 ` [PATCH v2 3/4] media: imx.rst: Provide the OV560 module part number Fabio Estevam
2020-04-09 16:29 ` [PATCH v2 4/4] media: imx.rst: Provide streaming examples for imx6q-sabresd Fabio Estevam
2020-04-09 17:09 ` Steve Longerbeam
2020-04-09 16:45 ` [PATCH v2 1/4] media: imx.rst: Fix the MIPI CSI-2 virtual channel Steve Longerbeam
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.