[v2,3/3] media: imx.rst: Provide instructions for the i.MX6DL sabreauto
Commit Message
The i.MX6DL sabreauto has different numbering on the I2C bus and
I2C muxes compared to the i.MX6Q as shown in the kernel log below:
[ 5.159423] imx-media: ipu1_csi0_mux:5 -> ipu1_csi0:0
[ 5.164618] imx-media: ipu1_csi1_mux:5 -> ipu1_csi1:0
[ 5.169953] imx-media: adv7180 4-0021:0 -> ipu1_csi0_mux:4
To avoid confusion, add an entry that shows how to setup the links and
configure the pads that are specific to the i.MX6DL sabreauto.
Signed-off-by: Fabio Estevam <festevam@gmail.com>
---
Changes since v1:
- Add a new entry for the mx6dl sabreauto
Documentation/media/v4l-drivers/imx.rst | 57 +++++++++++++++++++++++++
1 file changed, 57 insertions(+)
Comments
Hi Fabio,
On 10/14/19 6:54 AM, Fabio Estevam wrote:
> The i.MX6DL sabreauto has different numbering on the I2C bus and
> I2C muxes compared to the i.MX6Q as shown in the kernel log below:
>
> [ 5.159423] imx-media: ipu1_csi0_mux:5 -> ipu1_csi0:0
> [ 5.164618] imx-media: ipu1_csi1_mux:5 -> ipu1_csi1:0
> [ 5.169953] imx-media: adv7180 4-0021:0 -> ipu1_csi0_mux:4
>
> To avoid confusion, add an entry that shows how to setup the links and
> configure the pads that are specific to the i.MX6DL sabreauto.
>
> Signed-off-by: Fabio Estevam <festevam@gmail.com>
> ---
> Changes since v1:
> - Add a new entry for the mx6dl sabreauto
>
> Documentation/media/v4l-drivers/imx.rst | 57 +++++++++++++++++++++++++
> 1 file changed, 57 insertions(+)
>
> diff --git a/Documentation/media/v4l-drivers/imx.rst b/Documentation/media/v4l-drivers/imx.rst
> index 36e8d1226ac6..6a9dad8b050b 100644
> --- a/Documentation/media/v4l-drivers/imx.rst
> +++ b/Documentation/media/v4l-drivers/imx.rst
> @@ -572,6 +572,63 @@ supported YUV or RGB pixelformat on the capture device node.
> This platform accepts Composite Video analog inputs to the ADV7180 on
> Ain1 (connector J42).
>
> +i.MX6DL SabreAuto with ADV7180 decoder
> +--------------------------------------
> +
> +On the i.MX6DL SabreAuto, an on-board ADV7180 SD decoder is connected to the
> +parallel bus input on the internal video mux to IPU1 CSI0.
> +
> +The following example configures a pipeline to capture from the ADV7180
> +video decoder, assuming NTSC 720x480 input signals, using simple
> +interweave (unconverted and without motion compensation). The adv7180
> +must output sequential or alternating fields (field type 'seq-bt' for
> +NTSC, or 'alternate'):
> +
> +.. code-block:: none
> +
> + # Setup links
> + media-ctl -l "'adv7180 4-0021':0 -> 'ipu1_csi0_mux':4[1]"
> + media-ctl -l "'ipu1_csi0_mux':5 -> 'ipu1_csi0':0[1]"
> + media-ctl -l "'ipu1_csi0':2 -> 'ipu1_csi0 capture':0[1]"
> + # Configure pads
> + media-ctl -V "'adv7180 4-0021':0 [fmt:UYVY2X8/720x480 field:seq-bt]"
> + media-ctl -V "'ipu1_csi0_mux':5 [fmt:UYVY2X8/720x480]"
> + media-ctl -V "'ipu1_csi0':2 [fmt:AYUV32/720x480]"
> + # Configure "ipu1_csi0 capture" interface (assumed at /dev/video4)
> + v4l2-ctl -d4 --set-fmt-video=field=interlaced_bt
> +
> +Streaming can then begin on /dev/video4. The v4l2-ctl tool can also be
> +used to select any supported YUV pixelformat on /dev/video4.
> +
> +This example configures a pipeline to capture from the ADV7180
> +video decoder, assuming PAL 720x576 input signals, with Motion
> +Compensated de-interlacing. The adv7180 must output sequential or
> +alternating fields (field type 'seq-tb' for PAL, or 'alternate').
> +
> +.. code-block:: none
> +
> + # Setup links
> + media-ctl -l "'adv7180 4-0021':0 -> 'ipu1_csi0_mux':4[1]"
> + media-ctl -l "'ipu1_csi0_mux':5 -> 'ipu1_csi0':0[1]"
> + media-ctl -l "'ipu1_csi0':1 -> 'ipu1_vdic':0[1]"
> + media-ctl -l "'ipu1_vdic':2 -> 'ipu1_ic_prp':0[1]"
> + media-ctl -l "'ipu1_ic_prp':2 -> 'ipu1_ic_prpvf':0[1]"
> + media-ctl -l "'ipu1_ic_prpvf':1 -> 'ipu1_ic_prpvf capture':0[1]"
> + # Configure pads
> + media-ctl -V "'adv7180 3-0021':0 [fmt:UYVY2X8/720x576 field:seq-tb]"
should be "'adv7180 4-0021:0".
> + media-ctl -V "'ipu1_csi0_mux':2 [fmt:UYVY2X8/720x576]"
should be "'ipu1_csi0_mux':5".
> + media-ctl -V "'ipu1_csi0':1 [fmt:AYUV32/720x576]"
> + media-ctl -V "'ipu1_vdic':2 [fmt:AYUV32/720x576 field:none]"
> + media-ctl -V "'ipu1_ic_prp':2 [fmt:AYUV32/720x576 field:none]"
> + media-ctl -V "'ipu1_ic_prpvf':1 [fmt:AYUV32/720x576 field:none]"
Please add (after above line):
# Configure "ipu1_ic_prpvf capture" interface (assumed at /dev/video1)
v4l2-ctl -d1 --set-fmt-video=field=none
> +
> +Streaming can then begin on the capture device node at
> +"ipu1_ic_prpvf capture". The v4l2-ctl tool can be used to select any
> +supported YUV or RGB pixelformat on the capture device node.
> +
Please replace above paragraph with:
Streaming can then begin on /dev/video1. The v4l2-ctl tool can also be
used to select any supported YUV pixelformat on /dev/video1.
If you don't mind while you are on this, can you please add this
v4l2-ctl step to the i.MX6Q PAL example, it is missing there as well.
Steve
> +This platform accepts Composite Video analog inputs to the ADV7180 on
> +Ain1 (connector J42).
> +
> SabreSD with MIPI CSI-2 OV5640
> ------------------------------
>
Hi Steve,
On Mon, Oct 14, 2019 at 2:20 PM Steve Longerbeam <slongerbeam@gmail.com> wrote:
> should be "'adv7180 4-0021:0".
Will fix it.
> should be "'ipu1_csi0_mux':5".
Will fix it.
> > + media-ctl -V "'ipu1_csi0':1 [fmt:AYUV32/720x576]"
> > + media-ctl -V "'ipu1_vdic':2 [fmt:AYUV32/720x576 field:none]"
> > + media-ctl -V "'ipu1_ic_prp':2 [fmt:AYUV32/720x576 field:none]"
> > + media-ctl -V "'ipu1_ic_prpvf':1 [fmt:AYUV32/720x576 field:none]"
>
> Please add (after above line):
>
> # Configure "ipu1_ic_prpvf capture" interface (assumed at /dev/video1)
> v4l2-ctl -d1 --set-fmt-video=field=none
Will add it and will change it to /dev/video2, which is the correct
interface on imx6dl-sabreuto.
> If you don't mind while you are on this, can you please add this
> v4l2-ctl step to the i.MX6Q PAL example, it is missing there as well.
Yes, I can add it.
What is the video device node for "ipu1_ic_prpvf capture" on the imx6q
sabreauto?
Thanks
On Tue, Oct 15, 2019 at 11:27 AM Fabio Estevam <festevam@gmail.com> wrote:
> Yes, I can add it.
>
> What is the video device node for "ipu1_ic_prpvf capture" on the imx6q
> sabreauto?
I managed to get access to a imx6q-sabreauto and it's /dev/video2.
Will send a new patch series soon.
Thanks
@@ -572,6 +572,63 @@ supported YUV or RGB pixelformat on the capture device node.
This platform accepts Composite Video analog inputs to the ADV7180 on
Ain1 (connector J42).
+i.MX6DL SabreAuto with ADV7180 decoder
+--------------------------------------
+
+On the i.MX6DL SabreAuto, an on-board ADV7180 SD decoder is connected to the
+parallel bus input on the internal video mux to IPU1 CSI0.
+
+The following example configures a pipeline to capture from the ADV7180
+video decoder, assuming NTSC 720x480 input signals, using simple
+interweave (unconverted and without motion compensation). The adv7180
+must output sequential or alternating fields (field type 'seq-bt' for
+NTSC, or 'alternate'):
+
+.. code-block:: none
+
+ # Setup links
+ media-ctl -l "'adv7180 4-0021':0 -> 'ipu1_csi0_mux':4[1]"
+ media-ctl -l "'ipu1_csi0_mux':5 -> 'ipu1_csi0':0[1]"
+ media-ctl -l "'ipu1_csi0':2 -> 'ipu1_csi0 capture':0[1]"
+ # Configure pads
+ media-ctl -V "'adv7180 4-0021':0 [fmt:UYVY2X8/720x480 field:seq-bt]"
+ media-ctl -V "'ipu1_csi0_mux':5 [fmt:UYVY2X8/720x480]"
+ media-ctl -V "'ipu1_csi0':2 [fmt:AYUV32/720x480]"
+ # Configure "ipu1_csi0 capture" interface (assumed at /dev/video4)
+ v4l2-ctl -d4 --set-fmt-video=field=interlaced_bt
+
+Streaming can then begin on /dev/video4. The v4l2-ctl tool can also be
+used to select any supported YUV pixelformat on /dev/video4.
+
+This example configures a pipeline to capture from the ADV7180
+video decoder, assuming PAL 720x576 input signals, with Motion
+Compensated de-interlacing. The adv7180 must output sequential or
+alternating fields (field type 'seq-tb' for PAL, or 'alternate').
+
+.. code-block:: none
+
+ # Setup links
+ media-ctl -l "'adv7180 4-0021':0 -> 'ipu1_csi0_mux':4[1]"
+ media-ctl -l "'ipu1_csi0_mux':5 -> 'ipu1_csi0':0[1]"
+ media-ctl -l "'ipu1_csi0':1 -> 'ipu1_vdic':0[1]"
+ media-ctl -l "'ipu1_vdic':2 -> 'ipu1_ic_prp':0[1]"
+ media-ctl -l "'ipu1_ic_prp':2 -> 'ipu1_ic_prpvf':0[1]"
+ media-ctl -l "'ipu1_ic_prpvf':1 -> 'ipu1_ic_prpvf capture':0[1]"
+ # Configure pads
+ media-ctl -V "'adv7180 3-0021':0 [fmt:UYVY2X8/720x576 field:seq-tb]"
+ media-ctl -V "'ipu1_csi0_mux':2 [fmt:UYVY2X8/720x576]"
+ media-ctl -V "'ipu1_csi0':1 [fmt:AYUV32/720x576]"
+ media-ctl -V "'ipu1_vdic':2 [fmt:AYUV32/720x576 field:none]"
+ media-ctl -V "'ipu1_ic_prp':2 [fmt:AYUV32/720x576 field:none]"
+ media-ctl -V "'ipu1_ic_prpvf':1 [fmt:AYUV32/720x576 field:none]"
+
+Streaming can then begin on the capture device node at
+"ipu1_ic_prpvf capture". The v4l2-ctl tool can be used to select any
+supported YUV or RGB pixelformat on the capture device node.
+
+This platform accepts Composite Video analog inputs to the ADV7180 on
+Ain1 (connector J42).
+
SabreSD with MIPI CSI-2 OV5640
------------------------------