Re: i.MX53 using imx-media to capture analog video through ADV7180

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



[Adding Steve and Philipp in case they could provide some suggestions]

On Wed, Feb 14, 2018 at 1:21 PM, Matthew Starr <mstarr@xxxxxxxxxxxxx> wrote:
> I have successfully modified device tree files in the mainline 4.15.1 kernel to get a display product using the i.MX53 processor to initialize the imx-media drivers.  I think up to this point they have only been tested on i.MX6 processors.  I am using two ADV7180 analog capture chips, one per CSI port, on this display product.
>
> I have everything initialize successfully at boot, but I am unable to get the media-ctl command to link the ADV7180 devices to the CSI ports.  I used the following website as guidance of how to setup the links between media devices:
> https://linuxtv.org/downloads/v4l-dvb-apis/v4l-drivers/imx.html
>
> When trying to link the ADV7180 chip to a CSI port, I use the following command and get the result below:
>
>         media-ctl -v -l "'adv7180 1-0021':0->'ipu1_csi0':0[1]"
>
>         No link between "adv7180 1-0021":0 and "ipu1_csi0":0
>         media_parse_setup_link: Unable to parse link
>         Unable to parse link: Invalid argument (22)
>
> How do I get the ADV7180 and CSI port on the i.MX53 processor to link?
>
> The difference for the i.MX53 compared to the i.MX6 processor is that there is only one IPU and no mipi support, so my device tree does not use any video-mux or mux devices.  Could this have something to do with why I can't link the ADV7180 to the CSI port?
>
> Here is the output of the "media-ctl -p -v" command:
>
> Opening media device /dev/media0
> Enumerating entities
> looking up device: 81:10
> looking up device: 81:11
> looking up device: 81:12
> looking up device: 81:4
> looking up device: 81:13
> looking up device: 81:5
> looking up device: 81:14
> looking up device: 81:15
> looking up device: 81:16
> looking up device: 81:17
> looking up device: 81:6
> looking up device: 81:18
> looking up device: 81:7
> looking up device: 81:19
> looking up device: 81:20
> looking up device: 81:8
> looking up device: 81:21
> looking up device: 81:9
> Found 18 entities
> Enumerating pads and links
> Media controller API version 4.15.1
>
> Media device information
> ------------------------
> driver          imx-media
> model           imx-media
> serial
> bus info
> hw revision     0x0
> driver version  4.15.1
>
> Device topology
> - entity 1: adv7180 1-0021 (1 pad, 0 link)
>             type V4L2 subdev subtype Unknown flags 20004
>             device node name /dev/v4l-subdev0
>         pad0: Source
>                 [fmt:UYVY8_2X8/720x480 field:interlaced]
>
> - entity 3: adv7180 1-0020 (1 pad, 0 link)
>             type V4L2 subdev subtype Unknown flags 20004
>             device node name /dev/v4l-subdev1
>         pad0: Source
>                 [fmt:UYVY8_2X8/720x480 field:interlaced]
>
> - entity 5: ipu1_csi1 (3 pads, 3 links)
>             type V4L2 subdev subtype Unknown flags 0
>             device node name /dev/v4l-subdev2
>         pad0: Sink
>                 [fmt:UYVY8_2X8/640x480 field:none
>                  crop.bounds:(0,0)/640x480
>                  crop:(0,0)/640x480
>                  compose.bounds:(0,0)/640x480
>                  compose:(0,0)/640x480]
>         pad1: Source
>                 [fmt:AYUV8_1X32/640x480 field:none]
>                 -> "ipu1_ic_prp":0 []
>                 -> "ipu1_vdic":0 []
>         pad2: Source
>                 [fmt:AYUV8_1X32/640x480 field:none]
>                 -> "ipu1_csi1 capture":0 []
>
> - entity 9: ipu1_csi1 capture (1 pad, 1 link)
>             type Node subtype V4L flags 0
>             device node name /dev/video4
>         pad0: Sink
>                 <- "ipu1_csi1":2 []
>
> - entity 15: ipu1_csi0 (3 pads, 3 links)
>              type V4L2 subdev subtype Unknown flags 0
>              device node name /dev/v4l-subdev3
>         pad0: Sink
>                 [fmt:UYVY8_2X8/640x480 field:none
>                  crop.bounds:(0,0)/640x480
>                  crop:(0,0)/640x480
>                  compose.bounds:(0,0)/640x480
>                  compose:(0,0)/640x480]
>         pad1: Source
>                 [fmt:AYUV8_1X32/640x480 field:none]
>                 -> "ipu1_ic_prp":0 []
>                 -> "ipu1_vdic":0 [ENABLED]
>         pad2: Source
>                 [fmt:AYUV8_1X32/640x480 field:none]
>                 -> "ipu1_csi0 capture":0 []
>
> - entity 19: ipu1_csi0 capture (1 pad, 1 link)
>              type Node subtype V4L flags 0
>              device node name /dev/video5
>         pad0: Sink
>                 <- "ipu1_csi0":2 []
>
> - entity 25: ipu1_ic_prp (3 pads, 5 links)
>              type V4L2 subdev subtype Unknown flags 0
>              device node name /dev/v4l-subdev4
>         pad0: Sink
>                 [fmt:AYUV8_1X32/640x480 field:none]
>                 <- "ipu1_csi1":1 []
>                 <- "ipu1_csi0":1 []
>                 <- "ipu1_vdic":2 [ENABLED]
>         pad1: Source
>                 [fmt:AYUV8_1X32/640x480 field:none]
>                 -> "ipu1_ic_prpenc":0 []
>         pad2: Source
>                 [fmt:AYUV8_1X32/640x480 field:none]
>                 -> "ipu1_ic_prpvf":0 [ENABLED]
>
> - entity 29: ipu1_vdic (3 pads, 3 links)
>              type V4L2 subdev subtype Unknown flags 0
>              device node name /dev/v4l-subdev5
>         pad0: Sink
>                 [fmt:AYUV8_1X32/640x480 field:none]
>                 <- "ipu1_csi1":1 []
>                 <- "ipu1_csi0":1 [ENABLED]
>         pad1: Sink
>                 [fmt:UYVY8_2X8/640x480 field:none]
>         pad2: Source
>                 [fmt:AYUV8_1X32/640x480 field:none]
>                 -> "ipu1_ic_prp":0 [ENABLED]
>
> - entity 33: ipu2_vdic (3 pads, 1 link)
>              type V4L2 subdev subtype Unknown flags 0
>              device node name /dev/v4l-subdev6
>         pad0: Sink
>                 [fmt:AYUV8_1X32/640x480 field:none]
>         pad1: Sink
>                 [fmt:UYVY8_2X8/640x480 field:none]
>         pad2: Source
>                 [fmt:AYUV8_1X32/640x480 field:none]
>                 -> "ipu2_ic_prp":0 []
>
> - entity 37: ipu1_ic_prpenc (2 pads, 2 links)
>              type V4L2 subdev subtype Unknown flags 0
>              device node name /dev/v4l-subdev7
>         pad0: Sink
>                 [fmt:AYUV8_1X32/640x480 field:none]
>                 <- "ipu1_ic_prp":1 []
>         pad1: Source
>                 [fmt:AYUV8_1X32/640x480 field:none]
>                 -> "ipu1_ic_prpenc capture":0 []
>
> - entity 40: ipu1_ic_prpenc capture (1 pad, 1 link)
>              type Node subtype V4L flags 0
>              device node name /dev/video6
>         pad0: Sink
>                 <- "ipu1_ic_prpenc":1 []
>
> - entity 46: ipu1_ic_prpvf (2 pads, 2 links)
>              type V4L2 subdev subtype Unknown flags 0
>              device node name /dev/v4l-subdev8
>         pad0: Sink
>                 [fmt:AYUV8_1X32/640x480 field:none]
>                 <- "ipu1_ic_prp":2 [ENABLED]
>         pad1: Source
>                 [fmt:AYUV8_1X32/640x480 field:none]
>                 -> "ipu1_ic_prpvf capture":0 [ENABLED]
>
> - entity 49: ipu1_ic_prpvf capture (1 pad, 1 link)
>              type Node subtype V4L flags 0
>              device node name /dev/video7
>         pad0: Sink
>                 <- "ipu1_ic_prpvf":1 [ENABLED]
>
> - entity 55: ipu2_ic_prp (3 pads, 3 links)
>              type V4L2 subdev subtype Unknown flags 0
>              device node name /dev/v4l-subdev9
>         pad0: Sink
>                 [fmt:AYUV8_1X32/640x480 field:none]
>                 <- "ipu2_vdic":2 []
>         pad1: Source
>                 [fmt:AYUV8_1X32/640x480 field:none]
>                 -> "ipu2_ic_prpenc":0 []
>         pad2: Source
>                 [fmt:AYUV8_1X32/640x480 field:none]
>                 -> "ipu2_ic_prpvf":0 []
>
> - entity 59: ipu2_ic_prpenc (2 pads, 2 links)
>              type V4L2 subdev subtype Unknown flags 0
>              device node name /dev/v4l-subdev10
>         pad0: Sink
>                 [fmt:AYUV8_1X32/640x480 field:none]
>                 <- "ipu2_ic_prp":1 []
>         pad1: Source
>                 [fmt:AYUV8_1X32/640x480 field:none]
>                 -> "ipu2_ic_prpenc capture":0 []
>
> - entity 62: ipu2_ic_prpenc capture (1 pad, 1 link)
>              type Node subtype V4L flags 0
>              device node name /dev/video8
>         pad0: Sink
>                 <- "ipu2_ic_prpenc":1 []
>
> - entity 68: ipu2_ic_prpvf (2 pads, 2 links)
>              type V4L2 subdev subtype Unknown flags 0
>              device node name /dev/v4l-subdev11
>         pad0: Sink
>                 [fmt:AYUV8_1X32/640x480 field:none]
>                 <- "ipu2_ic_prp":2 []
>         pad1: Source
>                 [fmt:AYUV8_1X32/640x480 field:none]
>                 -> "ipu2_ic_prpvf capture":0 []
>
> - entity 71: ipu2_ic_prpvf capture (1 pad, 1 link)
>              type Node subtype V4L flags 0
>              device node name /dev/video9
>         pad0: Sink
>                 <- "ipu2_ic_prpvf":1 []
>
>
> Best regards,
>
> Matthew Starr




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux