[v3,3/4] 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 sabrea
Signed-off-by: Fabio Estevam <festevam@gmail.com>
---
Changes since v2:
- Fix I2C and CSI mux numbering (Steve)
- Passed the v4l2-ctl configuration (Steve)
Documentation/media/v4l-drivers/imx.rst | 58 +++++++++++++++++++++++++
1 file changed, 58 insertions(+)
Comments
On 10/15/19 9:00 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 sabrea
>
> Signed-off-by: Fabio Estevam <festevam@gmail.com>
Acked-by: Steve Longerbeam<slongerbeam@gmail.com>
> ---
> Changes since v2:
> - Fix I2C and CSI mux numbering (Steve)
> - Passed the v4l2-ctl configuration (Steve)
>
> Documentation/media/v4l-drivers/imx.rst | 58 +++++++++++++++++++++++++
> 1 file changed, 58 insertions(+)
>
> diff --git a/Documentation/media/v4l-drivers/imx.rst b/Documentation/media/v4l-drivers/imx.rst
> index 36e8d1226ac6..aab68d8ef2c9 100644
> --- a/Documentation/media/v4l-drivers/imx.rst
> +++ b/Documentation/media/v4l-drivers/imx.rst
> @@ -572,6 +572,64 @@ 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/video0)
> + v4l2-ctl -d0 --set-fmt-video=field=interlaced_bt
> +
> +Streaming can then begin on /dev/video0. The v4l2-ctl tool can also be
> +used to select any supported YUV pixelformat on /dev/video0.
> +
> +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 4-0021':0 [fmt:UYVY2X8/720x576 field:seq-tb]"
> + media-ctl -V "'ipu1_csi0_mux':5 [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]"
> + # Configure "ipu1_ic_prpvf capture" interface (assumed at /dev/video2)
> + v4l2-ctl -d2 --set-fmt-video=field=none
> +
> +Streaming can then begin on /dev/video2. The v4l2-ctl tool can also be
> +used to select any supported YUV pixelformat on /dev/video2.
> +
> +This platform accepts Composite Video analog inputs to the ADV7180 on
> +Ain1 (connector J42).
> +
> SabreSD with MIPI CSI-2 OV5640
> ------------------------------
>
@@ -572,6 +572,64 @@ 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/video0)
+ v4l2-ctl -d0 --set-fmt-video=field=interlaced_bt
+
+Streaming can then begin on /dev/video0. The v4l2-ctl tool can also be
+used to select any supported YUV pixelformat on /dev/video0.
+
+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 4-0021':0 [fmt:UYVY2X8/720x576 field:seq-tb]"
+ media-ctl -V "'ipu1_csi0_mux':5 [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]"
+ # Configure "ipu1_ic_prpvf capture" interface (assumed at /dev/video2)
+ v4l2-ctl -d2 --set-fmt-video=field=none
+
+Streaming can then begin on /dev/video2. The v4l2-ctl tool can also be
+used to select any supported YUV pixelformat on /dev/video2.
+
+This platform accepts Composite Video analog inputs to the ADV7180 on
+Ain1 (connector J42).
+
SabreSD with MIPI CSI-2 OV5640
------------------------------